This commit is contained in:
liu 2024-03-19 10:26:31 +08:00
commit c034e0ca26

View File

@ -4,8 +4,9 @@ namespace app\common\repositories\store\order;
use app\common\dao\store\coupon\StoreCouponUserDao; use app\common\dao\store\coupon\StoreCouponUserDao;
use app\common\Enum; use app\common\Enum;
use app\common\model\store\coupon\StoreCoupon;
use app\common\model\store\coupon\StoreCouponUser;
use app\common\model\store\order\StoreOrder; use app\common\model\store\order\StoreOrder;
use app\common\model\store\product\ProductCate;
use app\common\model\store\product\Spu; use app\common\model\store\product\Spu;
use app\common\model\system\merchant\Merchant; use app\common\model\system\merchant\Merchant;
use app\common\repositories\system\form\FormRepository; use app\common\repositories\system\form\FormRepository;
@ -1514,7 +1515,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
{ {
$hasPlatformCard = false; $hasPlatformCard = false;
foreach ($carts as $cart) { foreach ($carts as $cart) {
if ($cart['product']->isPlatformCard() && !$hasPlatformCard) { if ($cart['product']->isPlatformCard()) {
$hasPlatformCard = true; $hasPlatformCard = true;
break; break;
} }
@ -1525,16 +1526,9 @@ class StoreOrderCreateRepository extends StoreOrderRepository
throw new ValidateException('大礼包仅限种养殖户购买'); throw new ValidateException('大礼包仅限种养殖户购买');
} }
//平台购物卡仅能购买一次 //平台购物卡仅能购买一次
$productIds = ProductCate::where('mer_cate_id', env('PLATFORM_CARD_CATE_ID'))->column('product_id'); $couponId = StoreCoupon::where('type', StoreCouponRepository::TYPE_PLATFORM_CARD)->value('coupon_id');
$orderRecord = StoreOrder::alias('t1') $userCoupon = StoreCouponUser::where('coupon_id', $couponId)->where('uid', $uid)->value('coupon_user_id');
->leftJoin('store_order_product t2', 't1.order_id = t2.order_id') if ($userCoupon > 0) {
->whereIn('product_id', $productIds)
->where('t1.uid', $uid)
->where('is_del', 0)
->where('is_system_del', 0)
->where('status', '<>', Enum::STATUS_REFUNDED)
->count();
if ($orderRecord > 0) {
throw new ValidateException('大礼包仅能购买一次'); throw new ValidateException('大礼包仅能购买一次');
} }
} }