gorden 4 ヶ月 前
コミット
078e69ada9

+ 11 - 2
app/admin/controller/order/GoodsController.php

@@ -4,6 +4,7 @@ namespace app\admin\controller\order;
 
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -1344,6 +1345,8 @@ class GoodsController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
@@ -1707,6 +1710,8 @@ class GoodsController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
@@ -1973,7 +1978,9 @@ class GoodsController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
 //            return $orderSheetIds;
@@ -2051,7 +2058,9 @@ class GoodsController extends Curd
             if ($goodsRunning->goods_running_storage < 0) {
                 throw new BusinessException('库存不足');
             }
-            $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            if ($params['order_status_payment'] == 'SUCCESS') {
+                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            }
             $goodsRunning->save();
 //            }
             return $orderSheetIds;

+ 7 - 1
app/admin/controller/order/KangyangCityController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -597,6 +598,9 @@ class KangyangCityController extends Curd
             Db::commit();
 
             if ($order->order_is_complete == 'Y' && $order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
+
                 Event::dispatch('order.complete', $params);
             }// 触发事件
             if ($paymentStatus == 'SUCCESS') {
@@ -762,7 +766,9 @@ class KangyangCityController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
             return $orderSheetIds;

+ 6 - 1
app/admin/controller/order/NewCustomerController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -549,6 +550,8 @@ class NewCustomerController extends Curd
                 Event::dispatch('order.complete', $params);
                 // 处理分期完成后的操作
                 Event::dispatch('order.new_custom.grant', $params);
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
                 // 入收支明细表
@@ -668,7 +671,9 @@ class NewCustomerController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
                 $data = [
                     'join_sheet_member_id' => $params['join_order_member_id'],

+ 11 - 2
app/admin/controller/order/PackagesController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -1442,6 +1443,8 @@ class PackagesController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 发放卡券
@@ -1855,6 +1858,8 @@ class PackagesController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
@@ -2228,7 +2233,9 @@ class PackagesController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
 //            return $orderSheetIds;
@@ -2306,7 +2313,9 @@ class PackagesController extends Curd
             if ($goodsRunning->goods_running_storage < 0) {
                 throw new BusinessException('库存不足');
             }
-            $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            if ($params['order_status_payment'] == 'SUCCESS') {
+                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            }
             $goodsRunning->save();
 //            }
             return $orderSheetIds;

+ 6 - 1
app/admin/controller/order/PartnerController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -569,6 +570,8 @@ class PartnerController extends Curd
                 $params['member_id'] = $params['join_order_member_id'];
                 Event::dispatch('order.complete', $params);
                 Event::dispatch('order.partner.grant', $params);
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
                 // 入收支明细表
@@ -727,7 +730,9 @@ class PartnerController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
             return $orderSheetIds;

+ 6 - 1
app/admin/controller/order/RechargeController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -492,6 +493,8 @@ class RechargeController extends Curd
                 // 入收支明细表
                 $params['inout_category'] = '会员充值订单';
                 Event::dispatch('statistics.inout.in', $params);
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
 
                 // 充值回调
                 (new \app\admin\controller\notify\RechargeController)->disposePaySuccess($payId);
@@ -648,7 +651,9 @@ class RechargeController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
             return $orderSheetIds;

+ 7 - 1
app/admin/controller/order/ReferrerController.php

@@ -5,6 +5,7 @@ namespace app\admin\controller\order;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -564,6 +565,9 @@ class ReferrerController extends Curd
                 Event::dispatch('order.referrer.grant', $params);
             }
             if ($paymentStatus == 'SUCCESS') {
+
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 入收支明细表
                 $params['inout_category'] = '购买康养推荐官' . $full;
                 Event::dispatch('statistics.inout.in', $params);
@@ -721,7 +725,9 @@ class ReferrerController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
             return $orderSheetIds;

+ 11 - 2
app/admin/controller/order/ServicesController.php

@@ -4,6 +4,7 @@ namespace app\admin\controller\order;
 
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\order\OrderValidate;
 use app\controller\Curd;
@@ -1412,6 +1413,8 @@ class ServicesController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
@@ -1845,6 +1848,8 @@ class ServicesController extends Curd
 //                Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
             if ($order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 上级提成
                 Event::dispatch('commission.order', $params);
                 // 入收支明细表
@@ -2154,7 +2159,9 @@ class ServicesController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
 //            return $orderSheetIds;
@@ -2232,7 +2239,9 @@ class ServicesController extends Curd
             if ($goodsRunning->goods_running_storage < 0) {
                 throw new BusinessException('库存不足');
             }
-            $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            if ($params['order_status_payment'] == 'SUCCESS') {
+                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+            }
             $goodsRunning->save();
 //            }
             return $orderSheetIds;

+ 20 - 7
app/admin/controller/order/WholeController.php

@@ -6,6 +6,7 @@ use app\admin\service\coupon\CouponDetailService;
 use app\admin\service\coupon\CouponService;
 use app\admin\service\member\MemberService;
 use app\admin\service\order\OrderService;
+use app\admin\service\order\OrderSheetService;
 use app\admin\service\order\PayDetailService;
 use app\admin\validate\coupon\CouponValidate;
 use app\admin\validate\device\DeviceValidate;
@@ -705,7 +706,6 @@ class WholeController extends Curd
             }
             foreach ($params['goodsContentList'] as $sheet) {
                 // 先还原库存
-
                 $orderSheet = OrderSheet::where('order_sheet_id', $sheet['order_sheet_id'])->first();
                 if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS') {
                     $goodsSku = GoodsSku::where('goods_sku_id', $orderSheet->join_sheet_goods_sku_id)->first();
@@ -718,7 +718,7 @@ class WholeController extends Curd
 
                 $goodsRunning = GoodsRunning::where('join_running_goods_id', $orderSheet->join_sheet_goods_id)->first();
                 $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage + $orderSheet->order_sheet_num;
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale - $orderSheet->order_sheet_num;
+//                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale - $orderSheet->order_sheet_num;
                 $goodsRunning->save();
 
                 $data = [
@@ -742,11 +742,11 @@ class WholeController extends Curd
                 }
 
                 $goodsRunning = GoodsRunning::where('join_running_goods_id', $orderSheet->join_sheet_goods_id)->first();
-                $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $sheet['nbr'];
+//                $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $sheet['nbr'];
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $sheet['nbr'];
+//                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $sheet['nbr'];
                 $goodsRunning->save();
 
             }
@@ -1310,6 +1310,8 @@ class WholeController extends Curd
 
             // 触发事件
             if ($order->order_is_complete == 'Y' && $order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 完成订单
                 Event::dispatch('order.complete', $params);
                 // 上级提成
@@ -1773,6 +1775,8 @@ class WholeController extends Curd
             Db::commit();
             // 触发事件
             if ($order->order_is_complete == 'Y' && $order->order_status_payment == 'SUCCESS') {
+                // 加销售量
+                OrderSheetService::addGoodsSales($params['orderId']);
                 // 完成订单
                 Event::dispatch('order.complete', $params);
                 // 上级提成
@@ -3268,7 +3272,9 @@ class WholeController extends Curd
                 if ($goodsRunning->goods_running_storage < 0) {
                     throw new BusinessException('库存不足');
                 }
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                if ($params['order_status_payment'] == 'SUCCESS') {
+                    $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                }
                 $goodsRunning->save();
             }
             return $orderSheetIds;
@@ -3493,7 +3499,7 @@ class WholeController extends Curd
                     throw new BusinessException('库存不足');
                 }
 
-                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+//                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
                 $goodsRunning->save();
 
                 OrderSheet::insertGetId($data);
@@ -4877,6 +4883,8 @@ class WholeController extends Curd
                         'pay_paytimes' => date('Y-m-d H:i:s'),
                         'pay_json_response' => json_encode($result)
                     ]);
