coupon->getPreOrder()->orderGoods->filter( function ($orderGoods) { /** * @var $orderGoods PreOrderGoods */ trace_log()->coupon("优惠券{$this->coupon->getMemberCoupon()->id}","商品id{$orderGoods->goods_id},优惠券支持品商品id{$this->coupon->getMemberCoupon()->belongsToCoupon->goods_ids}"); return in_array($orderGoods->goods_id, $this->coupon->getMemberCoupon()->belongsToCoupon->goods_ids); }); if ($orderGoods->unique('is_plugin')->count() > 1) { throw new AppException('自营商品与第三方商品不能共用一张优惠券'); } return $orderGoods; } }