WIN-2308041133\Administrator 4 月之前
父節點
當前提交
b9e7ae82ae

+ 10 - 2
app/common/repositories/store/order/StoreOrderCreateRepository.php

@@ -121,7 +121,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
                 $deliveryStatus = false;
             }
             $product_cart = [];
-
+            $gift_product = 0;
             foreach ($merchantCart['list'] as $k => $cart) {
 //                判断是否同时存在普通商品,节能油商品和礼包商品
                 if ($cart['productAttr']['product']['is_oil']==1){
@@ -140,7 +140,15 @@ class StoreOrderCreateRepository extends StoreOrderRepository
                 if ($jny&&$lb){
                     throw new ValidateException('不能同时购买节能油商品和礼包商品');
                 }
-
+                if ($lb){
+                    if ($gift_product>0){
+                        if ($cart['product_id']!= $gift_product){
+                            throw new ValidateException('不同的礼包商品不能混合购买');
+                        }
+                    }else{
+                        $gift_product = $cart['product_id'];
+                    }
+                }
 
                 $productTaks = $_merTake;
                 $productDelivery = $_merDelivery;

+ 9 - 0
app/controller/api/store/order/StoreOrder.php

@@ -59,6 +59,10 @@ class StoreOrder extends BaseController
         $useIntegral = (bool)$this->request->param('use_integral', false);
         $user = $this->request->userInfo();
         $uid = $user->uid;
+        $spread_uid = $user->spread_uid;
+        if ($spread_uid<=0){
+            return app('json')->fail('没有推荐人无法下单');
+        }
         if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid)))
             return app('json')->fail('数据无效');
         $orderInfo = $orderCreateRepository->v2CartIdByOrderInfo($user, $cartId, $takes, $couponIds, $useIntegral, $addressId);
@@ -94,6 +98,11 @@ class StoreOrder extends BaseController
         }
 
         $uid = $this->request->uid();
+        $user = $this->request->userInfo();
+        $spread_uid = $user->spread_uid;
+        if ($spread_uid<=0){
+            return app('json')->fail('没有推荐人无法下单');
+        }
         if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid)))
             return app('json')->fail('已生成订单,请勿重复提交~');
         $groupOrder = app()->make(LockService::class)->exec('order.create', function () use ($key, $orderCreateRepository, $receipt_data, $mark, $extend, $cartId, $payType, $takes, $couponIds, $useIntegral, $addressId, $post) {