From c1a34f82f0661ab9669247c4e50d99b39ff35a29 Mon Sep 17 00:00:00 2001 From: xucong <850806214@qq.com> Date: Mon, 16 Sep 2024 17:21:05 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=9C=AC=E5=9C=B0=E7=94=9F=E6=B4=BB=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=8F=96=E6=B6=88=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/LocalStore.php | 10 ++++++++++ app/api/controller/Pay.php | 2 +- app/api/logic/LocalStoreLogic.php | 15 +++++++++++++++ app/api/logic/PayLogic.php | 28 ++++++++++++++++++---------- 4 files changed, 44 insertions(+), 11 deletions(-) diff --git a/app/api/controller/LocalStore.php b/app/api/controller/LocalStore.php index f0f97f59..a5bccceb 100755 --- a/app/api/controller/LocalStore.php +++ b/app/api/controller/LocalStore.php @@ -289,4 +289,14 @@ class LocalStore extends Api $data = LocalStoreLogic::orderDetails($post); return JsonServer::success('查询成功', $data); } + // 取消订单 + public function cancelLocalOrder(){ + $post = $this->request->post(); + $data = LocalStoreLogic::cancelOrder($post); + if($data){ + return JsonServer::success('取消成功'); + }else{ + return JsonServer::error('取消失败'); + } + } } \ No newline at end of file diff --git a/app/api/controller/Pay.php b/app/api/controller/Pay.php index 278f6041..4e7c4345 100755 --- a/app/api/controller/Pay.php +++ b/app/api/controller/Pay.php @@ -126,8 +126,8 @@ class Pay extends Api } $result = PayLogic::localWxPay($user_id,$post, $client); return $result; - } + // 本地生活余额支付 public function localBalance() { diff --git a/app/api/logic/LocalStoreLogic.php b/app/api/logic/LocalStoreLogic.php index 7a3b36ce..64cd4e33 100644 --- a/app/api/logic/LocalStoreLogic.php +++ b/app/api/logic/LocalStoreLogic.php @@ -195,4 +195,19 @@ class LocalStoreLogic extends Logic $result['local_msg'] = $local; return $result; } + public static function cancelOrder($post){ + $result = Db::name("local_goods_order") + ->where("lsg_order_id",$post['lsg_order_id']) + ->find(); + if($result['item_id']>0){ + Db::name("local_store_goods_item") + ->where("id",$result['item_id']) + ->inc("stock",$result['goods_num']) + ->update(); + } + $res = Db::name("local_goods_order") + ->where("lsg_order_id",$post['lsg_order_id']) + ->update(["state"=>2]); + return $res; + } } \ No newline at end of file diff --git a/app/api/logic/PayLogic.php b/app/api/logic/PayLogic.php index 811a4455..735be035 100755 --- a/app/api/logic/PayLogic.php +++ b/app/api/logic/PayLogic.php @@ -671,16 +671,12 @@ class PayLogic extends Logic $sku_num_msg = Db::name("local_store_goods_item") ->where("id",$post['spec_item_id']) ->find(); - if($sku_num_msg['stock'] < $post['buy_shop_num']){ - return JsonServer::error('库存不足'); - } - $sku_num_msg = Db::name("local_store_goods_item") - ->where("id",$post['spec_item_id']) - ->dec("stock",$post['buy_shop_num']) - ->update(); + $data['lsg_order_id'] = $post['lsg_order_id']; $data['sku_id'] = $post['spec_item_id']; - $data['goods_id'] = $sku_num_msg['goods_id']; - $data['goods_nums'] = $post['buy_shop_num']; + if($sku_num_msg!=null){ + $data['goods_id'] = $sku_num_msg['goods_id']; + } + $data['goods_num'] = $post['goods_num']; $data['order_sn'] = $out_trade_no; $data['order_source'] = 1; $data['pay_way'] = 1; @@ -747,6 +743,7 @@ class PayLogic extends Logic $dt3['order_no'] = $out_trade_no; $r3 = Db::name("local_store_order")->save($dt3); if (is_string($res)) { + $res['order_sn'] = $out_trade_no; $data = [ 'code' => 1, 'msg' => '微信支付发起成功', @@ -758,7 +755,18 @@ class PayLogic extends Logic return JsonServer::success('微信支付发起成功', $res, 1); } - + public function cancelPay($post){ + $sku_num_msg = Db::name("local_store_goods_item") + ->where("id",$post['spec_item_id']) + ->find(); + if($sku_num_msg['stock'] < $post['buy_shop_num']){ + return JsonServer::error('库存不足'); + } + $sku_num_msg = Db::name("local_store_goods_item") + ->where("id",$post['spec_item_id']) + ->dec("stock",$post['buy_shop_num']) + ->update(); + } // 本地生活余额支付 public static function localBalance($user_id,$post){ $user_balance = User::where(['id' => $user_id])->value('user_money');