+                    // 加销售量
+                    OrderSheetService::addGoodsSales($params['orderId']);
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
 
@@ -4928,7 +4936,8 @@ class WholeController extends Curd
                         'pay_paytimes' => date('Y-m-d H:i:s'),
                         'pay_json_response' => json_encode($result)
                     ]);
-
+                    // 加销售量
+                    OrderSheetService::addGoodsSales($params['orderId']);
                     // 优惠券标记使用
                     $this->changeOrderCouponStatus($discountJson, 'USED');
                     Db::commit();
@@ -5003,6 +5012,8 @@ class WholeController extends Curd
                             'pay_paytimes' => date('Y-m-d H:i:s'),
                             'pay_json_response' => json_encode($result)
                         ]);
+                        // 加销售量
+                        OrderSheetService::addGoodsSales($order['order_id']);
 
                         $discountJson = [];
                         if (!empty($orders[0]['order_discount_json'])) {
@@ -5036,6 +5047,8 @@ class WholeController extends Curd
                             'pay_paytimes' => date('Y-m-d H:i:s'),
                             'pay_json_response' => json_encode($result)
                         ]);
+                        // 加销售量
+                        OrderSheetService::addGoodsSales($order['order_id']);
                         // 优惠券标记使用
                         $discountJson = [];
                         if (!empty($orders[0]['order_discount_json'])) {

+ 1 - 1
app/admin/service/order/OrderService.php

@@ -145,7 +145,7 @@ class OrderService
                     $goodsRunning = GoodsRunning::where('join_running_goods_id', $sheet->join_sheet_goods_id)->first();
                     if (!empty($goodsRunning)) {
                         $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage + $sheet->order_sheet_num;
-                        $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale - $sheet->order_sheet_num;
+//                        $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale - $sheet->order_sheet_num;
                         $goodsRunning->save();
                     }
                 }

+ 23 - 0
app/admin/service/order/OrderSheetService.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace app\admin\service\order;
+
+use app\model\GoodsRunning;
+use app\model\OrderSheet;
+use support\Log;
+
+class OrderSheetService
+{
+    public static function addGoodsSales($orderId)
+    {
+        Log::info('开始加销售量', ['order_id' => $orderId]);
+        try {
+            $sheets = OrderSheet::where('join_sheet_order_id', $orderId)->select('join_sheet_goods_id', 'order_sheet_num')->get()->toArray();
+            foreach ($sheets as $sheet) {
+                GoodsRunning::where('join_running_goods_id', $sheet['join_sheet_goods_id'])->increment('goods_running_sale', $sheet['order_sheet_num']);
+            }
+        } catch (\Exception $e) {
+            Log::error("加销售量失败", ['msg' => $e->getMessage(), 'order_id' => $orderId]);
+        }
+    }
+}