WIN-2308041133\Administrator 3 months ago
parent
commit
bf2a988bc8
1 changed files with 132 additions and 124 deletions
  1. 132 124
      app/common/repositories/store/order/StoreOrderRepository.php

+ 132 - 124
app/common/repositories/store/order/StoreOrderRepository.php

@@ -1129,82 +1129,82 @@ class StoreOrderRepository extends BaseRepository
             $integral_type = 'spread_pack_integral';
             $integral_type = 'spread_pack_integral';
             $number2 = systemConfig('award_integral_gift_pack', 1);
             $number2 = systemConfig('award_integral_gift_pack', 1);
         }
         }
-        $number2 = bcmul($number2,0.01,2);
+        $number2 = bcmul($number2, 0.01, 2);
         if ($type == 5 || $type == 0) {  //节能油商品和普通商品
         if ($type == 5 || $type == 0) {  //节能油商品和普通商品
 //            $number = systemConfig('award_energy_saving_oil', 1);  //获得份额的基准线
 //            $number = systemConfig('award_energy_saving_oil', 1);  //获得份额的基准线
 //            if ($order['pay_price'] >= $number) {
 //            if ($order['pay_price'] >= $number) {
 //                $count = app()->make(User::class)->spread_order($order['uid']);  //获取推荐下级订单数
 //                $count = app()->make(User::class)->spread_order($order['uid']);  //获取推荐下级订单数
-                $count = $user['spread_pay_count'];
-                $multiple = systemConfig('award_ordinary', 3);  //获得份额的倍数
-                @file_put_contents('quanju.txt', $count . "-下级订单数量\r\n", 8);
-                if ($count > 0) {
-                    $order_award_range = bcmul($order['pay_price'], $multiple, 2);
-                } else {
-                    $multiple = bcsub($multiple, 1, 0);
-                    $order_award_range = bcmul($order['pay_price'], 1, 2);
-                    $unclaimed_range = bcmul($order['pay_price'], $multiple, 2);
-                    $unclaimed_range_after = bcadd($user['unclaimed_range'], $unclaimed_range, 2);
-                    //                发放冻结份额
-                    $make->incBill($order['uid'], 'award_unclaimed_range', 'unclaimed_range', [
-                        'number' => $unclaimed_range,
-                        'title' => '下单商品获得冻结份额',
-                        'balance' => $unclaimed_range_after,
-                        'status' => 1,
-                        'link_id' => $order['order_id'],
-                        'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励冻结分红额度' . $order_award_range,
-                    ]);
-
-                    User::where('uid', $order['uid'])->update(['unclaimed_range' => $unclaimed_range_after]);
-                }
-//                发放分红份额
-                $after = bcadd($award_range, $order_award_range, 2);
-                $make->incBill($order['uid'], 'award_range', $range_type, [
-                    'number' => $order_award_range,
-                    'title' => '下单' . $mark . '商品获得分红额度',
-                    'balance' => $after,
+            $count = $user['spread_pay_count'];
+            $multiple = systemConfig('award_ordinary', 3);  //获得份额的倍数
+            @file_put_contents('quanju.txt', $count . "-下级订单数量\r\n", 8);
+            if ($count > 0) {
+                $order_award_range = bcmul($order['pay_price'], $multiple, 2);
+            } else {
+                $multiple = bcsub($multiple, 1, 0);
+                $order_award_range = bcmul($order['pay_price'], 1, 2);
+                $unclaimed_range = bcmul($order['pay_price'], $multiple, 2);
+                $unclaimed_range_after = bcadd($user['unclaimed_range'], $unclaimed_range, 2);
+                //                发放冻结份额
+                $make->incBill($order['uid'], 'award_unclaimed_range', 'unclaimed_range', [
+                    'number' => $unclaimed_range,
+                    'title' => '下单商品获得冻结份额',
+                    'balance' => $unclaimed_range_after,
                     'status' => 1,
                     'status' => 1,
                     'link_id' => $order['order_id'],
                     'link_id' => $order['order_id'],
-                    'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
+                    'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励冻结分红额度' . $order_award_range,
                 ]);
                 ]);
-                User::where('uid', $order['uid'])->update(['award_range' => $after]);
+
+                User::where('uid', $order['uid'])->update(['unclaimed_range' => $unclaimed_range_after]);
+            }
+//                发放分红份额
+            $after = bcadd($award_range, $order_award_range, 2);
+            $make->incBill($order['uid'], 'award_range', $range_type, [
+                'number' => $order_award_range,
+                'title' => '下单' . $mark . '商品获得分红额度',
+                'balance' => $after,
+                'status' => 1,
+                'link_id' => $order['order_id'],
+                'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
+            ]);
+            User::where('uid', $order['uid'])->update(['award_range' => $after]);
 //            }
 //            }
         } elseif ($type == 6) {  //礼包商品
         } elseif ($type == 6) {  //礼包商品
 //            $number = systemConfig('award_energy_saving_oil', 1);
 //            $number = systemConfig('award_energy_saving_oil', 1);
             @file_put_contents('quanju2.txt', $order['pay_price'] . "-支付金额\r\n", 8);
             @file_put_contents('quanju2.txt', $order['pay_price'] . "-支付金额\r\n", 8);
 //            if ($order['pay_price'] >= $number) {
 //            if ($order['pay_price'] >= $number) {
             $multiple = systemConfig('award_gift_pack', 3);  //获得份额的倍数
             $multiple = systemConfig('award_gift_pack', 3);  //获得份额的倍数
-                $order_award_range = bcmul($order['pay_price'], $multiple, 2);
-                $after = bcadd($award_range, $order_award_range, 2);
-                $res = $make->incBill($order['uid'], 'award_range', 'award_gift_pack', [
-                    'number' => $order_award_range,
-                    'title' => '下单礼包获得分红额度',
-                    'balance' => $after,
-                    'status' => 1,
-                    'link_id' => $order['order_id'],
-                    'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
-                ]);
-                User::where('uid', $order['uid'])->update(['award_range' => $after]);
-                @file_put_contents('quanju2.txt', $res . "-结果\r\n", 8);
+            $order_award_range = bcmul($order['pay_price'], $multiple, 2);
+            $after = bcadd($award_range, $order_award_range, 2);
+            $res = $make->incBill($order['uid'], 'award_range', 'award_gift_pack', [
+                'number' => $order_award_range,
+                'title' => '下单礼包获得分红额度',
+                'balance' => $after,
+                'status' => 1,
+                'link_id' => $order['order_id'],
+                'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
+            ]);
+            User::where('uid', $order['uid'])->update(['award_range' => $after]);
+            @file_put_contents('quanju2.txt', $res . "-结果\r\n", 8);
 //            }
 //            }
 //            礼包购买数
 //            礼包购买数
-            $this->pack_count($order['uid'],$product_id);
+            $this->pack_count($order['uid'], $product_id);
         }
         }
 
 
         $award_integral = $user['award_integral'];
         $award_integral = $user['award_integral'];
 //        if ($order['pay_price'] >= $number2) {
 //        if ($order['pay_price'] >= $number2) {
 
 
