diff --git a/app/controller/api/store/order/StoreCart.php b/app/controller/api/store/order/StoreCart.php index 6a2323cf..4c4718f0 100644 --- a/app/controller/api/store/order/StoreCart.php +++ b/app/controller/api/store/order/StoreCart.php @@ -104,9 +104,9 @@ class StoreCart extends BaseController break; case 99: //小组代购 $result = app()->make(ProductRepository::class)->cartCheck($data,$this->request->userInfo()); - $data['source'] = $data['product_type']; - $data['source_id'] = $data['group_buying_id']; - $data['product_id'] = $result['product']['product_id']; + [$source, $sourceId, $pid] = explode(':', $this->request->param('source', '0'), 3) + ['', '', '']; + $data['source'] = (in_array($source, [0, 1]) && $pid == $data['product_id']) ? $source : 0; + if ($data['source'] > 0) $data['source_id'] = intval($sourceId); break; } diff --git a/app/controller/api/store/order/StoreCartDg.php b/app/controller/api/store/order/StoreCartDg.php index 32c55232..3d12923d 100644 --- a/app/controller/api/store/order/StoreCartDg.php +++ b/app/controller/api/store/order/StoreCartDg.php @@ -70,7 +70,6 @@ class StoreCartDg extends BaseController public function create(validate $validate) { $data = $this->checkParams($validate); - if(!in_array($data['product_type'],[0,1,2,3,4,99])) return app('json')->fail('商品类型错误'); if ($data['cart_num'] <= 0) return app('json')->fail('购买数量有误'); $user = $this->request->userInfo(); @@ -107,14 +106,13 @@ class StoreCartDg extends BaseController break; case 99: //小组代购 $result = app()->make(ProductDgRepository::class)->cartCheck($data,$this->request->userInfo()); - $data['source'] = $data['product_type']; - $data['source_id'] = $data['group_buying_id']; - $data['product_id'] = $result['product']['product_id']; + [$source, $sourceId, $pid] = explode(':', $this->request->param('source', '0'), 3) + ['', '', '']; + $data['source'] = (in_array($source, [0, 1]) && $pid == $data['product_id']) ? $source : 0; + if ($data['source'] > 0) $data['source_id'] = intval($sourceId); break; } - + unset($data['group_buying_id']); - if ($cart = $result['cart']) { //更新购物车 $cart_id = $cart['cart_id'];