WIN-2308041133\Administrator 4 months ago
parent
commit
a020505738
1 changed files with 23 additions and 20 deletions
  1. 23 20
      app/models/store/StoreOrder.php

+ 23 - 20
app/models/store/StoreOrder.php

@@ -865,11 +865,11 @@ class StoreOrder extends BaseModel
         //支付成功后
         event('OrderPaySuccess', [$order, $formId]);
         $type = User::where('uid', $order['uid'])->value('is_first');
-//        if ($type == 1){
-//            self::team_rewards($order, 2); //分发团队奖励 2复购
-//        }else{
-//            self::team_rewards($order, 1); //分发团队奖励 1首单
-//        }
+        if ($type == 1){
+            self::team_rewards($order, 2); //分发团队奖励 2复购
+        }else{
+            self::team_rewards($order, 1); //分发团队奖励 1首单
+        }
         $res = $res1 && $resPink && UserSpread::setSpreadSure($order['uid']) && User::backOrderBrokerage($order);
         return false !== $res;
     }
@@ -883,7 +883,7 @@ class StoreOrder extends BaseModel
             $groupIds = array_column($group_info, 'level');
             // 统计每个level出现的次数
             $levelCounts = array_count_values($groupIds);
-            $model = new User();
+            @file_put_contents('quanju.txt', json_encode($levelCounts) . "-所有等级的人数\r\n", 8);
             if ($type == 1) {
                 $field = 'first_ratio';
                 $title = '首单奖励';
@@ -892,24 +892,27 @@ class StoreOrder extends BaseModel
                 $title = '复购奖励';
             }
             foreach ($levelCounts as $k => $v) {  //遍历所有等级
+                if ($v>0){
+                    @file_put_contents('quanju.txt', $v . "-当前等级的人数\r\n", 8);
+                    @file_put_contents('quanju.txt', $k . "-当前等级\r\n", 8);
+                    $level_group = User::where('level', $k)->column('uid,nickname,brokerage_price,level');  //获取这个等级的所有用户
+                    $make = app()->make(SystemUserLevel::class);
+                    $level = $make->where('level',$k)->find();  //用户等级
+                    if ($level) {
+                        $ratio = bcmul($level[$field],0.01,2);  //奖励比例
+                        $award_price = bcmul($order['pay_price'], $ratio, 2);  //奖励金额
+                        $user_award = bcdiv($award_price,$v,2); //每个用户奖励金额
+                        foreach ($level_group as $key => $value){
+                            $after = bcadd($value['brokerage_price'], $user_award, 2);  //更新用户奖励金额
+                            $mark = $value.'获得分账健康币'.$title . ':' . $award_price . '元';
+                            $res = UserBill::income('获得分账健康币', $value['uid'], 'brokerage_price', 'spread_award', $award_price, $order['id'], $after, $mark, 0);
+                            User::where('uid', $value['uid'])->update(['brokerage_price' => $after]);
+                        }
 
-                $level_group = User::where('level', $k)->column('uid,nickname,brokerage_price,level');  //获取这个等级的所有用户
-                $make = app()->make(SystemUserLevel::class);
-                $level = $make->where('level',$k)->find();  //用户等级
-                if ($level) {
-                    $ratio = bcmul($level[$field],0.01,2);  //奖励比例
-                    $award_price = bcmul($order['pay_price'], $ratio, 2);  //奖励金额
-                    $user_award = bcdiv($award_price,$v,2); //每个用户奖励金额
-                    foreach ($level_group as $key => $value){
-                        $after = bcadd($value['brokerage_price'], $user_award, 2);  //更新用户奖励金额
-                        $mark = $value.'获得分账健康币'.$title . ':' . $award_price . '元';
-                        $res = UserBill::income('获得分账健康币', $value['uid'], 'brokerage_price', 'spread_award', $award_price, $order['id'], $after, $mark, 0);
-                        User::where('uid', $value['uid'])->update(['brokerage_price' => $after]);
                     }
-
                 }
             }
-        } catch (Exception $e) {
+        } catch (\Exception $e) {
             @file_put_contents('quanju.txt', $e->getMessage() . "-团队奖励错误信息\r\n", 8);
             @file_put_contents('quanju.txt', $e->getLine() . "-团队奖励错误位置\r\n", 8);
         }