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');