Kirin 3 роки тому
батько
коміт
6cbd3fbca6

+ 1 - 1
app/api/controller/order/StoreOrderController.php

@@ -51,7 +51,7 @@ class StoreOrderController
         if (!is_string($cartId) || !$cartId) return app('json')->fail('请提交购买的商品');
         if (!is_string($cartId) || !$cartId) return app('json')->fail('请提交购买的商品');
         $uid = $request->uid();
         $uid = $request->uid();
         $user = User::getUserinfo($uid);
         $user = User::getUserinfo($uid);
-        $cartGroup = StoreCart::getUserProductCartList($uid, $cartId, 1, $request->store_id());
+        $cartGroup = StoreCart::getUserProductCartList($uid, $cartId, 1, $request->store_id(),true);
         if (!$cartGroup) return app('json')->fail(StoreCart::getErrorInfo());
         if (!$cartGroup) return app('json')->fail(StoreCart::getErrorInfo());
         if ($cartGroup['only_store_user'] && !$user['admin_id']) return app('json')->fail('非门店用户不可采购');
         if ($cartGroup['only_store_user'] && !$user['admin_id']) return app('json')->fail('非门店用户不可采购');
         if (count($cartGroup['invalid'])) return app('json')->fail($cartGroup['invalid'][0]['productInfo']['store_name'] . '已失效!');
         if (count($cartGroup['invalid'])) return app('json')->fail($cartGroup['invalid'][0]['productInfo']['store_name'] . '已失效!');

+ 4 - 1
app/models/store/StoreCart.php

@@ -180,7 +180,7 @@ class StoreCart extends BaseModel
         return self::where('uid', $uid)->where('id', $cartId)->update(['cart_num' => $cartNum]);
         return self::where('uid', $uid)->where('id', $cartId)->update(['cart_num' => $cartNum]);
     }
     }
 
 
-    public static function getUserProductCartList($uid, $cartIds = '', $status = 0, $store_id = 0)
+    public static function getUserProductCartList($uid, $cartIds = '', $status = 0, $store_id = 0, $confirm = false)
     {
     {
         $productInfoField = 'id,image,price,ot_price,vip_price,postage,give_integral,sales,stock,store_name,unit_name,is_show,is_del,is_postage,cost,is_sub,temp_id,store_type,give_coupon,only_store_user';
         $productInfoField = 'id,image,price,ot_price,vip_price,postage,give_integral,sales,stock,store_name,unit_name,is_show,is_del,is_postage,cost,is_sub,temp_id,store_type,give_coupon,only_store_user';
         $seckillInfoField = 'id,image,price,ot_price,postage,give_integral,sales,stock,title as store_name,unit_name,is_show,is_del,is_postage,cost,temp_id,weight,volume,start_time,stop_time,time_id';
         $seckillInfoField = 'id,image,price,ot_price,postage,give_integral,sales,stock,title as store_name,unit_name,is_show,is_del,is_postage,cost,temp_id,weight,volume,start_time,stop_time,time_id';
@@ -310,6 +310,9 @@ class StoreCart extends BaseModel
             }
             }
         }
         }
         foreach ($valid as $k => $cart) {
         foreach ($valid as $k => $cart) {
+            if ($only_store_user && !($cart['productInfo']['only_store_user'] ?? 0) && $confirm) {
+                return self::setErrorInfo('采购商品不可和其他商品一起结算');
+            }
             if ($cart['trueStock'] < $cart['cart_num']) {
             if ($cart['trueStock'] < $cart['cart_num']) {
                 $cart['cart_num'] = $cart['trueStock'];
                 $cart['cart_num'] = $cart['trueStock'];
                 $model->where('id', $cart['id'])->update(['cart_num' => $cart['cart_num']]);
                 $model->where('id', $cart['id'])->update(['cart_num' => $cart['cart_num']]);