Merge branch 'dev' of https://gitea.lihaink.cn/mkm/shop-new into dev
This commit is contained in:
commit
328cf93b81
@ -87,6 +87,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
|
||||
$merId = $user->getMerId();
|
||||
// 循环计算每个店铺的订单数据
|
||||
foreach ($merchantCartList as &$merchantCart) {
|
||||
$isPlatformCard = $this->checkBuyLimit($merchantCart['list'], $uid);
|
||||
//用户关联了商户id且下单店铺支持批发
|
||||
$isWholeSale = StoreOrder::isWholesale($merchantCart['wholesale'], $merId, $this->saleType);
|
||||
$postageRule = [];
|
||||
@ -112,28 +113,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository
|
||||
}
|
||||
$product_cart = [];
|
||||
|
||||
//大礼包限购
|
||||
$isPlatformCard = $merchantCart['list'][0]['product']->isPlatformCard();
|
||||
if ($isPlatformCard) {
|
||||
$merchantTypeId = Merchant::where('uid', $uid)->value('type_id');
|
||||
if (empty($merchantTypeId) || $merchantTypeId != 21) {
|
||||
throw new ValidateException('大礼包仅限种养殖户购买');
|
||||
}
|
||||
//平台购物卡仅能购买一次
|
||||
$productIds = ProductCate::where('mer_cate_id', env('PLATFORM_CARD_CATE_ID'))->column('product_id');
|
||||
$orderRecord = StoreOrder::alias('t1')
|
||||
->leftJoin('store_order_product t2', 't1.order_id = t2.order_id')
|
||||
->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('大礼包仅能购买一次');
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($merchantCart['list'] as $k => $cart) {
|
||||
if ($isWholeSale) {
|
||||
$merchantCart['list'][$k]['productAttr']['price'] = $cart['productAttr']['wholesale_price'];
|
||||
@ -182,7 +161,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository
|
||||
if ($presellType == 2)
|
||||
$down_price = bcadd($down_price, bcmul($cart['cart_num'], $cart['productPresellAttr']['down_price'], 2), 2);
|
||||
}
|
||||
if ($cart['product']['type'] == 1 && $isPlatformCard) {
|
||||
//商品中包含了大礼包,不允许使用优惠券
|
||||
if ($isPlatformCard) {
|
||||
$enabledPlatformCoupon = false;
|
||||
$enabledCoupon = false;
|
||||
}
|
||||
@ -1523,6 +1503,44 @@ class StoreOrderCreateRepository extends StoreOrderRepository
|
||||
}
|
||||
unset($merchantCart, $cart);
|
||||
}
|
||||
|
||||
/**
|
||||
* 大礼包限购校验
|
||||
* @param $carts
|
||||
* @param $uid
|
||||
* @return bool
|
||||
*/
|
||||
public function checkBuyLimit($carts, $uid)
|
||||
{
|
||||
$hasPlatformCard = false;
|
||||
foreach ($carts as $cart) {
|
||||
if ($cart['product']->isPlatformCard() && !$hasPlatformCard) {
|
||||
$hasPlatformCard = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($hasPlatformCard) {
|
||||
$merchantTypeId = Merchant::where('uid', $uid)->value('type_id');
|
||||
if (empty($merchantTypeId) || $merchantTypeId != 21) {
|
||||
throw new ValidateException('大礼包仅限种养殖户购买');
|
||||
}
|
||||
//平台购物卡仅能购买一次
|
||||
$productIds = ProductCate::where('mer_cate_id', env('PLATFORM_CARD_CATE_ID'))->column('product_id');
|
||||
$orderRecord = StoreOrder::alias('t1')
|
||||
->leftJoin('store_order_product t2', 't1.order_id = t2.order_id')
|
||||
->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('大礼包仅能购买一次');
|
||||
}
|
||||
}
|
||||
return $hasPlatformCard;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user