From b67ecfd595419343bb8a3e505bf300b19e311725 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Sat, 25 Jan 2025 12:32:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(order):=20=E4=BC=98=E5=8C=96=E9=A2=84?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=BD=AC=E8=AE=A2=E5=8D=95=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改订单来源为 OrderEnum::SOURCE_20 - 增加用户是否为会员的判断逻辑 - 优化 PayNotifyLogic 中的 addStock 方法,针对预订单转订单情况进行特殊处理 - 新增 OrderEnum 中的订单来源类型 --- .../logic/beforehand_order/BeforehandOrderLogic.php | 12 +++++++++++- app/common/enum/OrderEnum.php | 12 ++++++++++++ app/common/logic/PayNotifyLogic.php | 13 ++++++++----- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php index 214111352..de88b04fc 100644 --- a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php +++ b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php @@ -7,6 +7,7 @@ use app\admin\logic\store_product\StoreProductLogic; use app\admin\logic\warehouse_product\WarehouseProductLogic; use app\api\logic\order\CartLogic; use app\api\logic\order\OrderLogic; +use app\common\enum\OrderEnum; use app\common\model\beforehand_order\BeforehandOrder; use app\common\logic\BaseLogic; use app\common\model\auth\Admin; @@ -260,7 +261,7 @@ class BeforehandOrderLogic extends BaseLogic 'store_id' => $params['store_id'] ?? 0, 'shipping_type' => 2, //配送方式 1=快递 ,2=门店自提 'deduction_price' => 0, //抵扣金额 - 'source' => 2, //后台下单 + 'source' => OrderEnum::SOURCE_20, //来源 'order_type' => $order['order_type'], 'is_storage' => 0, 'verify_code' => createCode($code), @@ -669,6 +670,15 @@ class BeforehandOrderLogic extends BaseLogic $res['examine_name'] = Admin::where('id', $record['check_user_id'])->value('name'); } } + + $res['is_vip']=0; + if($res['uid']>0){ + $user_ship=User::where('id',$res['uid'])->value('user_ship'); + if($user_ship>0){ + $res['is_vip']=1; + } + } + return $res; } diff --git a/app/common/enum/OrderEnum.php b/app/common/enum/OrderEnum.php index 6674b96ad..9e6f605e8 100644 --- a/app/common/enum/OrderEnum.php +++ b/app/common/enum/OrderEnum.php @@ -49,6 +49,18 @@ class OrderEnum const USER_ORDER_REFUND = 19;//订单返还 const PAY_BACK =-1; + //-----------------------订单来源-----------------------// + /** + * @SOURCE_0 小程序 + * @SOURCE_1 收银台 + * @SOURCE_2 后台下单 + * @SOURCE_20 预订单转订单 + */ + const SOURCE_0 =0;//小程序 + const SOURCE_1 =1;//收银台 + const SOURCE_2 =2;//后台下单 + const SOURCE_20 =20;//预订单转订单 + /** * 收入支出类型 diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index a576278eb..c1bec932c 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -351,7 +351,7 @@ class PayNotifyLogic extends BaseLogic // $user = User::where('id', $order['uid'])->findOrEmpty(); // $capitalFlowDao = new CapitalFlowLogic($user); // $capitalFlowDao->userIncome('user_order_refund', 'system_back', $order['id'], $order['pay_price'], '', 1); - // self::addStock($order['id']); //微信 + self::addStock($order['id'],$order); return true; } @@ -374,7 +374,7 @@ class PayNotifyLogic extends BaseLogic } $user->save(); //增加数量 - self::addStock($order['id']); + self::addStock($order['id'],$order); } if ($order['pay_type'] == PayEnum::PURCHASE_FUNDS) { //采购款支付 $user = User::where('id', $order['uid'])->findOrEmpty(); @@ -389,7 +389,7 @@ class PayNotifyLogic extends BaseLogic } $user->save(); //增加数量 - self::addStock($order['id']); + self::addStock($order['id'],$order); } UserSignLogic::RefundOrder($order); @@ -427,7 +427,7 @@ class PayNotifyLogic extends BaseLogic $model->status = YesNoEnum::YES; $model->save(); //增加数量 - self::addStock($order['id']); + self::addStock($order['id'],$order); StoreOrderCartInfo::where('oid', $order['id'])->update(['status' => OrderEnum::REFUND_STATUS_FINISH]); (new StoreFinanceFlowLogic())->store_finance_back($orderSn, $order['store_id']); @@ -866,8 +866,11 @@ class PayNotifyLogic extends BaseLogic * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ - public static function addStock($oid) + public static function addStock($oid,$order) { + if($order && $order['source']==OrderEnum::SOURCE_20){ + return true; + } $updateData = []; $goods_list = StoreOrderCartInfo::where('oid', $oid)->select()->toArray(); foreach ($goods_list as $v) {