-            $order_award_range = bcmul($order['pay_price'], $number2, 2);
-            $order_award_range = bcdiv($order_award_range, $price['price'], 2);  //20%的业绩除以积分价格得到分红积分
-            $after2 = bcadd($award_integral, $order_award_range, 2);
-            $make->incBill($order['uid'], 'award_integral', $integral_type, [
-                'number' => $order_award_range,
-                'title' => '下单' . $mark . '商品获得分红积分',
-                'balance' => $after2,
-                'status' => 1,
-                'link_id' => $order['order_id'],
-                'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
-            ]);
-            User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
+        $order_award_range = bcmul($order['pay_price'], $number2, 2);
+        $order_award_range = bcdiv($order_award_range, $price['price'], 2);  //20%的业绩除以积分价格得到分红积分
+        $after2 = bcadd($award_integral, $order_award_range, 2);
+        $make->incBill($order['uid'], 'award_integral', $integral_type, [
+            'number' => $order_award_range,
+            'title' => '下单' . $mark . '商品获得分红积分',
+            'balance' => $after2,
+            'status' => 1,
+            'link_id' => $order['order_id'],
+            'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
+        ]);
+        User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
 //        }
 //        }
 //        解冻冻结奖金
 //        解冻冻结奖金
         $UserRepository = app()->make(UserRepository::class);
         $UserRepository = app()->make(UserRepository::class);
