From 36d1131c3e6c11bdd099ff2353caf485a1b4fac7 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Thu, 20 Jun 2024 17:30:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=94=AF=E4=BB=98=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E5=90=8E=E9=80=9A=E7=94=A8=E5=95=86=E5=93=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/logic/order/OrderLogic.php | 2 +- app/common/logic/PayNotifyLogic.php | 46 +++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 260b9ad2..23cd8673 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -192,7 +192,7 @@ class OrderLogic extends BaseLogic } $_order = $orderInfo['order']; $_order['uid'] = $user['id']; - $_order['spread_uid'] =$params['spread_uid']??0;// UserSpreadLog::where('uid',request()->userId)->value('old_spread_uid')??0;//预留分享关系 + $_order['spread_uid'] =$params['spread_uid']??0; $_order['real_name'] = $user['real_name']; $_order['mobile'] = $user['mobile']; $_order['pay_type'] = $orderInfo['order']['pay_type']; diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index 4db3e083..7581ad44 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -12,6 +12,7 @@ use app\common\model\pay\PayNotify; use app\common\model\store_finance_flow\StoreFinanceFlow; use app\common\model\store_order\StoreOrder; use app\common\model\store_order_cart_info\StoreOrderCartInfo; +use app\common\model\store_product_log\StoreProductLog; use app\common\model\system_store\SystemStore; use app\common\model\user\User; use app\common\model\user\UserAddress; @@ -87,6 +88,7 @@ class PayNotifyLogic extends BaseLogic } $capitalFlowDao = new CapitalFlowLogic($user); $capitalFlowDao->userExpense('user_order_balance_pay', 'order', $order['id'], $order['pay_price'],'',0,$order['store_id']); + self::dealProductLog($order); // self::afterPay($order); // Redis::send('push-platform-print', ['id' => $order['id']], 60); // PushService::push('store_merchant_' . $order['store_id'], $order['store_id'], ['type' => 'store_merchant', 'msg' => '您有一笔新的订单']); @@ -133,6 +135,7 @@ class PayNotifyLogic extends BaseLogic ]; OrderLogic::writeOff($params); } + self::dealProductLog($order); // self::afterPay($order); // Redis::send('push-platform-print', ['id' => $order['id']], 60); @@ -171,6 +174,7 @@ class PayNotifyLogic extends BaseLogic $capitalFlowDao->userExpense('user_order_pay', 'order', $order['id'], $order->pay_price, '', 1,$order['store_id']); } + self::dealProductLog($order); // if ($order->pay_type == 9) { // $extra['create_time'] = $order['create_time']; @@ -268,6 +272,7 @@ class PayNotifyLogic extends BaseLogic self::afterPay($order); $cashFlowLogic = new CashFlowLogic(); $cashFlowLogic->insert($order['store_id'], $order['pay_price']); + self::dealProductLog($order); // Redis::send('push-platform-print', ['id' => $order['id']]); } @@ -298,6 +303,7 @@ class PayNotifyLogic extends BaseLogic $order->status = 2; self::afterPay($order); } + self::dealProductLog($order); // if ($order->pay_type == 9) { // $extra['create_time'] = $order['create_time']; @@ -552,4 +558,44 @@ class PayNotifyLogic extends BaseLogic return true; } + /** + * 商品统计逻辑 + * @param $order + * @return true + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + */ + public static function dealProductLog($order) + { + $store_id = $order['store_id']; + $cart_id = $order['cart_id']; + $uid = $order['uid']; + if($uid && $cart_id && $store_id){ + $cart_id = explode(',',$cart_id); + $productLog = StoreProductLog::where([ + 'uid'=>$uid + ])->whereIn('cart_id',$cart_id) + ->select()->toArray(); + + foreach ($productLog as &$value){ + $value['pay_uid'] = $uid; + $value['oid'] = $order['id']; + $cart_info = StoreOrderCartInfo::where([ + 'uid'=>$uid,'old_cart_id'=>$value['cart_id'],'store_id'=>$store_id + ])->find(); + $value['order_num'] = $cart_info['cart_num']??1; + $value['pay_num'] = $cart_info['cart_num']??1; + $value['pay_price'] = $cart_info['price']??0; + $value['cost_price'] = $cart_info['cart_info']['cost']??0; + $value['update_time'] = time(); + unset($value['create_time'],$value['delete_time']); + } + + (new StoreProductLog())->saveAll($productLog); + } + return true; + + } + }