Quellcode durchsuchen

Merge branch 'master' into huangfamily

family vor 1 Jahr
Ursprung
Commit
65ad0ef943

+ 4 - 2
app/common/repositories/store/order/StoreOrderRepository.php

@@ -9562,7 +9562,8 @@ class StoreOrderRepository extends BaseRepository
9562 9562
 
9563 9563
                 //给推广者分配养老金
9564 9564
                 //给推广者分配佣金
9565
-                if ($user_data['spread_uid'] != 0) {
9565
+               // if ($user_data['spread_uid'] != 0) {
9566
+                if ($user_data['uid'] > 611) {
9566 9567
                     //查询下单用户上级身份
9567 9568
                     $spread_data = Db::name('user')->where('uid', $user_data['spread_uid'])->find();
9568 9569
 
@@ -9793,7 +9794,8 @@ class StoreOrderRepository extends BaseRepository
9793 9794
 
9794 9795
             //给推广者分配养老金
9795 9796
             //给推广者分配佣金
9796
-            if ($user_data['spread_uid'] != 0) {
9797
+            // if ($user_data['spread_uid'] != 0) {
9798
+                if ($user_data['uid'] > 611) {
9797 9799
 
9798 9800
 
9799 9801
                 $spread_data = Db::name('user')->where('uid', $user_data['spread_uid'])->find();

+ 5 - 2
app/controller/api/Notify.php

@@ -183,7 +183,8 @@ class Notify
183 183
 
184 184
                                     //给推广者分配养老金
185 185
                                     //给推广者分配佣金
186
-                                    if($user_data['spread_uid'] != 0){
186
+                                    // if ($user_data['spread_uid'] != 0) {
187
+                                    if ($user_data['uid'] > 611) {
187 188
                                         //查询下单用户上级身份
188 189
                                         $spread_data = Db::name('user')->where('uid',$user_data['spread_uid'])->find();
189 190
 
@@ -429,7 +430,9 @@ class Notify
429 430
 
430 431
                                 //给推广者分配养老金
431 432
                                 //给推广者分配佣金(2.0系统中)
432
-                                if($user_data['spread_uid'] != 0){
433
+                           
434
+                                 // if ($user_data['spread_uid'] != 0) {
435
+                                if ($user_data['uid'] > 611) {
433 436
 
434 437
                                     $spread_data = Db::name('user')->where('uid',$user_data['spread_uid'])->find();
435 438
                                     //user_group=1是消费者,2:业务,3:业务经理,4:初级合伙人,5:中级合伙人,6:高级合伙人,7:董事

+ 63 - 276
app/controller/api/store/merchant/Taskorder.php

@@ -90,9 +90,9 @@ class Taskorder extends BaseController
90 90
     //    var_dump($totalPv);return;    
91 91
     
92 92
         // $sf = $this->getStarLevel(221);
93
- //var_dump($sf);
94
-         // $ss = $this->getbig_samll_datas(221);//222
95
-
93
+ 
94
+        //$ss = $this->getbig_samll_datas(17);//222
95
+        //var_dump($ss);
96 96
           //$ff = $this->getPerformanceOf(221);
97 97
          // var_dump($ff);
98 98
     //var_dump($ss);   
@@ -104,257 +104,7 @@ class Taskorder extends BaseController
104 104
         //$week_record = 45500 + 1400 + 60000; //20250218
105 105
         //$week_record =23800 + 60000; //20250222
106 106
        // $week_record = 64400; //20250301
107
-        $week_record = 10500 + 50000; //20250310
108
-    //return;
109
-
110
-    
111
-        //股权分红 end
112
-    
113
-       
114
-     
115
-      //var_dump($week_record);die;//9912  8400
116
-      //$star_list = Db::name("user_star")->order("statement_all_num desc")->select()->toArray();//旧星级等级
117
-      $star_list = Db::name("old_user_starlevel")->order("statement_all_num desc")->select()->toArray();//星级等级
118
-     
119
-      $sales_arr = [];
120
-      foreach ($star_list as $key => $value) {
121
-          # code...
122
-          $star_data = [];
123
-          $star_data['profit_rate'] = $value['profit_rate'];
124
-          $star_data['divider_people'] = [];
125
-          $star_data['title'] = $value['title'];
126
-          $sales_arr[$value['id']] = $star_data;
127
-      }
128
-      
129
-
130
-     
131
-      $list = Db::name("user")->where("user_level_id_old", "IN", [4,6])->where("status","<>",0)->select()->toArray();
132
-    //var_dump($list);
133
-   
134
-      foreach ($list as $key => $value) {
135
-          # code...
136
-          $sales_incentive = $this->getStarLevel($value['uid']);//获取个人共建联盟和个人联盟所有金额,来对比星级联盟列表中处于那个阶段的 用户星级
137
-         // var_dump( $sales_incentive);return;
138
-          //这里的意思是将user_starlevel表中新增一个键名为divider_people,然后把符合当前合伙人级别的id都装进去
139
-          //分红比例
140
-          $rate_sales = isset($sales_incentive['profit_rate']) ? $sales_incentive['profit_rate'] :0; //profit_rate是分红的比例
141
-          if($rate_sales > 0) {
142
-             // var_dump($sales_incentive['title']);
143
-              $sales_arr[$sales_incentive['id']]['divider_people'][] = $value['uid']; //$value['id']是自己的userid,$sales_incentive['id']是对应的合伙人级别id
144
-              //$output->writeln('执行用户id-'.$value['id']);
145
-            
146
-            //      $aa = db::name("user")->where("uid",$value['uid'])->find();
147
-      
148
-            //   $sales_arr[$sales_incentive['id']]['divider_people_kkkkkkkkkkkkkkkkk'][] = "ID:" . $value['uid'] . " 昵称:" .$aa['user_name'] . " 姓名:" . $aa['uname_old']; 
149
-          
150
-            
151
-            //   if($sales_incentive['title'] == "初级"){
152
-            //   // var_dump( $value['uid'] );
153
-            //         // if($v['user_level_id_old']==2){
154
-            //              Db::name("user")->where("uid",$value['uid'])->update(["user_group"=>4]);
155
-            //          //}
156
-            //   }
157
-            }
158
-      }
159
-      //return;
160
- // var_dump($sales_arr);return;
161
-      //移动指定ID
162
-      // 要移动的ID数组
163
-       // echo "以下是移动后的数组";  
164
-// 要移动的ID数组
165
-$ids_to_remove_from_junior = array(12, 69, 144); // 从初级中移除的ID
166
-$ids_to_remove_from_intermediate = array(49); // 从中级中移除的ID
167
-
168
-// 查找初级并获取其divider_people
169
-$junior = &$sales_arr[1]['divider_people']; // 使用引用,以便直接修改数组
170
-
171
-// 查找中级并获取其divider_people
172
-$intermediate = &$sales_arr[2]['divider_people']; // 使用引用,以便直接修改数组
173
-
174
-// 从初级的divider_people中移除特定的ID
175
-foreach ($ids_to_remove_from_junior as $id) {
176
-  $key = array_search($id, $junior);
177
-  if ($key !== false) {
178
-      unset($junior[$key]); // 移除初级中的特定ID
179
-  }
180
-}
181
-
182
-// 从中级的divider_people中移除特定的ID
183
-foreach ($ids_to_remove_from_intermediate as $id) {
184
-  $key = array_search($id, $intermediate);
185
-  if ($key !== false) {
186
-      unset($intermediate[$key]); // 移除中级中的特定ID
187
-  }
188
-}
189
-
190
-// 重置数组的索引,因为unset会留下空位
191
-$sales_arr[1]['divider_people'] = array_values($junior);
192
-$sales_arr[2]['divider_people'] = array_values($intermediate);
193
-
194
-
195
-
196
-
197
-
198
-      
199
-//var_dump($sales_arr);return; //把初级中的   id是 12,69, 144从初级中去掉 ,id是49,从中级中去掉
200
-      
201
-      //移动指定ID_end
202
-   
203
-         //var_dump($sales_arr);return;
204
-      //$sales_arr获取分红的id和分红的比例 
205
-
206
-
207
-
208
-      
209
-    
210
-      //执行分开发放
211
-      foreach($sales_arr as $key =>$value) {
212
-          //比如这个周的总业绩是 8400
213
-          $sales_arr[$key]['fs_money_nums'] = round($week_record * $value['profit_rate']/100,2);//周总业绩(8400) * 合伙人级别的分佣比例(15%) = 可分红的佣金(1260)
214
-          
215
-          //可分红的业绩(分为两半,各50%,一部分是分给双联盟比例,一部分是小业绩比例)
216
-          $sales_arr[$key]['fs_money'] = round($sales_arr[$key]['fs_money_nums']/2,2);//把本周的业绩(8400) * 合伙人级别的分佣比例(15%) * 0.5 = 630(可分红佣金的 50%)
217
-          $people_moneys = 0;//当前合伙人级别双联盟总业绩
218
-          
219
-          $user_pv_min = 0;//合伙人大小区业绩,其中少的
220
-          
221
-          foreach ($value['divider_people'] as $k => $v) {
222
-              # code... 统计总双联盟流水
223
-              $user_pv_nums = $this->getPerformanceOf($v);//这里的$v是当前这个级别包含的userid,比如现在这个中级,的divider_people包含17,39两个uerid
224
-              
225
-              //$datauser = db::name("user")->where("id",$v)->find();
226
-              
227
-             
228
-              //var_dump($user_pv_nums);
229
-              //die;//337400 
230
-         
231
-             
232
-             // var_dump("id:" . $v ." 用户:".$datauser['user_name']." 双区总业绩:" . $user_pv_nums);
233
-              $people_moneys += $user_pv_nums;
234
-              
235
-              
236
-              
237
-              $user_pv_small_num = $this->getpersamllcomm($v);//返回是数组,下标0是最小的值(业绩小的),下标1是最大的值(业绩大的)
238
-              
239
-            //  var_dump("id:" . $v ." 用户:".$datauser['user_name']." 小区总业绩:" . $user_pv_small_num[0]);
240
-              $user_pv_min += $user_pv_small_num[0];
241
-            
242
-              
243
-          }
244
-          //同级所有合伙人双联盟总业绩
245
-          $sales_arr[$key]['owner_bill'] = $people_moneys;//当前级别所有的人的双联盟业绩(17和39都是中级合伙人,17的双区业绩是:337400  +  39的双区业绩是:189700 = 431032)
246
-          //同级合伙人所有少的业绩总和
247
-          $sales_arr[$key]['small_bill'] =$user_pv_min;//获取大小区业绩中,业绩少的部分,并将该级别的合伙人业绩最小的那部分全部加起来(17的大区业绩是 337400,小区业绩是 110110,
248
-          //所以他的业绩小的是 110110,39的大区业绩是 189700,小区业绩是 53200,所以他的业绩小的是 53200,我们把该级别所有合伙人的小的那部分业绩加起来的和是 153300)
249
-      }
250
-      //die;
251
-
252
-      //计算权重金额 只执行一次
253
-      
254
-      //执行分红
255
-      foreach ($sales_arr as $key => $value) {
256
-          # code...
257
-          $amont = $value['fs_money'];//可分红的总佣金,分红佣金的一半,中级合伙61.95
258
-          $fs_money_nums = $value['fs_money_nums'];//中级合伙人级别,可分红的总佣金
259
-          $owner_bill = $value['owner_bill'];//当前级别合伙人下面所有的双联盟业绩
260
-          $small_ow_bill = $value['small_bill'];//当前级别合伙人下面所有的小区(业绩小的部分)总业绩
261
-
262
-          //执行分红
263
-          if(count($value['divider_people']) <= 0 ) {
264
-              continue;
265
-          }
266
-          
267
-          // $every_award  = round( $amont/count($value['divider_people']),2);//比如当前为中级,中级有两个人 17和39.那么可分红的佣金是61.95(可分红佣金的50%),两个人平均分,每一份就是30.975
268
-          // if($every_award  == 0) {
269
-          //     continue;
270
-          // }
271
-
272
-          //每人分红金额
273
-          foreach ($value['divider_people'] as $v) {
274
-             // var_dump($v);
275
-             // $in_money = $every_award;
276
-              //个人双区总佣金 权重 计算
277
-              $my_bill = $this->getPerformanceOf($v);//比如uerid是12,他的双区总业绩就是287742
278
-              
279
-                //中级合伙人。userid=17可以分到双区可分红的金额
280
-              $my_weight_money = round($amont * ($my_bill/$owner_bill),2);//可分红的佣金 * (中级合伙人个人的双区总业绩 / 当前等级所有合伙人的双联盟业绩) = 当前用户可以获取到的分红佣金(双区联盟总业绩加权佣金),287742 * (61.95/431032)=41.36
281
-              
282
-              //个人小区(佣金少的一部分) 权重 计算权重
283
-               $user_pv_small_num = $this->getpersamllcomm($v);//返回是数组,下标0是最小的值(业绩小的),下标1是最大的值(业绩大的)
284
-               $my_mix_money = round($amont * ($user_pv_small_num[0]/$small_ow_bill),2);
285
-
286
-
287
-               # code...
288
-               $all_award = $my_weight_money + $my_mix_money; 
289
-          
290
-               //90%给佣金,10给复购金
291
-               $yj_90 = $all_award * 0.9;
292
-               $fg_10 = $all_award * 0.1;
293
-
294
-
295
-               
296
-               $userdatassss = db::name("old_user_jbp")->where("id",$v)->find();    
297
-               $datas_log = [
298
-        'note'=>"名称:".  $userdatassss['nick_name']  ." 用户:". $v . " 双联盟总业绩:" . $owner_bill ." 我的双区业绩:". $my_bill . " 小区总业绩:".$small_ow_bill." 我的业绩小的:" . $user_pv_small_num[0] . "  可分红佣金:" .$amont . "  可分红总佣金:" . $fs_money_nums . "  小区业绩可分红:" . $my_mix_money . " 大区业绩可分红:" .$my_weight_money . " 实际分得:". $yj_90,
299
-                'create_time'=>date('Y-m-d H:i:s')
300
-               ];
301
-               $con_data = Db::name('test_log')->insert($datas_log);   //数据存到2.0数据表中    
302
-
303
-               # code...
304
-               $res = Db::name("user")->where("uid",$v)->inc("total_amount_old",$yj_90)->save();
305
-
306
-               Db::name("user")->where("uid",$v)->inc("amount_old",$yj_90)->save();//不用冻结金额和提现额度来限制佣金发放
307
-               Db::name("user")->where("uid",$v)->inc("brokerage_price",$yj_90)->save();
308
-
309
-               Db::name("user")->where("uid",$v)->inc("fugou",$fg_10)->save();
310
-           
311
-           
312
-              
313
-             //if($res) {
314
-                  $this->change_user_log($v,'amount_old',1,$yj_90,"member_award","星级分红入账"."-".$value['title']);//释放佣金
315
-                  //入账星级分红记录表
316
-                  $week_data = [];
317
-                  $week_data['user_id'] =  $v;
318
-                  $week_data['user_star_id'] =  $key;
319
-                  $week_data['award_num'] =  $my_weight_money;
320
-                  $week_data['award_num_sm'] =  $my_mix_money;
321
-                  $week_data['remark'] =  "星级分红主动执行:" . $yj_90;
322
-                  $week_data['week_record'] =  $week_record;
323
-                  $week_data['all_amount'] =  $fs_money_nums;
324
-                  $week_data['radio'] =  2;
325
-                  $week_data['owner_bill'] =  $owner_bill;  //总流水金额
326
-                  $week_data['my_bill'] = $my_bill;  //我的流水
327
-                  $week_data['create_time'] = time();
328
-                 
329
-                  Db::name("old_user_weekaward")->insert($week_data);
330
-
331
-
332
-                  $this->bill_user_log111111($v,"合伙人分佣",$yj_90,"合伙人分佣明细入账",11);//联创分佣明细2.0系统
333
-                  $this->fugou_user_log($v,$fg_10,16,1,1);//复购金明细入账
334
-              //}
335
-          }
336
-
337
-      }
338
-
339
-     // $output->writeln('星级奖励发放成功');
340
-  }
341
-
342
-//上上周和上上上周weeksage:2上上周,3是上上上周    
343
-// public function getWeekStartEnd($weeksAgo = 2)
344
-// {
345
-//      $now = time();
346
-//     // 计算指定周次的周一 00:00 的时间戳
347
-//     $mondayStart = strtotime('last Monday', strtotime('-' . $weeksAgo . ' weeks', $now));
348
-//     if (date('w', $mondayStart) != 1) {
349
-//         // 如果计算出的周一不是周一(即当天不是周一),则调整到正确的周一
350
-//         $mondayStart = strtotime('last Monday', $mondayStart);
351
-//     }
352
-//     // 计算指定周次的周日 23:59:59 的时间戳
353
-//     $sundayEnd = strtotime('next Sunday', $mondayStart) + 86399 - 1;
354
-
355
-//     return [$mondayStart, $sundayEnd];
356
-// }
357
-
107
+        
358 108
 
359 109
     //添加复购金
360 110
     public function fugou_user_log($uid,$num,$order_id,$type_inc_des,$status=-1){
@@ -1034,33 +784,70 @@ public function processArray($array) {
1034 784
 }
1035 785
 
1036 786
     // 根据父级uid,递归获取所有子级UID数组
1037
-function getRecursiveChildren($parentUid) {
1038
-    $result = []; // 用于存储所有子级的 uid
787
+// function getRecursiveChildren($parentUid) {
788
+//     $result = []; // 用于存储所有子级的 uid
789
+
790
+//     // 定义递归函数
791
+//     $recursion = function ($parentUid) use (&$result, &$recursion) {
792
+//         // 查询当前父级的所有直接子级
793
+//         $children = Db::name("user")
794
+//                       ->where("spread_uid", $parentUid)
795
+//                       ->column("uid"); // 获取子级的 uid 列表
796
+
797
+//         // 如果没有子级,直接返回
798
+//         if (empty($children)) {
799
+//             return;
800
+//         }
801
+
802
+//         // 遍历每个子级
803
+//         foreach ($children as $childUid) {
804
+//             $result[] = $childUid; // 将子级的 uid 添加到结果数组
805
+//             $recursion($childUid); // 递归查询子级的子级
806
+//         }
807
+//     };
808
+
809
+//     // 从初始父级开始递归查询
810
+//     $recursion($parentUid);
811
+
812
+//     return array_unique($result); // 返回结果数组,并去重
813
+// }
1039 814
 
1040
-    // 定义递归函数
1041
-    $recursion = function ($parentUid) use (&$result, &$recursion) {
1042
-        // 查询当前父级的所有直接子级
1043
-        $children = Db::name("user")
1044
-                      ->where("spread_uid", $parentUid)
1045
-                      ->column("uid"); // 获取子级的 uid 列表
815
+    // 根据父级uid,递归获取所有子级UID数组
816
+    public function getRecursiveChildren($parentUid) {
817
+        $result = []; // 用于存储符合条件的子级 uid
1046 818
 
1047
-        // 如果没有子级,直接返回
1048
-        if (empty($children)) {
1049
-            return;
1050
-        }
819
+        // 定义递归函数
820
+        $recursion = function ($parentUid) use (&$result, &$recursion) {
821
+            // 查询当前父级的所有直接子级
822
+            $children = Db::name("user")
823
+                        ->where("spread_uid", $parentUid)
824
+                        ->column("uid"); // 获取子级的 uid 列表
1051 825
 
1052
-        // 遍历每个子级
1053
-        foreach ($children as $childUid) {
1054
-            $result[] = $childUid; // 将子级的 uid 添加到结果数组
1055
-            $recursion($childUid); // 递归查询子级的子级
1056
-        }
1057
-    };
826
+            // 如果没有子级,直接返回
827
+            if (empty($children)) {
828
+                return;
829
+            }
1058 830
 
1059
-    // 从初始父级开始递归查询
1060
-    $recursion($parentUid);
831
+            // 遍历每个子级
832
+            foreach ($children as $childUid) {
833
+                // 如果子级的 uid 小于或等于 611,跳过该子级及其所有子级
834
+                if ($childUid <= 611) {
835
+                    continue;
836
+                }
1061 837
 
1062
-    return array_unique($result); // 返回结果数组,并去重
1063
-}
838
+                // 将符合条件的子级 uid 添加到结果数组
839
+                $result[] = $childUid;
840
+
841
+                // 递归查询子级的子级
842
+                $recursion($childUid);
843
+            }
844
+        };
845
+
846
+        // 从初始父级开始递归查询
847
+        $recursion($parentUid);
848
+
849
+        return array_unique($result); // 返回结果数组,并去重
850
+    }
1064 851
 
1065 852
 //挑出大小值
1066 853
 function getMaxAndSumRest($array) {

+ 1 - 74
app/controller/api/store/merchant/Taskorderguquan.php

@@ -34,80 +34,7 @@ class Taskorderguquan extends BaseController
34 34
 
35 35
        // $week_record = 64400;//20250303
36 36
 
37
-        $week_record = 10500 + 50000; //20250310
38
-
39
-        $stock_comm = round($week_record * 0.05 ,2);
40
-
41
-
42
-        //获取股权分红的人
43
-
44
-        $GetAllUserPackNum = db::name("old_user_stock")->sum("pack");//计算所有用户的份数总和
45
-
46
-        $stockuserdatas = db::name("old_user_stock")->select();//获取所有用户
47
-
48
-        if(count($stockuserdatas) > 0){
49
-            $one_pack_comm_data = round($stock_comm / $GetAllUserPackNum,2);//获取每份的单佣金
50
-
51
-            foreach ($stockuserdatas as &$v) {
52
-                $v['getcomm'] = $v['pack'] * $one_pack_comm_data;
53
-                $v['allgetcomm'] =  $v['allgetcomm'] + $v['getcomm'];
54
-                $v['update_time'] = time();
55
-
56
-                $yj_90 = $v['getcomm'] * 0.9;
57
-                $fg_10 = $v['getcomm'] * 0.1;
58
-
59
-                // // 更新 user_stock 表中的记录
60
-                $res = db::name("old_user_stock")->where("id", $v['id'])->update([
61
-                    'getcomm' => $v['getcomm'],
62
-                    'allgetcomm' => $v['allgetcomm'],
63
-                    'update_time' => $v['update_time']
64
-                ]);
65
-
66
-              Db::name("user")->where("uid",$v['user_id'])->inc("brokerage_price", $yj_90)->save();
67
-              $res1 = Db::name("user")->where("uid",$v['user_id'])->inc("total_amount_old", $yj_90)->save();
68
-              $res2 = Db::name("user")->where("uid",$v['user_id'])->inc("amount_old", $yj_90)->save();
69
-
70
-              $res3 = Db::name("user")->where("uid",$v['user_id'])->inc("fugou", $fg_10)->save();
71
-
72
-                $res =true;
73
-                if($res){
74
-                    $das = $this->change_user_log($v['user_id'],'amount_old',1, $yj_90,"member_award_stock","股权分红入账"."-".$v['pack']);//释放佣金
75
-
76
-                    //入账星级分红记录表
77
-                    $week_data = [];
78
-                    $week_data['user_id'] =  $v['user_id'];
79
-                    $week_data['user_star_id'] =  0;
80
-                    $week_data['award_num'] =  0;
81
-                    $week_data['award_num_sm'] =  0;
82
-                    $week_data['remark'] =  "股权分红主动执行" . $yj_90;
83
-                    $week_data['week_record'] =  $week_record;
84
-                    $week_data['all_amount'] =  $stock_comm;
85
-                    $week_data['radio'] =  2;
86
-                    $week_data['owner_bill'] =  0;  //总流水金额
87
-                    $week_data['my_bill'] = 0;  //我的流水
88
-                    $week_data['create_time'] = time();
89
-
90
-
91
-                    Db::name("old_user_weekaward")->insert($week_data);
92
-
93
-                    $userdatassss = db::name("old_user_jbp")->where("id",$v['user_id'])->find();
94
-                    $datas_log = [
95
-                        'note'=>"名称:".  $userdatassss['nick_name']  . " 用户:".  $v['user_id'] . " 新增股权佣金:" .  $yj_90,
96
-                        'create_time'=>date('Y-m-d H:i:s')
97
-                    ];
98
-                    $con_data = Db::name('test_log')->insert($datas_log);   //数据存到2.0数据表中
99
-
100
-
101
-
102
-                    $this->bill_user_log111111($v['user_id'],"股权分佣",  $yj_90,"股权明细入账",13);//股权分佣明细2.0系统
103
-
104
-                    $this->fugou_user_log($v['user_id'],$fg_10,16,1,1);//复购金明细入账
105
-                }
106
-            }
107
-        }
108
-
109
-        //股权分红 end
110
-
37
+       
111 38
 
112 39
 
113 40
     }

+ 0 - 120
app/controller/api/store/merchant/Taskorderlianc.php

@@ -287,126 +287,6 @@ class Taskorderlianc extends BaseController
287 287
 
288 288
 
289 289
 
290
-        return;
291
-
292
-
293
-
294
-
295
-
296
-        //测试结束 以下是联创逻辑
297
-        //return;
298
-
299
-
300
-       // $week_record = 45500 + 1400 + 60000;
301
-        //$week_record = 23800 +60000;
302
-       // $week_record = 64400;//20250303
303
-
304
-        $week_record = 10500 + 50000; //20250310
305
-
306
-        $originator_award = round(($week_record * 0.05),2);
307
-
308
-
309
-        //return;
310
-
311
-        $list = Db::name("user")->where("originator_id_old",">",0)->where("status",1)->field("uid,originator_id_old")->select()->toArray();
312
-
313
-        // foreach($list as $k=>$v){
314
-        //     var_dump($v);
315
-        // }
316
-
317
-        // return;
318
-
319
-        $sum_money = Db::name("old_user_lianc")->sum("number");
320
-
321
-        $lianc_list = Db::name("old_user_lianc")->order("id desc")->field("id,number,title")->select()->toArray();
322
-        $user_arr = [];
323
-
324
-        $lianc_list_arr = [];
325
-        foreach ($lianc_list as $key => $value) {
326
-            # code...
327
-            $lianc_list_arr[$value['id']] = $value;
328
-        }
329
-
330
-        foreach ($list as $key => $value) {
331
-            # code...
332
-            $user_arr[$value['originator_id_old']]['people'][] = $value['uid'];
333
-            $user_arr[$value['originator_id_old']]['money'] = $lianc_list_arr[$value['originator_id_old']]['number'];
334
-            $user_arr[$value['originator_id_old']]['title'] = $lianc_list_arr[$value['originator_id_old']]['title'];
335
-            $user_arr[$value['originator_id_old']]['id'] = $lianc_list_arr[$value['originator_id_old']]['id'];
336
-        }
337
-
338
-
339
-        //处理计算权重 和平均分配的金额
340
-        $total_num = 0;
341
-        $count_num = 0;
342
-        foreach ($user_arr as $key => $value) {
343
-            # code...
344
-            $total_num += round($value['money'] * count($value['people'])/1000,2);
345
-            $count_num += count($value['people']);
346
-        }
347
-        foreach ($user_arr as $key => $value) {
348
-            # code...
349
-            $rate  = round((  count($value['people']) * $value['money'])/$total_num,2)/1000;
350
-            $user_arr[$key]['rate'] = $rate;
351
-            $distribution_money = round($originator_award * $rate ,2);
352
-            $user_arr[$key]['distribution_money'] = $distribution_money;
353
-            $user_arr[$key]['people_award'] = round($distribution_money / count($value['people']),2);//可分配佣金
354
-        }
355
-
356
-        $count = 0;
357
-        foreach ($user_arr as $key => $value) {
358
-            $distribution_money = $value['distribution_money'];
359
-            # code...
360
-
361
-            foreach ($value['people'] as $k =>$v) {
362
-                # code...
363
-                $award = $value['people_award'];
364
-
365
-                //90给佣金,10给复购金
366
-                $yj_90 = $award * 0.9;
367
-                $fg_10 = $award * 0.1;
368
-
369
-                Db::name("user")->where("uid",$v)->inc("brokerage_price",$yj_90)->save();
370
-                $res = Db::name("user")->where("uid",$v)->inc("total_amount_old",$yj_90)->save();
371
-                Db::name("user")->where("uid",$v)->inc("amount_old",$yj_90)->save();//不用冻结金额和提现额度来限制佣金发放
372
-                $res3 = Db::name("user")->where("uid",$v)->inc("fugou", $fg_10)->save();
373
-
374
-
375
-                $res =true;
376
-
377
-                if($res) {
378
-                  
379
-
380
-                    $$count  = $count + 1;
381
-                    $this->change_user_log($v,'amount_old',1,$yj_90,"relation_profits","联创分红入账"."-".$value['title']);
382
-                    //入账
383
-                    $week_data = [];
384
-                    $week_data['user_id'] =  $v;
385
-                    $week_data['user_lianc_id'] =  $value['id'];
386
-                    $week_data['money'] =  $yj_90;
387
-                    $week_data['remark'] =  "联创分红入账主动执行" . $yj_90;
388
-                    $week_data['all_record'] =  $originator_award;
389
-                    $week_data['all_amount'] =  $distribution_money;
390
-                    $week_data['create_time'] = time();
391
-                    Db::name("old_user_originator")->insert($week_data);
392
-
393
-                    $userdatassss = db::name("user")->where("uid",$v)->find();
394
-                    $datas_log = [
395
-                        'note'=>"名称:".  $userdatassss['nickname']  . " 用户:".  $v . " 新增联创佣金:" . $yj_90,
396
-                        'create_time'=>date('Y-m-d H:i:s')
397
-                    ];
398
-                    Db::name('test_log')->insert($datas_log);   //数据存到2.0数据表中
399
-                    $this->bill_user_log111111($v,"联创分佣", $yj_90,"联创明细入账",12);//股权分佣明细2.0系统
400
-                    
401
-                    $this->fugou_user_log($v,$fg_10,16,1,1);//复购金明细入账
402
-
403
-                }else {
404
-                    // ..
405
-                }
406
-
407
-
408
-            }
409
-        }
410 290
 
411 291
 
412 292
     }

+ 66 - 54
app/controller/api/user/User.php

@@ -201,7 +201,7 @@ class User extends BaseController
201 201
     {
202 202
         $uid = $this->request->uid();
203 203
         $data = [
204
-            "name"=>"VR转账",
204
+            "name"=>"VR",
205 205
             "url"=>'https://show.hxxfb.com/?uid=' .$uid,
206 206
         ];
207 207
         return app('json')->success($data);
@@ -1408,7 +1408,7 @@ class User extends BaseController
1408 1408
     {
1409 1409
         $teamid = $this->request->uid();
1410 1410
 
1411
-
1411
+        //return app("json")->fail("未做任何修改");
1412 1412
         //$teamid =  $this->request->param('teamid');//测试ID
1413 1413
         //$teamid = 17;
1414 1414
 
@@ -1420,15 +1420,15 @@ class User extends BaseController
1420 1420
 //            // var_dump($ss);
1421 1421
 
1422 1422
  //$team_userinfo_old_jbp22 = $this->getPerformance22(17);
1423
-
1424
- //$datas_jbp = Db::name('user')->where("status",1)->select();
1423
+//var_dump($team_userinfo_old_jbp22);
1424
+ $datas_jbp = Db::name('user')->where("status",1)->select();
1425 1425
 
1426 1426
  //var_dump( $team_userinfo_old_jbp22['person_nums_pv']);
1427 1427
 
1428
-// foreach($datas_jbp as $k=>$v){
1429
-//     $team_userinfo_old_jbp22 = $this->getPerformance22($v['uid']);
1430
-//     var_dump("id:" . $v['uid'] . "  用户:" . $v['nickname'] . "    小部门贡献值 :" .  $team_userinfo_old_jbp22['person_nums_pv']);
1431
-// }
1428
+foreach($datas_jbp as $k=>$v){
1429
+    $team_userinfo_old_jbp22 = $this->getPerformance22($v['uid']);
1430
+    var_dump("id:" . $v['uid'] . "  用户:" . $v['nickname'] . "    小部门贡献值 :" .  $team_userinfo_old_jbp22['person_nums_pv'] . " 大部门: " . $team_userinfo_old_jbp22['common_nums_pv']);
1431
+}
1432 1432
 
1433 1433
  return;
1434 1434
 //                 $team_userinfo_old_jbp1 = $this->getPerformance($teamid);
@@ -1640,44 +1640,47 @@ return app("json")->success($data);
1640 1640
             }
1641 1641
         }
1642 1642
 
1643
-        // 计算旗下团队成员的业绩
1644
-        $teamOrders = Db::name('user')
1645
-            ->alias('u')
1646
-            ->join('store_order so', 'u.uid = so.uid', 'LEFT')
1647
-            ->where("u.spread_uid", $uid) // 查询旗下会员
1648
-            ->where("so.mer_id", 496)
1649
-            // ->where("so.douhuomall", 1)
1650
-            // ->where("so.douhuomall_status", 9)
1651
-            // ->where("so.status", 0)
1652
-            ->select();
1653
-
1654
-        $teamOrders_count = Db::name('user')
1655
-            ->alias('u')
1656
-            ->join('store_order so', 'u.uid = so.uid', 'LEFT')
1657
-            ->where("u.spread_uid", $uid) // 查询旗下会员
1658
-            ->where("so.mer_id", 496)
1659
-            // ->where("so.douhuomall", 1)
1660
-            // ->where("so.douhuomall_status", 9)
1661
-            // ->where("so.status", 0)
1662
-            ->count();
1663
-
1664
-        $performance['team_count'] = $teamOrders_count + 1; // 赋值团队数量
1665
-
1666
-        foreach ($teamOrders as $order) {
1667
-            if ($order['total_price']) {
1668
-                // 将浮点数转换为整数
1669
-                $totalPrice = (int)$order['total_price'];
1670
-                if (isset($performanceMapping[$totalPrice])) {
1671
-                    $performance['team_performance'] += $performanceMapping[$totalPrice];
1643
+        if($uid <= 611){
1644
+            // 计算旗下团队成员的业绩
1645
+            $teamOrders = Db::name('user')
1646
+                ->alias('u')
1647
+                ->join('store_order so', 'u.uid = so.uid', 'LEFT')
1648
+                ->where("u.spread_uid", $uid) // 查询旗下会员
1649
+                ->where("so.mer_id", 496)
1650
+                // ->where("so.douhuomall", 1)
1651
+                // ->where("so.douhuomall_status", 9)
1652
+                // ->where("so.status", 0)
1653
+                ->select();
1654
+
1655
+            $teamOrders_count = Db::name('user')
1656
+                ->alias('u')
1657
+                ->join('store_order so', 'u.uid = so.uid', 'LEFT')
1658
+                ->where("u.spread_uid", $uid) // 查询旗下会员
1659
+                ->where("so.mer_id", 496)
1660
+                // ->where("so.douhuomall", 1)
1661
+                // ->where("so.douhuomall_status", 9)
1662
+                // ->where("so.status", 0)
1663
+                ->count();
1664
+
1665
+            $performance['team_count'] = $teamOrders_count + 1; // 赋值团队数量
1666
+
1667
+            foreach ($teamOrders as $order) {
1668
+                if ($order['total_price']) {
1669
+                    // 将浮点数转换为整数
1670
+                    $totalPrice = (int)$order['total_price'];
1671
+                    if (isset($performanceMapping[$totalPrice])) {
1672
+                        $performance['team_performance'] += $performanceMapping[$totalPrice];
1673
+                    }
1672 1674
                 }
1673 1675
             }
1674
-        }
1675 1676
 
1676
-        // 计算总业绩
1677
-        $performance['total_performance'] = $performance['personal_performance'] + $performance['team_performance'];
1677
+            // 计算总业绩
1678
+            $performance['total_performance'] = $performance['personal_performance'] + $performance['team_performance'];
1678 1679
 
1679
-        // 假设总业绩最大值需要通过后续逻辑判断,这里暂时设置为 false
1680
-        return $performance;
1680
+            // 假设总业绩最大值需要通过后续逻辑判断,这里暂时设置为 false
1681
+            return $performance;
1682
+        }
1683
+       
1681 1684
     }
1682 1685
 
1683 1686
 //获取大小部门业绩(新表)
@@ -3457,7 +3460,7 @@ return app("json")->success($data);
3457 3460
     
3458 3461
         // 根据父级uid,递归获取所有子级UID数组
3459 3462
     public function getRecursiveChildren($parentUid) {
3460
-        $result = []; // 用于存储所有子级的 uid
3463
+        $result = []; // 用于存储符合条件的子级 uid
3461 3464
 
3462 3465
         // 定义递归函数
3463 3466
         $recursion = function ($parentUid) use (&$result, &$recursion) {
@@ -3473,8 +3476,16 @@ return app("json")->success($data);
3473 3476
 
3474 3477
             // 遍历每个子级
3475 3478
             foreach ($children as $childUid) {
3476
-                $result[] = $childUid; // 将子级的 uid 添加到结果数组
3477
-                $recursion($childUid); // 递归查询子级的子级
3479
+                // 如果子级的 uid 小于或等于 611,跳过该子级及其所有子级
3480
+                if ($childUid <= 611) {
3481
+                    continue;
3482
+                }
3483
+
3484
+                // 将符合条件的子级 uid 添加到结果数组
3485
+                $result[] = $childUid;
3486
+
3487
+                // 递归查询子级的子级
3488
+                $recursion($childUid);
3478 3489
             }
3479 3490
         };
3480 3491
 
@@ -3968,8 +3979,8 @@ return app("json")->success($data);
3968 3979
         $get_teams_comm_datas = [];//在2.0中获取父级下面的所有团队数据
3969 3980
         //共建联盟业绩 个人联盟业绩 共建联盟总pv 个人联盟业绩pv
3970 3981
         $common_nums = $this->getCommonNums($user_id);
3971
-      
3972
-        //var_dump($common_nums);
3982
+     // var_dump( $common_nums);
3983
+       
3973 3984
         $get_teams_comm_num = 0;
3974 3985
         $get_teams_comm_pv = 0;
3975 3986
 
@@ -3986,7 +3997,8 @@ return app("json")->success($data);
3986 3997
             foreach($common_nums as $v){
3987 3998
                 $child_nums[] = $this->getRecursiveChildren($v);
3988 3999
             }
3989
-           
4000
+
4001
+        //var_dump($child_nums);
3990 4002
          
3991 4003
             //去除空数组,并重新组合有数据的数组
3992 4004
             $filteredData = array_filter($child_nums, function($array) {
@@ -4003,7 +4015,7 @@ return app("json")->success($data);
4003 4015
             //$get_teams_comm_pv = $this->getteampv($result_big_team_arr);
4004 4016
             $t_pv = $this->getteampv($result_big_team_arr);
4005 4017
             $get_teams_comm_pv =$t_pv['totalPv'];
4006
-            //var_dump($get_teams_comm_pv);echo "ttt";
4018
+            //var_dump($t_pv);echo "ttt";
4007 4019
 
4008 4020
             //获取当前用户下面在2.0中的下级所有人数
4009 4021
             $get_teams_comm_num = count($result_big_team_arr);
@@ -4027,12 +4039,12 @@ return app("json")->success($data);
4027 4039
 
4028 4040
              // var_dump($get_teams_comm_datas);
4029 4041
               //如果只有一个部门,就是默认大部门
4030
-              if( count($get_teams_comm_datas) ==1 ){
4042
+                if( count($get_teams_comm_datas) ==1 ){
4031 4043
                   
4032 4044
                   $get_teams_comm_pv =$get_teams_comm_datas[0];
4033 4045
                   $get_teams_comm_num = $num_teams[0]['total_count'];
4034 4046
                   
4035
-              }else if(count($get_teams_comm_datas) >1){
4047
+                }else if(count($get_teams_comm_datas) >1){
4036 4048
 
4037 4049
                     // var_dump( $get_teams_comm_datas);
4038 4050
                     //获取一个最大值,设为大部门,其他的加载一块是小部门
@@ -4055,7 +4067,7 @@ return app("json")->success($data);
4055 4067
                     //var_dump($getss['max_value']);
4056 4068
                     $person_amount = $getss['remaining_sum'];
4057 4069
                     $get_teams_comm_pv = $getss['max_value'];
4058
-              }
4070
+                }
4059 4071
               
4060 4072
               
4061 4073
         }
@@ -4253,8 +4265,8 @@ return app("json")->success($data);
4253 4265
             //var_dump( $b_s);echo "yyyyyyyyyyyyy";
4254 4266
             $team_amount = $b_s['big_department']['value'];
4255 4267
             $teams_num = $b_s['big_department']['count'];
4256
-            //       var_dump($b_s['team_pv']);
4257
-            //       var_dump($b_s['per_pv']);
4268
+                //    var_dump($b_s['team_pv']);
4269
+                //    var_dump($b_s['per_pv']);
4258 4270
 
4259 4271
             $person_amount = $b_s['small_department']['value'];
4260 4272