@@ -1247,7 +1247,7 @@ class StoreOrderRepository extends BaseRepository
         $UserRepository = app()->make(UserRepository::class);
         $UserRepository = app()->make(UserRepository::class);
         $UserRepository->checkAward($order['uid']);
         $UserRepository->checkAward($order['uid']);
 //        上级推荐奖励的分红积分
 //        上级推荐奖励的分红积分
-        $this->getSpreadIntegral($order, $type, $user,$product_id);
+        $this->getSpreadIntegral($order, $type, $user, $product_id);
 //        检测节能油或者礼包升级
 //        检测节能油或者礼包升级
 //        $AwardLake = app()->make(AwardLake::class);
 //        $AwardLake = app()->make(AwardLake::class);
         $awardLake = app()->make(AwardLake::class);
         $awardLake = app()->make(AwardLake::class);
@@ -1276,18 +1276,18 @@ class StoreOrderRepository extends BaseRepository
     }
     }
 
 
 //礼包购买数
 //礼包购买数
-    public function pack_count($uid,$product_id)
+    public function pack_count($uid, $product_id)
     {
     {
 //            增加上级礼包购买数
 //            增加上级礼包购买数
         $spread_uid = User::where('uid', $uid)->value('spread_uid');
         $spread_uid = User::where('uid', $uid)->value('spread_uid');
-        if ($spread_uid > 0){
-            $count = GiftReward::where('uid',$spread_uid)->where('product_id',$product_id)->find();
-            if (!empty($count)){
+        if ($spread_uid > 0) {
+            $count = GiftReward::where('uid', $spread_uid)->where('product_id', $product_id)->find();
+            if (!empty($count)) {
                 $spread_count = bcadd($count['count'], 1, 0);
                 $spread_count = bcadd($count['count'], 1, 0);
-                $res =GiftReward::where('uid',$spread_uid)->where('product_id',$product_id)->update(['count' => $spread_count,'update_time'=>time()]);
+                $res = GiftReward::where('uid', $spread_uid)->where('product_id', $product_id)->update(['count' => $spread_count, 'update_time' => time()]);
                 @file_put_contents('quanju.txt', json_encode($res) . "-礼包数量\r\n", 8);
                 @file_put_contents('quanju.txt', json_encode($res) . "-礼包数量\r\n", 8);
-            }else{
-                $res = GiftReward::create(['uid' => $spread_uid, 'product_id' => $product_id, 'count' => 1,'update_time'=>time()]);
+            } else {
+                $res = GiftReward::create(['uid' => $spread_uid, 'product_id' => $product_id, 'count' => 1, 'update_time' => time()]);
                 @file_put_contents('quanju.txt', json_encode($res) . "-礼包刷领\r\n", 8);
                 @file_put_contents('quanju.txt', json_encode($res) . "-礼包刷领\r\n", 8);
             }
             }
 
 
@@ -1300,7 +1300,7 @@ class StoreOrderRepository extends BaseRepository
     }
     }
 
 
 //  上级推荐奖励的分红积分
 //  上级推荐奖励的分红积分
-    public function getSpreadIntegral($order, $type, $user,$product_id)
+    public function getSpreadIntegral($order, $type, $user, $product_id)
     {
     {
         $price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();  //分红积分价格
         $price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();  //分红积分价格
         @file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
         @file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
@@ -1355,7 +1355,7 @@ class StoreOrderRepository extends BaseRepository
 //                    $pack_count = bcadd($pack_count, 1, 2);
 //                    $pack_count = bcadd($pack_count, 1, 2);
 //                    @file_put_contents('quanju.txt', $pack_count. "-礼包数加一\r\n", 8);
 //                    @file_put_contents('quanju.txt', $pack_count. "-礼包数加一\r\n", 8);
                     $remainder = bcmod($pack_count, 3);  //取余
                     $remainder = bcmod($pack_count, 3);  //取余
-                    @file_put_contents('quanju.txt', $remainder. "-取余\r\n", 8);
+                    @file_put_contents('quanju.txt', $remainder . "-取余\r\n", 8);
                     $award_integral = User::where('uid', $user['spread_uid'])->value('award_integral');
                     $award_integral = User::where('uid', $user['spread_uid'])->value('award_integral');
                     switch ($remainder) {
                     switch ($remainder) {
                         case 1:
                         case 1:
@@ -1476,29 +1476,29 @@ class StoreOrderRepository extends BaseRepository
                 $field = 'oil_level';
                 $field = 'oil_level';
                 $product_type = 1;
                 $product_type = 1;
                 $title = '节能油团队奖励';
                 $title = '节能油团队奖励';
-                $performance_ratio = systemConfig('energy_saving_oil_ratio',10);
+                $performance_ratio = systemConfig('energy_saving_oil_ratio', 10);
             } else {
             } else {
                 $model = new GiftLevel();
                 $model = new GiftLevel();
                 $field = 'gift_level';
                 $field = 'gift_level';
                 $product_type = 2;
                 $product_type = 2;
                 $title = '礼包团队奖励';
                 $title = '礼包团队奖励';
-                $performance_ratio = systemConfig('gift_pack_ratio',10);
+                $performance_ratio = systemConfig('gift_pack_ratio', 10);
             }
             }
-            $performance_ratio = bcmul($performance_ratio,0.01,2);
+            $performance_ratio = bcmul($performance_ratio, 0.01, 2);
             $level = $model->where('award_ratio', '>', 0)->select();
             $level = $model->where('award_ratio', '>', 0)->select();
             $price = bcmul($order['pay_price'], $performance_ratio, 2); //分红金额
             $price = bcmul($order['pay_price'], $performance_ratio, 2); //分红金额
             $integral_price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();  //分红积分价格
             $integral_price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice();  //分红积分价格
             foreach ($level as $k => $v) {  //遍历等级
             foreach ($level as $k => $v) {  //遍历等级
                 $all_performance = 0;  //总业绩
                 $all_performance = 0;  //总业绩
-                $ratio = bcmul($v['award_ratio'],0.01,2);  //奖励比例
+                $ratio = bcmul($v['award_ratio'], 0.01, 2);  //奖励比例
                 $level_price = bcmul($price, $ratio, 2);  //等级奖励金额
                 $level_price = bcmul($price, $ratio, 2);  //等级奖励金额
                 @file_put_contents('quanju.txt', "------------------------------------------\r\n", 8);
                 @file_put_contents('quanju.txt', "------------------------------------------\r\n", 8);
                 @file_put_contents('quanju.txt', json_encode($v) . "-团队奖励等级信息\r\n", 8);
                 @file_put_contents('quanju.txt', json_encode($v) . "-团队奖励等级信息\r\n", 8);
                 @file_put_contents('quanju.txt', $level_price . "-团队奖励等级奖励金额\r\n", 8);
                 @file_put_contents('quanju.txt', $level_price . "-团队奖励等级奖励金额\r\n", 8);
                 foreach ($group_info as &$value) {  //遍历上级统计总业绩
                 foreach ($group_info as &$value) {  //遍历上级统计总业绩
-                    $user_grade = $model->where('id',$value[$field])->value('grade');  //用户等级
+                    $user_grade = $model->where('id', $value[$field])->value('grade');  //用户等级
                     @file_put_contents('quanju.txt', $user_grade . "-用户等级\r\n", 8);
                     @file_put_contents('quanju.txt', $user_grade . "-用户等级\r\n", 8);
-                    if ($user_grade <= 0){
+                    if ($user_grade <= 0) {
                         $user_grade = $value[$field];
                         $user_grade = $value[$field];
                     }
                     }
                     if ($user_grade >= $v['grade']) {  //判断是否达到该等级
                     if ($user_grade >= $v['grade']) {  //判断是否达到该等级
@@ -1516,8 +1516,8 @@ class StoreOrderRepository extends BaseRepository
                 @file_put_contents('quanju.txt', $all_performance . "-团队奖励所有人总业绩\r\n", 8);
                 @file_put_contents('quanju.txt', $all_performance . "-团队奖励所有人总业绩\r\n", 8);
                 foreach ($group_info as &$value) {  //遍历上级分红
                 foreach ($group_info as &$value) {  //遍历上级分红
                     @file_put_contents('quanju.txt', $value[$field] . "-用户等级2\r\n", 8);
                     @file_put_contents('quanju.txt', $value[$field] . "-用户等级2\r\n", 8);
-                    $user_grade = $model->where('id',$value[$field])->value('grade');  //用户等级
-                    if ($user_grade <= 0){
+                    $user_grade = $model->where('id', $value[$field])->value('grade');  //用户等级
+                    if ($user_grade <= 0) {
                         $user_grade = $value[$field];
                         $user_grade = $value[$field];
                     }
                     }
                     if ($user_grade >= $v['grade']) {
                     if ($user_grade >= $v['grade']) {
@@ -1533,7 +1533,7 @@ class StoreOrderRepository extends BaseRepository
                         if ($user_integral > 0) {
                         if ($user_integral > 0) {
                             $make->incBill($value['uid'], 'award_integral', 'oil_integral', [
                             $make->incBill($value['uid'], 'award_integral', 'oil_integral', [
                                 'number' => $user_integral,
                                 'number' => $user_integral,
-                                'title' => $title.$v['name'],
+                                'title' => $title . $v['name'],
                                 'balance' => $after,
                                 'balance' => $after,
                                 'status' => 1,
                                 'status' => 1,
                                 'link_id' => $order['order_id'],
                                 'link_id' => $order['order_id'],
@@ -3202,6 +3202,7 @@ class StoreOrderRepository extends BaseRepository
         event('mini_order_shipping', ['product', $order, 7, '', '']);
         event('mini_order_shipping', ['product', $order, 7, '', '']);
 //        $this->confirmOil($order);
 //        $this->confirmOil($order);
     }
     }
+
     /**
     /**
      * 核验并核销部分订单。
      * 核验并核销部分订单。
      *
      *
@@ -3216,64 +3217,70 @@ class StoreOrderRepository extends BaseRepository
      */
      */
     public function verifyPartOrder($order, array $data, $serviceId = 0)
     public function verifyPartOrder($order, array $data, $serviceId = 0)
     {
     {
-        // 构建待核销商品的数量映射
-        $stauts = 2;
-        foreach ($data as $v) {
-            $splitData[$v['product_id']] = $v['num'];
-            $cart_info = StoreCart::where(['cart_id' => $v['id'],'product_id'=>$v['product_id']])->find();
-            $verify_num = bcadd($cart_info['verify_num'],$v['num'],0);
-            if ($verify_num>$cart_info['cart_num']){
-                throw new ValidateException('核销数量不能大于购买数量');
-            }
-            if ($verify_num<$cart_info['cart_num']){  //核销数量小于购买数量
-                $stauts = 1;
+        try {
+
+
+            // 构建待核销商品的数量映射
+            $stauts = 2;
+            foreach ($data as $v) {
+                $splitData[$v['product_id']] = $v['num'];
+                $cart_info = StoreCart::where(['cart_id' => $v['id'], 'product_id' => $v['product_id']])->find();
+                $verify_num = bcadd($cart_info['verify_num'], $v['num'], 0);
+                if ($verify_num > $cart_info['cart_num']) {
+                    throw new ValidateException('核销数量不能大于购买数量');
+                }
+                if ($verify_num < $cart_info['cart_num']) {  //核销数量小于购买数量
+                    $stauts = 1;
+                }
             }
             }
-        }
-        // 调用订单分割函数进行订单核销操作,并更新订单对象
+            // 调用订单分割函数进行订单核销操作,并更新订单对象
 //        $spl = app()->make(StoreOrderSplitRepository::class)->splitOrder($order, $splitData, $serviceId, 1);
 //        $spl = app()->make(StoreOrderSplitRepository::class)->splitOrder($order, $splitData, $serviceId, 1);
 //        if ($spl) $order = $spl;
 //        if ($spl) $order = $spl;
 
 
-        // 更新订单状态为已核销,并设置核销时间和服务人员ID
-        $order->status = 2;
-        $order->verify_uid = 2;
-        $order->verify_status = $stauts;
-        $order->verify_time = date('Y-m-d H:i:s');
-        if ($order->verify_service_id>0&&$order->verify_service_id!=$serviceId){
-            throw new ValidateException('部分核销过的订单不能换人核销');
-        }
-        $order->verify_service_id = $serviceId;
+            // 更新订单状态为已核销,并设置核销时间和服务人员ID
+            $order->status = 2;
+            $order->verify_uid = 2;
+            $order->verify_status = $stauts;
+            $order->verify_time = date('Y-m-d H:i:s');
+            if ($order->verify_service_id > 0 && $order->verify_service_id != $serviceId) {
+                throw new ValidateException('部分核销过的订单不能换人核销');
+            }
+            $order->verify_service_id = $serviceId;
 
 
-        // 触发订单核销前的事件
+            // 触发订单核销前的事件
 //        event('order.verify.before', compact('order'));
 //        event('order.verify.before', compact('order'));
 
 
-        // 实例化订单状态仓库,用于后续订单状态的变更记录
-        $storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
-        // 使用事务处理订单状态的更新和订单变更日志的记录
-        Db::transaction(function () use ($order, $storeOrderStatusRepository, $serviceId,$data) {
-            // 执行订单核销后的处理逻辑
+            // 实例化订单状态仓库,用于后续订单状态的变更记录
+            $storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
+            // 使用事务处理订单状态的更新和订单变更日志的记录
+            Db::transaction(function () use ($order, $storeOrderStatusRepository, $serviceId, $data) {
+                // 执行订单核销后的处理逻辑
 //            $this->takeAfter($order, $order->user);
 //            $this->takeAfter($order, $order->user);
-            // 保存更新后的订单信息
-            $order->save();
-            // 构建订单状态变更信息
-            $orderStatus = [
-                'order_id' => $order->order_id,
-                'order_sn' => $order->order_sn,
-                'type' => $storeOrderStatusRepository::TYPE_ORDER,
-                'change_message' => '订单核销',
-                'change_type' => $storeOrderStatusRepository::ORDER_STATUS_TAKE,
-            ];
-            foreach ($data as $v) {
-                StoreCart::where(['cart_id' => $v['id'],'product_id'=>$v['product_id']])->update(['verify_num'=>bcadd($v['num'],$v['num'],0)]);
-            }
-            // 根据服务人员ID是否存在,分别记录服务人员日志或管理员日志
-            if ($serviceId) {
-                $storeOrderStatusRepository->createServiceLog($serviceId, $orderStatus);
-            } else {
-                $storeOrderStatusRepository->createAdminLog($orderStatus);
+                // 保存更新后的订单信息
+                $order->save();
+                // 构建订单状态变更信息
+                $orderStatus = [
+                    'order_id' => $order->order_id,
+                    'order_sn' => $order->order_sn,
+                    'type' => $storeOrderStatusRepository::TYPE_ORDER,
+                    'change_message' => '订单核销',
+                    'change_type' => $storeOrderStatusRepository::ORDER_STATUS_TAKE,
+                ];
+                foreach ($data as $v) {
+                    StoreCart::where(['cart_id' => $v['id'], 'product_id' => $v['product_id']])->update(['verify_num' => bcadd($v['num'], $v['num'], 0)]);
+                }
+                // 根据服务人员ID是否存在,分别记录服务人员日志或管理员日志
+                if ($serviceId) {
+                    $storeOrderStatusRepository->createServiceLog($serviceId, $orderStatus);
+                } else {
+                    $storeOrderStatusRepository->createAdminLog($orderStatus);
+                }
+            });
+            if ($stauts == 2) {
+                self::confirmOil($order);
             }
             }
-        });
-        if ($stauts == 2){
-            self::confirmOil($order);
+        } catch (\think\Exception $exception) {
+            throw new ValidateException($exception->getMessage());
         }
         }
         // 触发订单核销完成后的事件
         // 触发订单核销完成后的事件
 //        event('order.verify', compact('order'));
 //        event('order.verify', compact('order'));
@@ -3282,6 +3289,7 @@ class StoreOrderRepository extends BaseRepository
 //        event('mini_order_shipping', ['product', $order, 7, '', '']);
 //        event('mini_order_shipping', ['product', $order, 7, '', '']);
 //        $this->confirmOil($order);
 //        $this->confirmOil($order);
     }
     }
+
     /**
     /**
      * 生成微信二维码
      * 生成微信二维码
      *
      *