Просмотр исходного кода

修改贡献值和团队业绩修改

chengzhiyixia 1 год назад
Родитель
Сommit
d0125e2d13
2 измененных файлов с 640 добавлено и 96 удалено
  1. 129 44
      app/controller/api/store/merchant/Taskorder.php
  2. 511 52
      app/controller/api/user/User.php

+ 129 - 44
app/controller/api/store/merchant/Taskorder.php

@@ -71,7 +71,7 @@ class Taskorder extends BaseController
71 71
   
72 72
     public function lst1()
73 73
     {
74
-       return;
74
+     
75 75
         // $user_datas = Db::name("user")->select();//星级等级
76 76
         // foreach($user_datas as $k=>$v){
77 77
         //     if($v['user_level_id_old']==2){
@@ -87,9 +87,9 @@ class Taskorder extends BaseController
87 87
     
88 88
     //    var_dump($totalPv);return;    
89 89
     
90
-        //$ss = $this->getbig_samll_datas(17);
91
-       // var_dump($ss);
92
-
90
+        $ss = $this->getbig_samll_datas(17);
91
+        var_dump($ss);
92
+  return;
93 93
         // return;
94 94
      
95 95
         // $store_product_datas = Db::name('old_user_of_goods_old')->select();
@@ -98,7 +98,7 @@ class Taskorder extends BaseController
98 98
         $week_record =23800 + 60000; //20250222
99 99
 
100 100
    
101
-//return;
101
+return;
102 102
 
103 103
        // $stock_comm = round($week_record * 0.05 ,2);
104 104
      //var_dump($week_record);return;
@@ -572,19 +572,21 @@ public function getWeekStartEnd()
572 572
      */
573 573
     public function getCommonNums($user_id){
574 574
         //先获取共建联盟下用户的id
575
-        $son_ids = Db::name("user")->where("spread_old",$user_id)->where("is_team_old",1)->select()->toArray();
575
+        //$son_ids = Db::name("user")->where("spread_old",$user_id)->where("is_team_old",1)->select()->toArray();
576
+        //先获取共建联盟下用户的id
577
+        $son_ids = Db::name("old_user_jbp")->where("spread",$user_id)->where("is_team",1)->select()->toArray();
576 578
         $new_array_ids =[];
577 579
         foreach ($son_ids as $key => $value) {
578 580
             # code...
579
-            $son_id = $value['uid'];
581
+            $son_id = $value['id'];
580 582
             $new_array_ids = array_merge($new_array_ids,[$son_id]);
581
-            $son_value_ids = Db::name("user")->whereRaw("FIND_IN_SET('$son_id',parent_ids_old)")->field("uid")->select()->toArray();
582
-            
583
+            $son_value_ids = Db::name("old_user_jbp")->whereRaw("FIND_IN_SET('$son_id',parent_ids)")->field("id")->select()->toArray();
584
+
583 585
             if(count($son_value_ids) > 0) {
584
-                $son_value_ids = array_column($son_value_ids,"uid");
586
+                $son_value_ids = array_column($son_value_ids,"id");
585 587
                 $new_array_ids = array_merge($new_array_ids,$son_value_ids);
586 588
             }
587
-            
589
+
588 590
         }
589 591
         return $new_array_ids;
590 592
     }
@@ -1081,16 +1083,19 @@ function getRecursiveChildren($parentUid) {
1081 1083
 
1082 1084
 //挑出大小值
1083 1085
 function getMaxAndSumRest($array) {
1084
-    // 检查数组是否为空
1085
-    if (empty($array)) {
1086
+     // 检查数组是否为空
1087
+     if (empty($array)) {
1086 1088
         return null; // 如果数组为空,返回 null 或其他默认值
1087 1089
     }
1088 1090
 
1089 1091
     // 找出数组中的最大值
1090 1092
     $maxValue = max($array);
1091 1093
 
1092
-    // 移除最大值
1093
-    $array = array_diff($array, [$maxValue]);
1094
+    // 找到第一个最大值的键
1095
+    $maxKey = array_search($maxValue, $array);
1096
+
1097
+    // 移除第一个最大值
1098
+    unset($array[$maxKey]);
1094 1099
 
1095 1100
     // 将剩下的值相加
1096 1101
     $sumRest = array_sum($array);
@@ -1105,12 +1110,13 @@ function getMaxAndSumRest($array) {
1105 1110
 //获取大小部门业绩(新表小标0是大部门,下标1是小部门)
1106 1111
 public function getbig_samll_datas($user_id) {
1107 1112
 
1108
-       
1113
+    //$user_id = 593;
1109 1114
 
1110 1115
          $common_nums = $this->getCommonNums($user_id);
1116
+         //var_dump(  $common_nums);
1111 1117
          $child_nums = [];
1112 1118
          $result_big_team_arr = [];
1113
-         $get_teams_per_pv = [];//获取当前用户在2.0中小部门的总业绩
1119
+         $get_teams_per_pv = 0;//获取当前用户在2.0中小部门的总业绩
1114 1120
          $get_teams_comm_pv=0;
1115 1121
         //1.0系统中有下级,需要在2.0中再加下级数据
1116 1122
         if($user_id < 611){
@@ -1120,15 +1126,15 @@ public function getbig_samll_datas($user_id) {
1120 1126
             $child_nums = [];
1121 1127
 
1122 1128
               //再加上当前用户直属的子级
1123
-              $common_ns = $common_nums;
1124
-              $common_ns[] = $user_id;
1129
+            //   $common_ns = $common_nums;
1130
+            //   $common_ns[] = $user_id;
1125 1131
 
1126 1132
 
1127 1133
               //获取当前用户
1128
-            foreach($common_ns as $v){
1134
+            foreach($common_nums as $v){
1129 1135
                 $child_nums[] = $this->getRecursiveChildren($v);
1130 1136
             }
1131
-           //  var_dump($child_nums);
1137
+            // var_dump($child_nums);
1132 1138
              //去除空数组,并重新组合有数据的数组
1133 1139
             $filteredData = array_filter($child_nums, function($array) {
1134 1140
                 return !empty($array); // 如果数组不为空,则保留
@@ -1139,15 +1145,15 @@ public function getbig_samll_datas($user_id) {
1139 1145
             foreach ($filteredData as $array) {
1140 1146
                 $result_big_team_arr = array_merge($result_big_team_arr, $array);
1141 1147
             }
1142
-            // var_dump($result_big_team_arr);
1148
+           // var_dump($result_big_team_arr);
1143 1149
             //获取当前用户下面在2.0中的下级所有PV
1144 1150
             $get_teams_comm_pv = $this->getteampv($result_big_team_arr);
1145
-//var_dump("大区业绩:" .  $get_teams_comm_pv );
1151
+    //var_dump("大区业绩:" .  $get_teams_comm_pv );
1146 1152
 
1147 1153
 
1148 1154
             //获取当前用户在2.0中小区的业绩
1149 1155
             $person_nums = $this->getPersonageNums($user_id);
1150
-           
1156
+           //var_dump($person_nums);
1151 1157
             $result_small_team_arr = [];
1152 1158
             //用户三峡所有在2.0系统下面的业绩和人数 start
1153 1159
             $child_nums_mix = [];
@@ -1166,10 +1172,10 @@ public function getbig_samll_datas($user_id) {
1166 1172
             foreach ($filteredData_1 as $array) {
1167 1173
                 $result_small_team_arr = array_merge($result_small_team_arr, $array);
1168 1174
             }
1169
-             // var_dump($result_small_team_arr);
1175
+            //var_dump($result_small_team_arr);
1170 1176
             //获取当前用户下面在2.0中的下级所有PV
1171 1177
             $get_teams_per_pv = $this->getteampv($result_small_team_arr);
1172
-
1178
+           // var_dump($get_teams_per_pv);
1173 1179
             //获取当前用户在2.0中小区的业绩 end
1174 1180
 
1175 1181
         }else{
@@ -1177,37 +1183,62 @@ public function getbig_samll_datas($user_id) {
1177 1183
             $get_teams_comm_datas = [];
1178 1184
             //当前用户在1.0没有下级,那直接在新系统2.0找下级获取数据,并区分大小部门
1179 1185
             $child_nums = $this->getChildren($user_id);
1180
-            //如果当前用户只有一个子级,那么就是默认一个大部门
1181
-            if(count($child_nums)==1){
1182
-                //var_dump($child_nums);
1183
-                //获取父级子级下面的个人
1184
-                $get_teams_comm_pv = $this->getTeamPv11($child_nums[0]);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
1185
-                // var_dump($get_teams_comm_pv);
1186
-                
1187
-            }else if(count($child_nums) > 1){
1188
-                
1189
-                foreach($child_nums as $v){
1186
+          
1187
+            if(count($child_nums) > 0){
1188
+                if(count($child_nums)==1){
1189
+                    //var_dump($child_nums);
1190
+                    //获取父级子级下面的个人
1191
+                    $get_teams_comm_pv = $this->getTeamPv11($child_nums[0]);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
1192
+                    // var_dump($get_teams_comm_pv);
1193
+                    
1194
+                }else if(count($child_nums) > 1){
1190 1195
                 
1191
-                    $get_teams_comm_datas[] = $this->getTeamPv11($v);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
1196
+                    foreach($child_nums as $v){
1197
+                    
1198
+                        $get_teams_comm_datas[] = $this->getTeamPv11($v);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
1199
+                    }
1200
+
1201
+
1202
+
1203
+                    $get_big_small_pv = $this->getMaxAndSumRest($get_teams_comm_datas);//区分大小部门业绩
1204
+
1205
+                // var_dump($get_big_small_pv );
1206
+                    //var_dump($get_big_small_pv);
1207
+                    $get_teams_comm_pv =  $get_big_small_pv['maxValue'];
1208
+                    $get_teams_per_pv  =  $get_big_small_pv['sumRest'];
1192 1209
                 }
1193
-                $get_big_small_pv = $this->getMaxAndSumRest($get_teams_comm_datas);//区分大小部门业绩
1194
-                //var_dump($get_big_small_pv);
1195
-                $get_teams_comm_pv =  $get_big_small_pv['maxValue'];
1196
-                $get_teams_per_pv  =  $get_big_small_pv['sumRest'];
1197 1210
             }
1211
+                //如果当前用户只有一个子级,那么就是默认一个大部门
1212
+           
1198 1213
        
1199 1214
         }
1200 1215
 
1201
-    //var_dump("小区业绩:".$get_teams_per_pv);
1216
+        $team_amount   = 0;
1217
+        $person_amount = 0;
1218
+
1219
+        if($user_id < 611){
1220
+         
1221
+            //获取当前用户直属下级(查询在2.0中直接推荐人和伞下的业绩。并比对大小部门)
1222
+            //例子:17所有下面uid是speard_uid都是17的,和所有伞下的业绩。分出大小部门,加到1.0的大小部门中
1223
+            $b_s = $this->getparents_child_pv($user_id);
1224
+            
1225
+            //var_dump( $b_s);echo "yyyyyyyyyyyyy";
1226
+            $team_amount = $b_s[0];
1227
+            $person_amount = $b_s[1];
1202 1228
 
1229
+          
1230
+        }
1203 1231
 
1232
+    //var_dump("小区业绩:".$get_teams_per_pv);
1233
+
1234
+        //var_dump($team_amount, $person_amount);
1204 1235
     // 计算大部门和小部门的汇总信息
1205 1236
     $majorDepartmentSummary = [
1206
-        "total_performance" =>  $get_teams_comm_pv,
1237
+        "total_performance" =>  $get_teams_comm_pv +  $team_amount,
1207 1238
     ];
1208 1239
 
1209 1240
     $minorDepartmentSummary = [
1210
-        "total_performance" => $get_teams_per_pv,
1241
+        "total_performance" => $get_teams_per_pv  + $person_amount,
1211 1242
     ];
1212 1243
 
1213 1244
     // 返回所需的结果
@@ -1217,6 +1248,60 @@ public function getbig_samll_datas($user_id) {
1217 1248
     ];
1218 1249
 }
1219 1250
 
1251
+//获取当前uesr_id下面在2.0中是否还有直接下级,并计算她的大部门和小部门
1252
+public function getparents_child_pv($user_id){
1253
+    // 获取直接下级的 UID 列表
1254
+    //$user_id = 593;
1255
+   // $get_childs = $this->getRecursiveChildren($user_id);
1256
+   $get_childs = Db::name("user")
1257
+   ->where("spread_uid", $user_id)
1258
+   ->column("uid"); // 获取子级的 uid 列表
1259
+    //根据获得的直接推荐下级2.0,来获取他们和她伞下的子级PV。对比拿一个最大的值,设为大部门,其余的是小部门
1260
+   
1261
+    //获取直接下级
1262
+    $children_group = []; // 用于存储每个直接下级及其子级的分组
1263
+
1264
+    // 遍历每个直接下级
1265
+    foreach ($get_childs as $child) {
1266
+        $child_group = [$child]; // 将直接下级加入分组
1267
+        $recursive_children = $this->getRecursiveChildren($child); // 获取直接下级的所有子级
1268
+        $child_group = array_merge($child_group, $recursive_children); // 将子级加入分组
1269
+        $children_group[] = $child_group; // 将分组加入最终结果
1270
+    }
1271
+
1272
+
1273
+    $get_teams_comm_datas = [];
1274
+    foreach($children_group as $v){
1275
+                
1276
+        $get_teams_comm_datas[] = $this->getteampv($v);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
1277
+   }
1278
+
1279
+   if(count($get_teams_comm_datas)  > 0){
1280
+
1281
+
1282
+        // 找到最大值作为大部门
1283
+        $max_value = max($get_teams_comm_datas);
1284
+        $total_sum = array_sum($get_teams_comm_datas); // 计算数组的总和
1285
+
1286
+        // 小部门为总和减去最大值
1287
+        $small_department = $total_sum - $max_value;
1288
+
1289
+        //返回大部门和小部门
1290
+        return [
1291
+            $max_value,
1292
+            $small_department
1293
+        ];
1294
+
1295
+   }else{
1296
+    return [
1297
+       0,
1298
+       0
1299
+    ];
1300
+   }
1301
+
1302
+
1303
+}
1304
+
1220 1305
     
1221 1306
 
1222 1307
 //获取大小部门业绩(新表小标0是大部门,下标1是小部门)

+ 511 - 52
app/controller/api/user/User.php

@@ -1370,11 +1370,11 @@ class User extends BaseController
1370 1370
 
1371 1371
 
1372 1372
         if($teamid == 592){
1373
-             $teamid = 593;//593
1373
+             $teamid = 17;//593
1374 1374
 
1375 1375
             
1376 1376
 
1377
-                $team_userinfo_old_jbp1 = $this->getPerformance($teamid);
1377
+                $team_userinfo_old_jbp1 = $this->getPerformance22($teamid);
1378 1378
 
1379 1379
            
1380 1380
                 var_dump($team_userinfo_old_jbp1);return;
@@ -3526,45 +3526,37 @@ public function getNewTeamPv($common_nums) {
3526 3526
 public function getteampv($common_nums) {
3527 3527
 
3528 3528
 
3529
-        // 查询当前用户及其子级的所有订单
3530
-        $orders = Db::name("store_order")
3531
-                    ->whereIn('status', [0, 1, 2, 3])
3532
-                    ->whereIn("uid", $common_nums)
3533
-                    ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
3534
-                    ->select();
3535
-
3536
-        // 计算总业绩
3537
-        $totalPv = 0;
3538
-        foreach ($orders as $order) {
3539
-            
3540
-           // var_dump($order['uid']."订单:".$order['total_price']);
3541
-            if ($order['total_price'] == 1180) {
3542
-                $totalPv += 700;
3543
-            } else if ($order['total_price'] == 11800) {
3544
-                $totalPv += 7000;
3545
-            } else if ($order['total_price'] == 10620) {
3546
-                $totalPv += 6300;
3547
-            } else if ($order['total_price'] == 2360) {
3548
-                $totalPv += 1400;
3549
-            } else if ($order['total_price'] == 9440) {
3550
-                $totalPv += 5600;
3551
-            }
3552
-        }
3553
-
3554
-        //除了会员专区的其他区所有订单产生的业绩汇总在user表中的pv中
3555
-        // $user_datas = Db::name("user")
3556
-      
3557
-        // ->whereIn("uid", $common_nums)
3558
-       
3559
-        // ->select();
3529
+    // 查询当前用户及其子级的所有订单
3530
+    $orders = Db::name("store_order")
3531
+                ->whereIn('status', [0, 1, 2, 3])
3532
+                ->whereIn("uid", $common_nums)
3533
+                ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
3534
+                ->select();
3560 3535
 
3561
-        // foreach ($user_datas as $v) {
3562
-        //     $totalPv += $v['pv'];
3563
-        // }
3536
+    // 初始化业绩和人数
3537
+    $totalPv = 0;
3538
+    $totalUsers = count($common_nums); // 初始化人数为子级总数
3564 3539
 
3565
-       
3540
+    // 遍历订单计算业绩
3541
+    foreach ($orders as $order) {
3542
+        if ($order['total_price'] == 1180) {
3543
+            $totalPv += 700;
3544
+        } else if ($order['total_price'] == 11800) {
3545
+            $totalPv += 7000;
3546
+        } else if ($order['total_price'] == 10620) {
3547
+            $totalPv += 6300;
3548
+        } else if ($order['total_price'] == 2360) {
3549
+            $totalPv += 1400;
3550
+        } else if ($order['total_price'] == 9440) {
3551
+            $totalPv += 5600;
3552
+        }
3553
+    }
3566 3554
 
3567
-    return $totalPv;
3555
+    // 返回业绩和人数
3556
+    return [
3557
+        'totalPv' => $totalPv,
3558
+        'totalUsers' => $totalUsers
3559
+    ];
3568 3560
 }
3569 3561
 
3570 3562
   // 递归获取所有子级 UID 的业绩
@@ -3698,6 +3690,406 @@ public function processArray($array) {
3698 3690
     return $result;
3699 3691
 }
3700 3692
 
3693
+
3694
+//获取当前uesr_id下面在2.0中是否还有直接下级,并计算她的大部门和小部门
3695
+public function getparents_child_pv($user_id){
3696
+        // 获取直接下级的 UID 列表
3697
+    $get_childs = Db::name("user")
3698
+    ->where("spread_uid", $user_id)
3699
+    ->column("uid");
3700
+
3701
+// 初始化总业绩和总人数
3702
+$total_value = 0;
3703
+$total_count = 0;
3704
+$max_value = 0;
3705
+$max_count = 0;
3706
+
3707
+// 遍历每个直接下级
3708
+foreach ($get_childs as $child) {
3709
+    // 获取当前下级及其子级
3710
+    $child_group = [$child];
3711
+    $recursive_children = $this->getRecursiveChildren($child);
3712
+    $child_group = array_merge($child_group, $recursive_children);
3713
+
3714
+    // 获取当前分组的业绩和人数
3715
+    $result = $this->getteampv($child_group);
3716
+    $group_pv = $result['totalPv'];
3717
+    $group_count = $result['totalUsers'];
3718
+
3719
+    // 累加总业绩和总人数
3720
+    $total_value += $group_pv;
3721
+    $total_count += $group_count;
3722
+
3723
+    // 更新最大业绩及其对应的人数
3724
+    if ($group_pv > $max_value) {
3725
+        $max_value = $group_pv;
3726
+        $max_count = $group_count;
3727
+    }
3728
+}
3729
+
3730
+// 计算小部门的业绩和人数
3731
+$small_department_value = $total_value - $max_value;
3732
+$small_department_count = $total_count - $max_count;
3733
+
3734
+// 返回结果
3735
+return [
3736
+    'team_pv' => $max_value,
3737
+    'team_num' => $max_count,
3738
+    'per_pv' => $small_department_value,
3739
+    'per_num' => $small_department_count
3740
+];
3741
+    
3742
+  
3743
+}
3744
+
3745
+//根据父级IDS获取伞下的所有子级ID
3746
+function getRecursiveChildren_s($parentUid) {
3747
+    $result = []; // 用于存储所有子级的 uid
3748
+
3749
+    // 定义递归函数
3750
+    $recursion = function ($currentUid) use (&$result, &$recursion) {
3751
+        // 查询当前父级的所有直接子级
3752
+        $children = Db::name("user")
3753
+                      ->where("spread_uid", $currentUid)
3754
+                      ->column("uid"); // 获取子级的 uid 列表
3755
+
3756
+        // 如果没有子级,直接返回
3757
+        if (empty($children)) {
3758
+            return;
3759
+        }
3760
+
3761
+        // 遍历每个子级
3762
+        foreach ($children as $childUid) {
3763
+            $result[] = $childUid; // 将子级的 uid 添加到结果数组
3764
+            $recursion($childUid); // 递归查询子级的子级
3765
+        }
3766
+    };
3767
+
3768
+    // 从初始父级开始递归查询
3769
+    $recursion($parentUid);
3770
+
3771
+    return array_unique($result); // 返回结果数组,并去重
3772
+}
3773
+
3774
+ /**
3775
+     * 获取当前用户业绩
3776
+     */
3777
+    public function getPerformance22($user_id) {
3778
+        $team_amount = 0;
3779
+        $person_amount = 0;
3780
+        //$user_id = 17;
3781
+        
3782
+         $result_big_team_arr = [];
3783
+         $get_teams_comm_datas = [];//在2.0中获取父级下面的所有团队数据
3784
+        //共建联盟业绩 个人联盟业绩 共建联盟总pv 个人联盟业绩pv
3785
+        $common_nums = $this->getCommonNums($user_id);
3786
+      
3787
+        //var_dump($common_nums);
3788
+        $get_teams_comm_num = 0;
3789
+        $get_teams_comm_pv = 0;
3790
+
3791
+        $get_teams_per_num = 0;//小部门人数
3792
+        //1.0系统中有下级,需要在2.0中再加下级数据
3793
+        if($user_id < 611){
3794
+             //梅红在2.0中的ID是780
3795
+           
3796
+         
3797
+            //用户三峡所有在2.0系统下面的业绩和人数 start
3798
+            $child_nums = [];
3799
+         
3800
+            //获取当前用户
3801
+            foreach($common_nums as $v){
3802
+                $child_nums[] = $this->getRecursiveChildren($v);
3803
+            }
3804
+            
3805
+           
3806
+         
3807
+            //去除空数组,并重新组合有数据的数组
3808
+            $filteredData = array_filter($child_nums, function($array) {
3809
+                return !empty($array); // 如果数组不为空,则保留
3810
+            });
3811
+
3812
+            // 合并所有非空数组
3813
+           
3814
+            foreach ($filteredData as $array) {
3815
+                $result_big_team_arr = array_merge($result_big_team_arr, $array);
3816
+            }
3817
+         //var_dump($result_big_team_arr);
3818
+            //获取当前用户下面在2.0中的下级所有PV
3819
+            //$get_teams_comm_pv = $this->getteampv($result_big_team_arr);
3820
+            $t_pv = $this->getteampv($result_big_team_arr);
3821
+            $get_teams_comm_pv =$t_pv['totalPv'];
3822
+            //var_dump($get_teams_comm_pv);
3823
+
3824
+            //获取当前用户下面在2.0中的下级所有人数
3825
+            $get_teams_comm_num = count($result_big_team_arr);
3826
+           
3827
+            //用户伞下小部门所有在2.0系统下面的业绩和人数 end
3828
+        }else{
3829
+          
3830
+               //当前用户在1.0没有下级,那直接在新系统2.0找下级获取数据,并区分大小部门
3831
+              $child_nums = $this->getChildren($user_id);
3832
+             
3833
+              //获取父级子级下面的个人
3834
+              $num_teams = $this->getTeamSize($child_nums);
3835
+          
3836
+              
3837
+              foreach($child_nums as $v){
3838
+                
3839
+                   $get_teams_comm_datas[] = $this->getTeamPv11($v);//如果有多个父级ID,需要获取他们伞下的子级,所有的业绩进行
3840
+              }
3841
+
3842
+              //$s = $this->getparents_child_pv($user_id);
3843
+
3844
+              //var_dump($get_teams_comm_datas);
3845
+              //如果只有一个部门,就是默认大部门
3846
+              if( count($get_teams_comm_datas) ==1 ){
3847
+                  
3848
+                  $get_teams_comm_pv =$get_teams_comm_datas[0];
3849
+                  $get_teams_comm_num = $num_teams[0]['total_count'];
3850
+                  
3851
+              }else if(count($get_teams_comm_datas) >1){
3852
+
3853
+               // var_dump( $get_teams_comm_datas);
3854
+                    //获取一个最大值,设为大部门,其他的加载一块是小部门
3855
+                    $getss = $this->processArray($get_teams_comm_datas);
3856
+                 
3857
+                    $max_value_count = $num_teams[$getss['max_index']]['total_count'];
3858
+
3859
+                    unset($num_teams[$getss['max_index']]);
3860
+
3861
+                       //获取小部门的人数
3862
+                       $per_num = 0;
3863
+                       foreach($num_teams as $k=>$v){
3864
+                        $per_num +=$v['total_count'];
3865
+                       }
3866
+        
3867
+                    //找到最大值的(大部门)
3868
+                    $get_teams_comm_num = $max_value_count;
3869
+                    //小部门的数量
3870
+                    $get_teams_per_num =  $per_num;
3871
+                    //var_dump($getss['max_value']);
3872
+                    $person_amount = $getss['remaining_sum'];
3873
+                    $get_teams_comm_pv = $getss['max_value'];
3874
+              }
3875
+              
3876
+              
3877
+        }
3878
+        
3879
+        //合并业绩和人数
3880
+        $team_amount += $get_teams_comm_pv;
3881
+           
3882
+        //var_dump($team_amount);
3883
+        //1.0获取小区业绩
3884
+        $person_nums = $this->getPersonageNums($user_id);
3885
+      // var_dump($person_nums);
3886
+        $result_small_team_arr = [];
3887
+          //1.0系统中有下级,需要在2.0中再加下级数据
3888
+     
3889
+      
3890
+      
3891
+           //用户三峡所有在2.0系统下面的业绩和人数 start
3892
+            $child_nums_mix = [];
3893
+
3894
+              //获取当前用户
3895
+            foreach($person_nums as $v){
3896
+                $child_nums_mix[] = $this->getRecursiveChildren($v);
3897
+            }
3898
+       
3899
+            //去除空数组,并重新组合有数据的数组
3900
+            $filteredData_1 = array_filter($child_nums_mix, function($array) {
3901
+                return !empty($array); // 如果数组不为空,则保留
3902
+            });
3903
+            
3904
+            // 合并所有非空数组
3905
+            $result_small_team_arr = [];
3906
+            foreach ($filteredData_1 as $array) {
3907
+                $result_small_team_arr = array_merge($result_small_team_arr, $array);
3908
+            }
3909
+
3910
+
3911
+            //var_dump($result_small_team_arr);
3912
+            //获取当前用户下面在2.0中的下级所有PV
3913
+           // $get_teams_per_pv = $this->getteampv($result_small_team_arr);
3914
+           $t_pv = $this->getteampv($result_small_team_arr);
3915
+           $get_teams_per_pv =$t_pv['totalPv'];
3916
+            //var_dump(  $get_teams_per_pv);
3917
+          
3918
+       
3919
+        
3920
+        
3921
+          //获取当前用户下面在2.0中的下级所有人数
3922
+            $get_teams_per_num += count($result_small_team_arr);
3923
+            //合并业绩和人数
3924
+            $person_amount += $get_teams_per_pv;
3925
+
3926
+            
3927
+        //     if($user_id == 593){
3928
+        //         $person_amount = 2800;
3929
+               
3930
+        //    }
3931
+
3932
+        //var_dump($person_amount);
3933
+        //用户小部门所有在2.0系统下面的业绩和人数 end
3934
+
3935
+      
3936
+        // $common_nums[] = $user_id;
3937
+        foreach ($common_nums as $key => $value) {
3938
+            # code...
3939
+            $amount = $this->getPerformance1($value);
3940
+            $team_amount += $amount;
3941
+        }
3942
+        foreach ($person_nums as $key => $value) {
3943
+            # code...
3944
+            $amount = $this->getPerformance1($value);
3945
+            $person_amount += $amount;
3946
+        }
3947
+        //var_dump($team_amount);
3948
+
3949
+        //
3950
+         
3951
+        if($user_id < 611){
3952
+         
3953
+            //获取当前用户直属下级(查询在2.0中直接推荐人和伞下的业绩。并比对大小部门)
3954
+            //例子:17所有下面uid是speard_uid都是17的,和所有伞下的业绩。分出大小部门,加到1.0的大小部门中
3955
+            $b_s = $this->getparents_child_pv($user_id);
3956
+            
3957
+            //var_dump( $b_s);echo "yyyyyyyyyyyyy";
3958
+            $team_amount += $b_s['team_pv'];
3959
+            $get_teams_comm_num += $b_s['team_num'];
3960
+
3961
+
3962
+           $person_amount += $b_s['per_pv'];
3963
+
3964
+           $get_teams_per_num += $b_s['per_num'];//小部门人数
3965
+           //var_dump( $b_s['team_num'],$b_s['per_num']);
3966
+        }
3967
+       
3968
+
3969
+
3970
+        $user_team_amount = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 1180)->select();
3971
+
3972
+        //$money1180Records = $this->old_user_of_goods->where('status', 1)->where('money', 1180)->select();
3973
+// 计算 status 为 1 且 money 为 1180 的记录总和(减去相应值后)
3974
+        $money1180Sum = 0;
3975
+        foreach ($user_team_amount as $record) {
3976
+            $money1180Sum += $record['money'] - 300 - 180;
3977
+        }
3978
+
3979
+// 获取 status 为 1 且 money 为 11800 的记录集合
3980
+
3981
+        $money11800Records = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 11800)->select();
3982
+
3983
+// 计算 status 为 1 且 money 为 11800 的记录总和(减去相应值后)
3984
+        $money11800Sum = 0;
3985
+        foreach ($money11800Records as $record) {
3986
+            $money11800Sum += $record['money'] - 3000 - 1800;
3987
+        }
3988
+
3989
+        $money10620Records = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 10620)->select();
3990
+
3991
+// 计算 status 为 1 且 money 为 11800 的记录总和(减去相应值后)
3992
+        $money10620Sum = 0;
3993
+        foreach ($money10620Records as $record) {
3994
+            $money10620Sum += $record['money'] - 2700 - 1620;
3995
+        }
3996
+
3997
+// 计算除去特定值后的总和
3998
+//$otherMoneyRecords = $this->old_user_of_goods->where('status', 1)->whereNotIn('money', [1180, 11800])->select();
3999
+        $otherMoneyRecords = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->whereNotIn('money', [1180, 11800 ,10620])->select();
4000
+        $otherMoneySum = 0;
4001
+        foreach ($otherMoneyRecords as $record) {
4002
+            $otherMoneySum += $record['money'];
4003
+        }
4004
+     
4005
+
4006
+// 分别处理特定值的情况并加上其他值的总和
4007
+        $all_record_nums = $money1180Sum + $money11800Sum + $money10620Sum + round($otherMoneySum * 0.7,2);
4008
+        // var_dump($all_record_nums);
4009
+        $team_amount += $all_record_nums;
4010
+       // var_dump($user_team_amount);
4011
+        //计算自己的个人联盟总流水
4012
+   
4013
+        // // //计算自己的个人联盟总流水
4014
+        // $user_person_amount = Db::name("old_user_of_goods")->whereIn("user_id",$person_nums)->where("node_id",$user_id)->where('status',1)->sum("money");
4015
+        // $user_person_amount = empty($user_person_amount) ? 0 : round($user_person_amount * 0.7,2);
4016
+        // $person_amount += $user_person_amount;
4017
+        //计算个人的1180单价的业绩 集合
4018
+        $money1180Records = Db::name("old_user_of_goods")->whereIn("user_id",$person_nums)->where("node_id",$user_id)->where("money",1180)->select();
4019
+
4020
+        $money1180Sum = 0;
4021
+
4022
+        foreach ($money1180Records as $record) {
4023
+            $money1180Sum += $record['money'] - 300 - 180;
4024
+        }
4025
+
4026
+        $money11800Records = Db::name("old_user_of_goods")->whereIn("user_id",$person_nums)->where("node_id",$user_id)->where("money",11800)->select();
4027
+
4028
+        //var_dump($person_nums);
4029
+        //计算个人的11800单价的业绩 集合
4030
+        $money11800Sum = 0;
4031
+
4032
+        foreach ($money11800Records as $record) {
4033
+            $money11800Sum += $record['money'] - 3000 - 1800;
4034
+        }
4035
+
4036
+
4037
+        $money10620Records = Db::name("old_user_of_goods")->whereIn("user_id",$person_nums)->where("node_id",$user_id)->where("money",10620)->select();
4038
+
4039
+        //var_dump($person_nums);
4040
+        //计算个人的10620单价的业绩 集合
4041
+        $money10620Sum = 0;
4042
+
4043
+        foreach ($money10620Records as $record) {
4044
+            $money10620Sum += $record['money'] - 2700 - 1620;
4045
+        }
4046
+
4047
+
4048
+        // 计算除去特定值后的总和
4049
+        $otherMoneyRecords = Db::name("old_user_of_goods")->whereIn("user_id",$person_nums)->where("node_id",$user_id)->whereNotIn('money', [1180, 11800 ,10620])->select();
4050
+        $otherMoneySum = 0;
4051
+        foreach ($otherMoneyRecords as $record) {
4052
+            $otherMoneySum += $record['money'];
4053
+        }
4054
+
4055
+        // 分别处理特定值的情况并加上其他值的总和
4056
+        $user_person_amount = $money1180Sum + $money11800Sum +$money10620Sum + round($otherMoneySum * 0.7,2);
4057
+
4058
+
4059
+        $person_amount += $user_person_amount;
4060
+
4061
+
4062
+        //级别信息
4063
+        $userInfo = Db::name("user")->find($user_id);//
4064
+        $zk_level = 4;
4065
+        $is_zk = false;
4066
+        if($userInfo['user_level_id_old'] == $zk_level) {
4067
+            $is_zk = true;
4068
+            $sales_incentive_info = $this->getStarLevel($user_id,$team_amount,$person_amount);
4069
+            $sales_incentive = isset($sales_incentive_info['title']) ? $sales_incentive_info['title'] : '';
4070
+        } else{
4071
+            $sales_incentive = 0;
4072
+        }
4073
+
4074
+
4075
+        $return_data = [
4076
+            'common_nums'=>count($common_nums) + $get_teams_comm_num,
4077
+            'person_nums'=>count($person_nums) + $get_teams_per_num,
4078
+            'common_nums_pv'=> $team_amount,
4079
+            'person_nums_pv'=> $person_amount,
4080
+            'sum_nums_pv' =>$team_amount + $person_amount,
4081
+            'sales_incentive' => $sales_incentive,
4082
+            "is_zk"=>$is_zk
4083
+        ];
4084
+        return $return_data;
4085
+
4086
+
4087
+
4088
+
4089
+
4090
+    }
4091
+
4092
+
3701 4093
     /**
3702 4094
      * 获取当前用户业绩
3703 4095
      */
@@ -3714,13 +4106,15 @@ public function processArray($array) {
3714 4106
         //var_dump($user_id);
3715 4107
         $get_teams_comm_num = 0;
3716 4108
         $get_teams_comm_pv = 0;
4109
+
4110
+        $get_teams_per_num = 0;//小部门人数
3717 4111
         //1.0系统中有下级,需要在2.0中再加下级数据
3718 4112
         if($user_id < 611){
3719 4113
              //梅红在2.0中的ID是780
3720
-            if($user_id == 593){
3721
-                 $common_nums[] = 780;
3722
-                 unset($common_nums[0]);
3723
-            }
4114
+            // if($user_id == 593){
4115
+            //      $common_nums[] = 780;
4116
+            //      unset($common_nums[0]);
4117
+            // }
3724 4118
             //var_dump($common_nums);
3725 4119
             //用户三峡所有在2.0系统下面的业绩和人数 start
3726 4120
             $child_nums = [];
@@ -3729,15 +4123,15 @@ public function processArray($array) {
3729 4123
             $common_ns[] = $user_id;
3730 4124
             //var_dump($common_ns);return;
3731 4125
               //获取当前用户
3732
-            foreach($common_ns as $v){
4126
+            foreach($common_nums as $v){
3733 4127
                 $child_nums[] = $this->getRecursiveChildren($v);
3734 4128
             }
3735 4129
           
3736 4130
               //梅红在2.0中的ID是780
3737
-            if($user_id == 593){
3738
-                 $child_nums[0][] = 780;
4131
+            // if($user_id == 593){
4132
+            //      $child_nums[0][] = 780;
3739 4133
                 
3740
-            }
4134
+            // }
3741 4135
           
3742 4136
 
3743 4137
             //去除空数组,并重新组合有数据的数组
@@ -3753,7 +4147,14 @@ public function processArray($array) {
3753 4147
           
3754 4148
             //var_dump($result_big_team_arr);echo "ppppppppppppppppp";
3755 4149
             //获取当前用户下面在2.0中的下级所有PV
3756
-            $get_teams_comm_pv = $this->getteampv($result_big_team_arr);
4150
+            $t_pv = $this->getteampv($result_big_team_arr);
4151
+            $get_teams_comm_pv =$t_pv['totalPv'];
4152
+          
4153
+        //     if($user_id == 593){
4154
+        //         $get_teams_comm_pv = 7000;
4155
+               
4156
+        //    }
4157
+
3757 4158
            //var_dump($get_teams_comm_pv);
3758 4159
             //获取当前用户下面在2.0中的下级所有人数
3759 4160
             $get_teams_comm_num = count($result_big_team_arr);
@@ -3778,9 +4179,31 @@ public function processArray($array) {
3778 4179
                   $get_teams_comm_num = $num_teams[0]['total_count'];
3779 4180
                   
3780 4181
               }else if(count($get_teams_comm_datas) >1){
4182
+                //     $getss = $this->processArray($get_teams_comm_datas);
4183
+                  
4184
+                //    $team_datas = $num_teams[$getss['max_index']];
4185
+
4186
+                  // var_dump( $get_teams_comm_datas);
4187
+                    //获取一个最大值,设为大部门,其他的加载一块是小部门
3781 4188
                     $getss = $this->processArray($get_teams_comm_datas);
3782
-                    //var_dump($getss);
3783
-                   $team_datas = $num_teams[$getss['max_index']];
4189
+                 
4190
+                    $max_value_count = $num_teams[$getss['max_index']]['total_count'];
4191
+
4192
+                    unset($num_teams[$getss['max_index']]);
4193
+
4194
+                       //获取小部门的人数
4195
+                       $per_num = 0;
4196
+                       foreach($num_teams as $k=>$v){
4197
+                        $per_num +=$v['total_count'];
4198
+                       }
4199
+         
4200
+                    //找到最大值的(大部门)
4201
+                    $get_teams_comm_num = $max_value_count;
4202
+                    //小部门的数量
4203
+                    $get_teams_per_num =  $per_num;
4204
+                    //var_dump($getss['max_value']);
4205
+                    $person_amount = $getss['remaining_sum'];
4206
+                    $get_teams_comm_pv = $getss['max_value'];
3784 4207
               }
3785 4208
               
3786 4209
               
@@ -3822,16 +4245,24 @@ public function processArray($array) {
3822 4245
             }
3823 4246
            
3824 4247
             //获取当前用户下面在2.0中的下级所有PV
3825
-            $get_teams_per_pv = $this->getteampv($result_small_team_arr);
3826
-          
4248
+           // $get_teams_per_pv = $this->getteampv($result_small_team_arr);
4249
+            $t_pv = $this->getteampv($result_small_team_arr);
4250
+            $get_teams_per_pv =$t_pv['totalPv'];
3827 4251
           
3828 4252
        
3829 4253
         
3830 4254
         
3831 4255
           //获取当前用户下面在2.0中的下级所有人数
3832
-            $get_teams_per_num = count($result_small_team_arr);
4256
+            $get_teams_per_num += count($result_small_team_arr);
3833 4257
             //合并业绩和人数
3834 4258
             $person_amount += $get_teams_per_pv;
4259
+
4260
+            
4261
+        //     if($user_id == 593){
4262
+        //         $person_amount = 2800;
4263
+               
4264
+        //    }
4265
+
3835 4266
         //var_dump($person_amount);
3836 4267
         //用户小部门所有在2.0系统下面的业绩和人数 end
3837 4268
 
@@ -3849,6 +4280,27 @@ public function processArray($array) {
3849 4280
         }
3850 4281
         //var_dump($team_amount);
3851 4282
 
4283
+            
4284
+        if($user_id < 611){
4285
+         
4286
+            //获取当前用户直属下级(查询在2.0中直接推荐人和伞下的业绩。并比对大小部门)
4287
+            //例子:17所有下面uid是speard_uid都是17的,和所有伞下的业绩。分出大小部门,加到1.0的大小部门中
4288
+            $b_s = $this->getparents_child_pv($user_id);
4289
+            
4290
+            //var_dump( $b_s);echo "yyyyyyyyyyyyy";
4291
+           $team_amount += $b_s['team_pv'];
4292
+            $get_teams_comm_num += $b_s['team_num'];
4293
+
4294
+
4295
+           $person_amount += $b_s['per_pv'];
4296
+
4297
+           $get_teams_per_num += $b_s['per_num'];//小部门人数
4298
+           
4299
+
4300
+
4301
+            //var_dump($team_amount,$person_amount );
4302
+        }
4303
+
3852 4304
 
3853 4305
 
3854 4306
         $user_team_amount = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 1180)->select();
@@ -3860,6 +4312,13 @@ public function processArray($array) {
3860 4312
             $money1180Sum += $record['money'] - 300 - 180;
3861 4313
         }
3862 4314
 
4315
+             
4316
+            if($user_id == 593){
4317
+                $money1180Sum -= 700;
4318
+               
4319
+           }
4320
+
4321
+
3863 4322
 // 获取 status 为 1 且 money 为 11800 的记录集合
3864 4323
 
3865 4324
         $money11800Records = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 11800)->select();