From cca85a62b4ff98d33f9a0148070840e54c76cfcb Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Mon, 17 Apr 2023 16:43:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/store/order/StoreMicropayOrder.php | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/app/controller/api/store/order/StoreMicropayOrder.php b/app/controller/api/store/order/StoreMicropayOrder.php index 6d0b015d..6c3dd4bc 100644 --- a/app/controller/api/store/order/StoreMicropayOrder.php +++ b/app/controller/api/store/order/StoreMicropayOrder.php @@ -14,6 +14,8 @@ namespace app\controller\api\store\order; +use app\common\repositories\store\order\PresellOrderRepository; +use app\common\repositories\store\order\StoreGroupOrderRepository; use app\common\repositories\store\order\StoreOrderCreateRepository; use app\common\repositories\store\product\ProductRepository; use crmeb\basic\BaseController; @@ -45,7 +47,11 @@ class StoreMicropayOrder extends BaseController } public function addCart(){ $bar_code = $this->request->param('bar_code', 0); - $mer_id = $this->request->param('mer_id', 0); +// $mer_id = $this->request->param('mer_id', 0); + $user = $this->request->userInfo(); + + $mer_id =Db::name('store_service')->where('uid',$user['uid'])->where('status',1)->value('mer_id'); + if ($mer_id==0) return app('json')->fail('商户id不能为空'); if (strlen($bar_code)==1) return app('json')->fail('条形码不能为空'); $find=Db::name('store_product_attr_value')->where('mer_id',$mer_id)->where('bar_code', $bar_code)->find(); @@ -58,7 +64,6 @@ class StoreMicropayOrder extends BaseController 'product_id'=>$find['product_id'], 'spread_id'=>'', ]; - $user = $this->request->userInfo(); event('user.cart.before',compact('user','data')); switch ($data['product_type']) { @@ -92,7 +97,7 @@ class StoreMicropayOrder extends BaseController public function v2CreateOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository) { $cartId = (array)$this->request->param('cart_id', []); - $mer_id = $this->request->param('mer_id', 0); +// $mer_id = $this->request->param('mer_id', 0); $post=[]; $couponIds=[]; $takes=[]; @@ -102,11 +107,12 @@ class StoreMicropayOrder extends BaseController $mark = []; $payType = 'routine'; $source = 2; // 默认来源为2 普通商品订单 + $product_type = 100;// $uid = $this->request->uid(); + $mer_id =Db::name('store_service')->where('uid',$uid)->where('status',1)->value('mer_id'); if (!$mer_id&&$mer_id!=0){ return app('json')->fail('商户id不能为空'); } - $addressId=Db::name('user_address')->where('uid',$uid)->find(); $merchant=Db::name('merchant')->where('mer_id',$mer_id)->find(); if (!$addressId){ @@ -114,6 +120,9 @@ class StoreMicropayOrder extends BaseController if (!$merchant_address){ return app('json')->fail('商户地址不存在'); } + if ($merchant_address['area_id']==0||$merchant_address['street_id']==0||$merchant_address['village_id']==0){ + return app('json')->fail('商户地址不完整'); + } $area_name=Db::name('geo_area')->where('area_code',$merchant_address['area_id'])->value('area_name'); $street_name=Db::name('geo_street')->where('street_code',$merchant_address['street_id'])->value('street_name'); $district_id=Db::name('city_area')->where('name',$area_name)->value('id'); @@ -146,8 +155,8 @@ class StoreMicropayOrder extends BaseController if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid))) return app('json')->fail('数据无效'); - $groupOrder = app()->make(LockService::class)->exec('order.create', function () use ($orderCreateRepository, $receipt_data, $mark, $extend, $cartId, $payType, $takes, $couponIds, $useIntegral, $addressId, $post,$source) { - return $orderCreateRepository->v2CreateOrder(array_search($payType, StoreOrderRepository::PAY_TYPE), $this->request->userInfo(), $cartId, $extend, $mark, $receipt_data, $takes, $couponIds, $useIntegral, $addressId, $post,$source); + $groupOrder = app()->make(LockService::class)->exec('order.create', function () use ($orderCreateRepository, $receipt_data, $mark, $extend, $cartId, $payType, $takes, $couponIds, $useIntegral, $addressId, $post,$source,$product_type) { + return $orderCreateRepository->v2CreateOrder(array_search($payType, StoreOrderRepository::PAY_TYPE), $this->request->userInfo(), $cartId, $extend, $mark, $receipt_data, $takes, $couponIds, $useIntegral, $addressId, $post,$source,$product_type); }); try { $param['order_sn']=$groupOrder['group_order_sn'];