chengzhiyixia 1 год назад
Родитель
Сommit
07a45fb318

+ 42 - 57
app/common/repositories/store/order/StoreOrderRepository.php

@@ -1054,13 +1054,47 @@ class StoreOrderRepository extends BaseRepository
1054 1054
 
1055 1055
                         } else if (!empty($array_fzone_paytype['type'] == 'a3')) {
1056 1056
 
1057
-                            $paystage_status = 1;
1057
+                            //$paystage_status = 1;
1058 1058
 
1059 1059
                             //在VR+现金支付的时候,如果用户直接用vr支付了,没有用到现金的情况,需要更改订单状态
1060
-
1061
-                            // if($array_fzone_paytype['price'] - $array_fzone_paytype['s']){
1062
-                                    
1063
-                            // }
1060
+                            $userdatas = Db::name('user')->where('uid',$uid)->find();//
1061
+                            //如果组合支付中,没有现金,只是用VR支付的情况下
1062
+                            if($array_fzone_paytype['price'] <= 0){
1063
+
1064
+                               $total_vr = $userdatas['vr'] - $array_fzone_paytype['other'];
1065
+
1066
+                               if($total_vr >= 0){
1067
+                                    $user_data_dev_vr =Db::name('user')->where('uid',$uid)->update(['vr'=>$total_vr]);//
1068
+                                    if ($user_data_dev_vr) {
1069
+                                        //支出账号存到log日志
1070
+                                        $log_data = [
1071
+                                            'uid' => $uid,
1072
+                                            'number' => $array_fzone_paytype['other'],
1073
+                                            'mark' => "购买会员专区商品消费VR:" . $array_fzone_paytype['other'],
1074
+                                            'desc' => "VR",
1075
+                                            'order_id' => 0,
1076
+                                            'surplus' => $total_vr,
1077
+                                            'order_type' => 0,
1078
+                                            'type' => 2,
1079
+                                            'addtime' => time()
1080
+                                        ];
1081
+                                        $user_res_log = Db::name("user_sign_vr")->insert($log_data);
1082
+
1083
+                                                    //修改订单状态
1084
+                                        Db::name("store_order")->where("order_id",  $_order->order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s'), 'status' => 0, 'distribution_mode' => 1]);
1085
+                                        Db::name("store_group_order")->where("group_order_id", $groupOrder->group_order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s')]);
1086
+                                        $paystage_status = 1;
1087
+
1088
+                                    }else{
1089
+                                        $log_data = [
1090
+                                            'note' => "uid:" . $uid . " 购买会员专区商品消费VR:" . $array_fzone_paytype['other'] . " 用户消费前的VR余额:" .   $total_vr . "描述:" . "未扣成功!" . "备注:" . json_encode($array_fzone_paytype),
1091
+                                            'create_time' => date("Y-m-d H:i:s", time())
1092
+                                        ];
1093
+
1094
+                                        Db::name("test_log")->insert($log_data);
1095
+                                    }
1096
+                                }
1097
+                            }
1064 1098
 
1065 1099
                         } else if (!empty($array_fzone_paytype['type'] == 'c1')) {
1066 1100
                             //复购区 复购金支付
@@ -2210,7 +2244,7 @@ class StoreOrderRepository extends BaseRepository
2210 2244
 
2211 2245
 
2212 2246
                 //throw new ValidateException($user_datas['vr']);
2213
-                if ($uid == 7 || $uid == 669 || $uid == 670 || $uid == 783 || $uid == 873 || $uid == 766) {
2247
+                if ($uid == 7 || $uid == 669 || $uid == 670 || $uid == 783 || $uid == 873 || $uid == 766 || $uid == 17 || $uid == 26) {
2214 2248
                     //如果选择组合支付,查询当前用户名下的VR
2215 2249
                     $user_datas = Db::name('user')->where('uid', $uid)->find();
2216 2250
 
@@ -9825,58 +9859,9 @@ class StoreOrderRepository extends BaseRepository
9825 9859
             }
9826 9860
 
9827 9861
 
9828
-            //会员专区用户如果是用的现金+VR。直接用VR付款的情况下。
9829
-            $fzone_paytype = json_decode($store_order_data['fzone_paytype'], true);
9830
-
9831
-            $user_data = Db::name('user')->where('uid', $store_order_data['uid'])->find();
9832
-
9833
-            //会员专区的现金+VR支付
9834
-            if ($fzone_paytype['type'] == 'a3') {
9835
-
9836
-                //如果是用的VR支付,不是现金支付的情况下
9837
-                if ($fzone_paytype['price'] <= 0.1) {
9838
-
9839
-                    $dev_vr = $user_data['vr'] - $fzone_paytype['other'];
9862
+           
9840 9863
 
9841
-                    if ($dev_vr >= 0) {
9842
-                        $user_data_dev_vr = Db::name('user')->where('uid', $store_order_data['uid'])->update(["vr" => $dev_vr]);
9843
-
9844
-                        if ($user_data_dev_vr) {
9845
-                            //支出账号存到log日志
9846
-                            $log_data = [
9847
-                                'uid' => $user_data['uid'],
9848
-                                'number' => $fzone_paytype['other'],
9849
-                                'mark' => "购买会员专区商品消费VR:" . $fzone_paytype['other'],
9850
-                                'desc' => "VR",
9851
-                                'order_id' => 0,
9852
-                                'surplus' => $dev_vr,
9853
-                                'order_type' => 0,
9854
-                                'type' => 2,
9855
-                                'addtime' => time()
9856
-                            ];
9857
-                            $user_res_log = Db::name("user_sign_vr")->insert($log_data);
9858
-                        }
9859
-
9860
-                            //修改订单状态
9861
-                            Db::name("store_order")->where("order_id", $store_order_data['order_id'])->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s'), 'status' => 0, 'distribution_mode' => 1]);
9862
-                            Db::name("store_group_order")->where("group_order_id",  $group_order_id)->update(['paid' => 1, 'pay_time' => date('Y-m-d H:i:s')]);
9863
-
9864
-
9865
-
9866
-                    } else {
9867
-                        $log_data = [
9868
-
9869
-                            'note' => "uid:" . $store_order_data['uid'] . " 购买会员专区商品消费VR:" . $fzone_paytype['other'] . " 用户消费前的VR余额:" . $user_data['vr'] . "描述:" . "未扣成功!" . "备注:" . json_encode($fzone_paytype),
9870
-
9871
-                            'create_time' => date("Y-m-d H:i:s", time())
9872
-                        ];
9873
-                        Db::name("test_log")->insert($log_data);
9874
-                    }
9875
-
9876
-                }
9877
-
9878
-
9879
-            }
9864
+      
9880 9865
 
9881 9866
              //会员专区,给用户升级判断
9882 9867
              $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();

+ 48 - 1
app/controller/api/Notify.php

@@ -1397,7 +1397,54 @@ class Notify
1397 1397
         $con_data = Db::name('user')->where("uid",$uid)->find();
1398 1398
         //如果状态是1那就是即刻入账,
1399 1399
         if($status == 1){
1400
-            $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
1400
+          
1401
+
1402
+            //如果当前用户是业务经理之前的等级,那么需要将当前用户的直推用户贡献值加到自己贡献值中去
1403
+            if( $con_data['user_group'] <= 2 ){
1404
+           
1405
+                $spread_data = Db::name('user')->where("spread_uid",$uid)->select();
1406
+             
1407
+                if(count($spread_data) > 0){
1408
+                    $all_ids = [];
1409
+                    foreach($spread_data as $k=>$v){
1410
+                        $all_ids[] = $v['uid'];
1411
+                    }
1412
+    
1413
+                    // 查询当前用户及其子级的所有订单
1414
+                    $orders = Db::name("store_order")
1415
+                    ->whereIn('status', [0, 1, 2, 3])
1416
+                    ->whereIn("uid", $all_ids)
1417
+                    ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
1418
+                    ->select();
1419
+    
1420
+                    // 计算总业绩
1421
+                    $totalPv = 0;
1422
+                    foreach ($orders as $order) {
1423
+                        switch ($order['total_price']) {
1424
+                        case 1180:
1425
+                            $totalPv += 700;
1426
+                            break;
1427
+                        case 11800:
1428
+                            $totalPv += 7000;
1429
+                            break;
1430
+                        case 10620:
1431
+                            $totalPv += 6300;
1432
+                            break;
1433
+                        case 2360:
1434
+                            $totalPv += 1400;
1435
+                            break;
1436
+                        case 9440:
1437
+                            $totalPv += 5600;
1438
+                            break;
1439
+                        }
1440
+                    }
1441
+                    $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num , "per_contribute" => $totalPv]);
1442
+                    
1443
+                }
1444
+            }else{
1445
+                $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
1446
+            }
1447
+
1401 1448
         }
1402 1449
 
1403 1450
         $con = [

+ 7 - 0
app/controller/api/store/order/StoreOrder.php

@@ -560,6 +560,9 @@ class StoreOrder extends BaseController
560 560
 
561 561
             }else if(!empty($array_fzone_paytype['type'] == 'a3')){
562 562
                 //生活 现金 + VR支付
563
+                
564
+                
565
+               
563 566
             
564 567
                 //检查在旧表中是否有上级
565 568
                 if($userdatas['spread_old'] != 0){
@@ -567,7 +570,11 @@ class StoreOrder extends BaseController
567 570
                
568 571
                     //查询当前用户的上级在1.0中是有数据的,那么老用户介绍新用户。
569 572
                     $sf = Db::name('old_user_jbp')->where('id',$userdatas['uid'])->find();//父级在旧表有注册
573
+                    //如果组合支付中,没有现金,只是用VR支付的情况下
570 574
 
575
+                    if($array_fzone_paytype['price'] <= 0.01){
576
+                        return app('json')->fail("现金不足");
577
+                    }
571 578
  
572 579
                     // 当前用户是在2.0注册的新用户,父级是在1.0
573 580
 

+ 81 - 25
app/controller/api/user/User.php

@@ -238,11 +238,23 @@ class User extends BaseController
238 238
         $user = $this->request->userInfo();
239 239
         if($user->uid>0){
240 240
 
241
-//            $dateObj=DB::name('user_sign_hongbao')->where('uid', $user->uid)->select();
241
+           // $dateObj=DB::name('user_sign_gongxian')->where('uid', $user->uid)->where("status",1)->select();
242
+            $con = DB::name('user')->where('uid', $user->uid)->find();
243
+            // $totalcon = 0;
244
+            // foreach($dateObj as $k=>$v){
245
+            //     $totalcon += $v['number'];
246
+            // }
242 247
             //已经入账贡献值
243
-            $data['total_source']=$user->contribute;
248
+            if( $con_data['user_group'] <= 2 ){
249
+                $data['total_source'] =  $con['contribute'] + $con['per_contribute'];
250
+            }else{
251
+                $data['total_source'] =  $con['contribute'];
252
+            }
253
+           
254
+            
255
+            $getteamscon = $this->getPerformance($user->uid);
244 256
             //我的团队贡献值
245
-            $data['team_gongxian_num']=$user->contribute;
257
+            $data['team_gongxian_num'] = $getteamscon['sum_nums_pv'];
246 258
 
247 259
             //为生贡献值
248 260
             $data['no_total_source']=Db::name('user_sign_gongxian')->where('status', -1)->where('uid', $user->uid)->sum('number');;
@@ -252,6 +264,32 @@ class User extends BaseController
252 264
         }
253 265
 
254 266
     }
267
+
268
+    //获取团队贡献值
269
+   public function gettemasconvalue($user_id) {
270
+     
271
+       //$user_id = 17;
272
+
273
+       $children = Db::name("user")
274
+       ->where("spread_uid", $user_id)
275
+       ->select(); // 获取子级的 uid 列表
276
+
277
+       $total_pv = 0;
278
+       
279
+       foreach($children as $k=>$v){
280
+           //$children_pv = Db::name("store_order")->where("uid", $v['uid'])->whereIn("status",[0,1,2,3])->select();
281
+           $children_pv = Db::name("user_sign_gongxian")->where("uid", $v['uid'])->where("status",1)->select();
282
+           foreach($children_pv as $k1=>$v1){
283
+               $total_pv += $v1['number'];
284
+           }
285
+          
286
+       }  
287
+
288
+     
289
+
290
+   }
291
+
292
+
255 293
     public function  gongxian_list(){
256 294
         $pm = $this->request->param('pm');
257 295
 
@@ -1365,14 +1403,16 @@ class User extends BaseController
1365 1403
 
1366 1404
 
1367 1405
         if($teamid == 592){
1368
-             $teamid = 17;//593
1406
+             $teamid = 593;//593
1369 1407
 
1370
-            
1408
+           // $ss=  $this->userupdates($teamid);
1409
+           // var_dump($ss);
1410
+                
1371 1411
 
1372 1412
                 $team_userinfo_old_jbp1 = $this->getPerformance22($teamid);
1373 1413
 
1374
-           
1375
-                var_dump($team_userinfo_old_jbp1);return;
1414
+           //return;
1415
+              var_dump($team_userinfo_old_jbp1);return;
1376 1416
         }
1377 1417
 
1378 1418
 
@@ -3692,7 +3732,7 @@ public function getparents_child_pv($user_id){
3692 3732
     $get_childs = Db::name("user")
3693 3733
     ->where("spread_uid", $user_id)
3694 3734
     ->column("uid");
3695
-
3735
+    //var_dump($get_childs);
3696 3736
     // 初始化总业绩和总人数
3697 3737
     $total_value = 0;
3698 3738
     $total_count = 0;
@@ -3701,13 +3741,16 @@ public function getparents_child_pv($user_id){
3701 3741
 
3702 3742
     // 遍历每个直接下级
3703 3743
     foreach ($get_childs as $child) {
3744
+        //echo $child;
3704 3745
         // 获取当前下级及其子级
3705 3746
         $child_group = [$child];
3706 3747
         $recursive_children = $this->getRecursiveChildren($child);
3707 3748
         $child_group = array_merge($child_group, $recursive_children);
3708
-
3749
+//var_dump($child_group );
3709 3750
         // 获取当前分组的业绩和人数
3710 3751
         $result = $this->getteampv($child_group);
3752
+
3753
+        //var_dump($result);
3711 3754
         $group_pv = $result['totalPv'];
3712 3755
         $group_count = $result['totalUsers'];
3713 3756
 
@@ -3771,6 +3814,7 @@ function getRecursiveChildren_s($parentUid) {
3771 3814
      */
3772 3815
     public function userupdates($user_id) {
3773 3816
       
3817
+        //$user_id = 17;
3774 3818
 
3775 3819
         $children = Db::name("user")
3776 3820
         ->where("spread_uid", $user_id)
@@ -3786,6 +3830,8 @@ function getRecursiveChildren_s($parentUid) {
3786 3830
             }
3787 3831
            
3788 3832
         }  
3833
+
3834
+        return $total_pv;
3789 3835
         
3790 3836
         $userdatas = Db::name("user")->where("uid", $user_id)->find();
3791 3837
        // var_dump($userdatas['user_group']);
@@ -3819,9 +3865,18 @@ function getRecursiveChildren_s($parentUid) {
3819 3865
      * 获取当前用户业绩
3820 3866
      */
3821 3867
     public function getPerformance22($user_id) {
3868
+
3869
+        $user_id = 593;
3870
+        $con_data = Db::name('user')->where("uid",$user_id)->find();
3871
+        //如果状态是1那就是即刻入账,
3872
+     
3873
+
3874
+       
3875
+return;
3876
+
3822 3877
         $team_amount = 0;
3823 3878
         $person_amount = 0;
3824
-        $user_id = 523; //598
3879
+        $user_id = 598; //598 523
3825 3880
         
3826 3881
          $result_big_team_arr = [];
3827 3882
          $get_teams_comm_datas = [];//在2.0中获取父级下面的所有团队数据
@@ -3858,12 +3913,12 @@ function getRecursiveChildren_s($parentUid) {
3858 3913
             foreach ($filteredData as $array) {
3859 3914
                 $result_big_team_arr = array_merge($result_big_team_arr, $array);
3860 3915
             }
3861
-         //var_dump($result_big_team_arr);
3916
+            //var_dump($result_big_team_arr);
3862 3917
             //获取当前用户下面在2.0中的下级所有PV
3863 3918
             //$get_teams_comm_pv = $this->getteampv($result_big_team_arr);
3864 3919
             $t_pv = $this->getteampv($result_big_team_arr);
3865 3920
             $get_teams_comm_pv =$t_pv['totalPv'];
3866
-            //var_dump($get_teams_comm_pv);
3921
+            //var_dump($get_teams_comm_pv);echo "ttt";
3867 3922
 
3868 3923
             //获取当前用户下面在2.0中的下级所有人数
3869 3924
             $get_teams_comm_num = count($result_big_team_arr);
@@ -3919,7 +3974,7 @@ function getRecursiveChildren_s($parentUid) {
3919 3974
               
3920 3975
               
3921 3976
         }
3922
-        
3977
+        //var_dump($get_teams_comm_pv);
3923 3978
         //合并业绩和人数
3924 3979
         $team_amount += $get_teams_comm_pv;
3925 3980
            
@@ -3976,7 +4031,7 @@ function getRecursiveChildren_s($parentUid) {
3976 4031
         //var_dump($person_amount);
3977 4032
         //用户小部门所有在2.0系统下面的业绩和人数 end
3978 4033
 
3979
-      
4034
+      //var_dump($team_amount);
3980 4035
         // $common_nums[] = $user_id;
3981 4036
         foreach ($common_nums as $key => $value) {
3982 4037
             # code...
@@ -3988,7 +4043,8 @@ function getRecursiveChildren_s($parentUid) {
3988 4043
             $amount = $this->getPerformance1($value);
3989 4044
             $person_amount += $amount;
3990 4045
         }
3991
-        //var_dump($team_amount);
4046
+       // var_dump($team_amount);
4047
+        //var_dump($person_amount);
3992 4048
 
3993 4049
         //
3994 4050
          
@@ -3998,39 +4054,39 @@ function getRecursiveChildren_s($parentUid) {
3998 4054
             //例子:17所有下面uid是speard_uid都是17的,和所有伞下的业绩。分出大小部门,加到1.0的大小部门中
3999 4055
             $b_s = $this->getparents_child_pv($user_id);
4000 4056
             
4001
-            //var_dump( $b_s);echo "yyyyyyyyyyyyy";
4057
+           // var_dump( $team_amount);echo "yyyyyyyyyyyyy";
4002 4058
             $team_amount += $b_s['team_pv'];
4003 4059
             $get_teams_comm_num += $b_s['team_num'];
4004
- var_dump($b_s['team_pv']);
4005
- var_dump($b_s['per_pv']);
4060
+//   var_dump($b_s['team_pv']);
4061
+//   var_dump($b_s['per_pv']);
4006 4062
 
4007 4063
            $person_amount += $b_s['per_pv'];
4008 4064
 
4009 4065
            $get_teams_per_num += $b_s['per_num'];//小部门人数
4010 4066
            //var_dump( $b_s['team_num'],$b_s['per_num']);
4011 4067
         }
4012
-       
4068
+       //var_dump($team_amount);
4013 4069
 
4014 4070
 
4015 4071
         $user_team_amount = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 1180)->select();
4016
-
4072
+    
4017 4073
         //$money1180Records = $this->old_user_of_goods->where('status', 1)->where('money', 1180)->select();
4018 4074
 // 计算 status 为 1 且 money 为 1180 的记录总和(减去相应值后)
4019 4075
         $money1180Sum = 0;
4020 4076
         foreach ($user_team_amount as $record) {
4021 4077
             $money1180Sum += $record['money'] - 300 - 180;
4022 4078
         }
4023
-
4079
+    //var_dump($money1180Sum );
4024 4080
 // 获取 status 为 1 且 money 为 11800 的记录集合
4025 4081
 
4026 4082
         $money11800Records = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 11800)->select();
4027
-
4083
+   
4028 4084
 // 计算 status 为 1 且 money 为 11800 的记录总和(减去相应值后)
4029 4085
         $money11800Sum = 0;
4030 4086
         foreach ($money11800Records as $record) {
4031 4087
             $money11800Sum += $record['money'] - 3000 - 1800;
4032 4088
         }
4033
-
4089
+//var_dump($money11800Sum );
4034 4090
         $money10620Records = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->where('money', 10620)->select();
4035 4091
 
4036 4092
 // 计算 status 为 1 且 money 为 11800 的记录总和(减去相应值后)
@@ -4038,7 +4094,7 @@ function getRecursiveChildren_s($parentUid) {
4038 4094
         foreach ($money10620Records as $record) {
4039 4095
             $money10620Sum += $record['money'] - 2700 - 1620;
4040 4096
         }
4041
-
4097
+       // var_dump($money10620Sum );
4042 4098
 // 计算除去特定值后的总和
4043 4099
 //$otherMoneyRecords = $this->old_user_of_goods->where('status', 1)->whereNotIn('money', [1180, 11800])->select();
4044 4100
         $otherMoneyRecords = Db::name("old_user_of_goods")->whereIn("user_id",$common_nums)->where("node_id",$user_id)->whereNotIn('money', [1180, 11800 ,10620])->select();
@@ -4050,7 +4106,7 @@ function getRecursiveChildren_s($parentUid) {
4050 4106
 
4051 4107
 // 分别处理特定值的情况并加上其他值的总和
4052 4108
         $all_record_nums = $money1180Sum + $money11800Sum + $money10620Sum + round($otherMoneySum * 0.7,2);
4053
-        // var_dump($all_record_nums);
4109
+        //var_dump($all_record_nums);
4054 4110
         $team_amount += $all_record_nums;
4055 4111
        // var_dump($user_team_amount);
4056 4112
         //计算自己的个人联盟总流水