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

Merge branch 'master' into huangfamily

family 1 год назад
Родитель
Сommit
4231cef7b1

+ 17 - 9
app/common/repositories/merchant/order/OrderMerchantRepository.php

@@ -1336,7 +1336,7 @@ class OrderMerchantRepository extends BaseRepository
1336 1336
 
1337 1337
         // 用户可以拿到的红包 红包:如果是1.0的老用户 pv的45%放到红包里面。14*45%=6.3元。直至金额满足1.0平台当前用户身份为止就不在反红包了
1338 1338
         $old_vip_limit = Db::name('user_sign_hongbao')->where('uid',$order["uid"])->sum('number') ?? 0;
1339
-        if($user['is_old']==1 && $old_vip_limit >= $user['old_vip_limit']){
1339
+        if($user['is_old']==1){
1340 1340
             //添加红包
1341 1341
             $hongbao=bcmul($pv, $yonghu_hongbao, 2);
1342 1342
             $hongbao_data = [
@@ -1353,7 +1353,9 @@ class OrderMerchantRepository extends BaseRepository
1353 1353
                 'settlement_time' => date('Y-m-d H:i:s')
1354 1354
             ];
1355 1355
             Db::name("user_sign_hongbao")->insert($hongbao_data);//添加记录
1356
-            Db::name('user')->where('uid', $order["uid"])->inc('hongbao', (float)$hongbao)->update();
1356
+            $user_hongbao = Db::name('user')->where('uid', $order["uid"])->value('hongbao');
1357
+            $user_hongbao = bcadd($user_hongbao, (float)$hongbao,2);
1358
+            Db::name('user')->where('uid', $order["uid"])->update(['hongbao'=>$user_hongbao]);
1357 1359
         }
1358 1360
 
1359 1361
         ///用户可以拿到PV等值的积分和贡献值
@@ -1373,7 +1375,9 @@ class OrderMerchantRepository extends BaseRepository
1373 1375
             $ins_data['order_type'] = $order_id;
1374 1376
             $ins_data['settlement_time'] = date('Y-m-d H:i:s');
1375 1377
             Db::name('user_sign_score')->insertGetId($ins_data);
1376
-            Db::name('user')->where('uid', $order["uid"])->inc('score', (float)$pv)->update();
1378
+            $user_score = Db::name('user')->where('uid', $order["uid"])->value('score');
1379
+            $user_score = bcadd($user_score, (float)$pv,2);
1380
+            Db::name('user')->where('uid', $order["uid"])->update(['score'=>$user_score]);
1377 1381
             //贡献值
1378 1382
             $gongxian_data = [
1379 1383
                 "uid"           =>$order["uid"],
@@ -1389,7 +1393,9 @@ class OrderMerchantRepository extends BaseRepository
1389 1393
                 'settlement_time' => date('Y-m-d H:i:s')
1390 1394
             ];
1391 1395
             Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1392
-            Db::name('user')->where('uid', $order["uid"])->inc('contribute', (float)$pv)->update();
1396
+            $user_contribute = Db::name('user')->where('uid', $order["uid"])->value('contribute');
1397
+            $user_contribute = bcadd($user_contribute, (float)$pv,2);
1398
+            Db::name('user')->where('uid', $order["uid"])->update(['contribute'=>$user_contribute]);
1393 1399
         } else {
1394 1400
             Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,积分和贡献值低于0.01无法入库 特此记录!']);
1395 1401
         }
@@ -1437,7 +1443,9 @@ class OrderMerchantRepository extends BaseRepository
1437 1443
                 'addtime'=>time(),
1438 1444
             ];
1439 1445
             Db::name('user_sign_fugou')->insert($bill);
1440
-            Db::name('user')->where('uid', $order["uid"])->inc('fugou', (float)$tuijian_fugou)->update();
1446
+            $user_fugou = Db::name('user')->where('uid', $top_data["spread_uid"])->value('fugou');
1447
+            $user_fugou = bcadd($user_fugou, (float)$tuijian_fugou,2);
1448
+            Db::name('user')->where('uid', $top_data["spread_uid"])->update(['fugou'=>$user_fugou]);
1441 1449
         } else {
1442 1450
             Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的复购金比例较低,复购金低于0.01无法入库 特此记录!']);
1443 1451
         }
@@ -1482,7 +1490,7 @@ class OrderMerchantRepository extends BaseRepository
1482 1490
         //  商家京豆比例
1483 1491
         $mer_jd = $getMerchantContribution['jd'];
1484 1492
         //跨店分佣
1485
-        $kd = 0.1;
1493
+        $kd = 0.05;
1486 1494
         /**
1487 1495
          * 各自的比例结束
1488 1496
          */
@@ -1511,7 +1519,7 @@ class OrderMerchantRepository extends BaseRepository
1511 1519
                 "type"          =>1
1512 1520
             ];
1513 1521
             Db::name("user_sign_gongxian")->insert($gongxian_data);//添加记录
1514
-            $merchant_user->contribute = $merchant_user->contribute + $pv;
1522
+            $merchant_user->contribute = bcadd($merchant_user->contribute, (float)$gongxian,2);
1515 1523
             $merchant_user->save();
1516 1524
         } else {
1517 1525
             Db::name('log')->insert(['data' => '订单号:' . $order['order_sn'] . '付款额度较低或 商家、平台设置的返佣比例较低,贡献值低于0.01无法入库 特此记录!']);
@@ -1533,7 +1541,7 @@ class OrderMerchantRepository extends BaseRepository
1533 1541
                 "surplus"       =>$jd,
1534 1542
                 "type"          =>1
1535 1543
             ];
1536
-            $merchant_user->jingdou = $merchant_user->jingdou + $pv;
1544
+            $merchant_user->jingdou = bcadd($merchant_user->jingdou, (float)$jd,2);
1537 1545
             $merchant_user->save();
1538 1546
             Db::name("user_sign_jingdou")->insert($jd_data);//添加记录
1539 1547
         } else {
@@ -1543,7 +1551,7 @@ class OrderMerchantRepository extends BaseRepository
1543 1551
         Db::name('log')->insert(['data' => 'PV:' . $pv .' mer_jd:'. $mer_jd.' mer_gonxian:'.$mer_gonxian.' jingdou:'.$merchant_user->jingdou.' contribute:'.$merchant_user->contribute]);
1544 1552
 
1545 1553
         //跨店
1546
-        $kd_yongjin = bcmul($divisible_commission, $kd, 2);
1554
+        $kd_yongjin = bcmul($pv, $kd, 2);
1547 1555
         if ($kd_yongjin >= 0.01) {
1548 1556
             $mer_uid = Db::name("merchant")->where("mer_id",$top_data["mer_id"])->find();
1549 1557
             if ($mer_uid){

+ 56 - 58
app/common/repositories/store/order/StoreOrderRepository.php

@@ -1054,7 +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
+
1059
+                            //在VR+现金支付的时候,如果用户直接用vr支付了,没有用到现金的情况,需要更改订单状态
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
+                            }
1058 1098
 
1059 1099
                         } else if (!empty($array_fzone_paytype['type'] == 'c1')) {
1060 1100
                             //复购区 复购金支付
@@ -2204,7 +2244,7 @@ class StoreOrderRepository extends BaseRepository
2204 2244
 
2205 2245
 
2206 2246
                 //throw new ValidateException($user_datas['vr']);
2207
-                if ($uid == 7 || $uid == 669 || $uid == 670) {
2247
+                if ($uid == 7 || $uid == 669 || $uid == 670 || $uid == 783 || $uid == 873 || $uid == 766 || $uid == 17 || $uid == 26) {
2208 2248
                     //如果选择组合支付,查询当前用户名下的VR
2209 2249
                     $user_datas = Db::name('user')->where('uid', $uid)->find();
2210 2250
 
@@ -7681,21 +7721,21 @@ class StoreOrderRepository extends BaseRepository
7681 7721
             //汇付分账
7682 7722
             if ($pay_type == 1) {
7683 7723
                 //微信
7684
-                if ($order_group_data['pay_wx'] == 3) {
7685
-                    $tdba_member_id = 'jsdk_member_wx21689732717371';//天地博爱科技公司
7686
-                    $yihucha_member_id = 'jsdk_member_wx21700447226310';//河北省一壶茶电子商务有限公司
7724
+                // if ($order_group_data['pay_wx'] == 3) {
7725
+                    $tdba_member_id = 'jsdk_member_wx21689817115207';//天地博爱科技公司
7726
+                    $yihucha_member_id = 'jsdk_member_wx21689817115207';//河北省一壶茶电子商务有限公司
7687 7727
                     $api_key = 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
7688
-                } else {
7689
-                    //废弃的
7690
-                    $tdba_member_id = 'jsdk_member_wx1689731494604';
7691
-                    $api_key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
7692
-                    $yihucha_member_id = 'jsdk_member_wx1700272658386';
7693
-                }
7694
-            } else {
7728
+                // } else {
7729
+                //     //废弃的
7730
+                //     $tdba_member_id = 'jsdk_member_wx1689731494604';
7731
+                //     $api_key = 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
7732
+                //     $yihucha_member_id = 'jsdk_member_wx1700272658386';
7733
+                // }
7734
+            } else {    
7695 7735
                 //支付宝
7696 7736
                 $api_key = 'api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9';
7697
-                $tdba_member_id = 'jsdk_member_ali1689732721557';//天地博爱科技公司
7698
-                $yihucha_member_id = 'jsdk_member_ali1700447230042';//河北省一壶茶电子商务有限公司
7737
+                $tdba_member_id = 'jsdk_member_ali1689817119448';//天地博爱科技公司
7738
+                $yihucha_member_id = 'jsdk_member_ali1689817119448';//河北省一壶茶电子商务有限公司
7699 7739
             }
7700 7740
             unset($div_members);
7701 7741
 
@@ -9819,51 +9859,9 @@ class StoreOrderRepository extends BaseRepository
9819 9859
             }
9820 9860
 
9821 9861
 
9822
-            //会员专区用户如果是用的现金+VR。直接用VR付款的情况下。
9823
-            $fzone_paytype = json_decode($store_order_data['fzone_paytype'], true);
9824
-
9825
-            $user_data = Db::name('user')->where('uid', $store_order_data['uid'])->find();
9862
+           
9826 9863
 
9827
-            //会员专区的现金+VR支付
9828
-            if ($fzone_paytype['type'] == 'a3') {
9829
-
9830
-                //如果是用的VR支付,不是现金支付的情况下
9831
-                if ($fzone_paytype['price'] <= 0.1) {
9832
-
9833
-                    $dev_vr = $user_data['vr'] - $fzone_paytype['other'];
9834
-
9835
-                    if ($dev_vr >= 0) {
9836
-                        $user_data_dev_vr = Db::name('user')->where('uid', $store_order_data['uid'])->update(["vr" => $dev_vr]);
9837
-
9838
-                        if ($user_data_dev_vr) {
9839
-                            //支出账号存到log日志
9840
-                            $log_data = [
9841
-                                'uid' => $user_data['uid'],
9842
-                                'number' => $fzone_paytype['other'],
9843
-                                'mark' => "购买会员专区商品消费VR:" . $fzone_paytype['other'],
9844
-                                'desc' => "VR",
9845
-                                'order_id' => 0,
9846
-                                'surplus' => $dev_vr,
9847
-                                'order_type' => 0,
9848
-                                'type' => 2,
9849
-                                'addtime' => time()
9850
-                            ];
9851
-                            $user_res_log = Db::name("user_sign_vr")->insert($log_data);
9852
-                        }
9853
-                    } else {
9854
-                        $log_data = [
9855
-
9856
-                            'note' => "uid:" . $store_order_data['uid'] . " 购买会员专区商品消费VR:" . $fzone_paytype['other'] . " 用户消费前的VR余额:" . $user_data['vr'] . "描述:" . "未扣成功!" . "备注:" . json_encode($fzone_paytype),
9857
-
9858
-                            'create_time' => date("Y-m-d H:i:s", time())
9859
-                        ];
9860
-                        Db::name("test_log")->insert($log_data);
9861
-                    }
9862
-
9863
-                }
9864
-
9865
-
9866
-            }
9864
+      
9867 9865
 
9868 9866
              //会员专区,给用户升级判断
9869 9867
              $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();

+ 2 - 1
app/controller/admin/system/merchant/MerchantIntention.php

@@ -160,7 +160,8 @@ class MerchantIntention extends BaseController
160 160
 //            $commit_res=$this->repository->commit_res($shenhe_commit,$name);
161 161
 //            $commit_res=$this->repository->commit_res_query(['subApiKey'=>'api_live_2d788178-808b-4d73-bd9f-17c0d09cec44']);
162 162
 //            dump($commit_res);
163
-            $mer_id='276';
163
+            // $mer_id='276';
164
+            $mer_id = $id;
164 165
 
165 166
             $this -> repository -> huifu_create($id,1,'api_live_b3a56559-bb1a-42d0-89e2-b1d85e04a655','app_f3cba57b-15f3-4135-afda-ebe9fe3416ce',$mer_id);
166 167
             $this -> repository -> huifu_create($id,2,'api_live_68c25d10-2808-4042-8659-900e7b98ed1f','app_bd63b366-dbf1-4c66-97ef-a1438e9c935e',$mer_id);

+ 3 - 2
app/controller/api/Auth.php

@@ -748,7 +748,8 @@ class Auth extends BaseController
748 748
         $data['vr']=set_price_rtrim($data['vr']);//购物金
749 749
         $data['hongbao']=set_price_rtrim($data['hongbao']);//红包
750 750
         $data['fugou']=set_price_rtrim($data['fugou']);//复购金
751
-        //$data['brokerage_price']=set_price_rtrim($data['brokerage_price']);//养老金
751
+        $data['brokerage_price']=set_price_rtrim($data['brokerage_price']);//养老金
752
+        $data['annuity'] = set_price_rtrim($data['annuity']);//养老金
752 753
         $a = Db::name('user_bill') -> where('uid',$user['uid']) -> where('commission_type',3) -> where('status',0) -> sum('number');
753 754
         $b = Db::name('user_bill') -> where('uid',$user['uid']) -> where('commission_type',3) -> where('status',1) -> sum('number');
754 755
         // $data['brokerage_price'] = $a +$b;
@@ -961,7 +962,7 @@ class Auth extends BaseController
961 962
     function curl_java_login($phone){
962 963
         $curl = curl_init();
963 964
         curl_setopt_array($curl, array(
964
-            CURLOPT_URL => 'http://testshop.hxxfb.com/gateway/userCenter_service/userLogOnService/userPhoneLogOn',
965
+            CURLOPT_URL => 'http://shop.hxxfb.com/gateway/userCenter_service/userLogOnService/userPhoneLogOn',
965 966
             CURLOPT_RETURNTRANSFER => true,
966 967
             CURLOPT_ENCODING => '',
967 968
             CURLOPT_MAXREDIRS => 10,

+ 127 - 26
app/controller/api/Notify.php

@@ -463,7 +463,7 @@ class Notify
463 463
                                             //贡献值
464 464
                                             // $this->con_log($spread_data['uid'],round($pv * 0.07,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
465 465
                                             //积分
466
-                                            $this->score_log($spread_data['uid'],round($pv * 0.07,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
466
+                                            //$this->score_log($spread_data['uid'],round($pv * 0.07,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
467 467
 
468 468
                                         }else if($spread_data['user_group'] == 3){
469 469
                                             $con = $spread_data['contribute'] + round($pv * 0.09,2);
@@ -473,7 +473,7 @@ class Notify
473 473
                                             //贡献值
474 474
                                             // $this->con_log($spread_data['uid'],round($pv * 0.09,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
475 475
                                             //积分
476
-                                            $this->score_log($spread_data['uid'],round($pv * 0.09,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
476
+                                            //$this->score_log($spread_data['uid'],round($pv * 0.09,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
477 477
 
478 478
 
479 479
                                         }else if($spread_data['user_group'] == 4){
@@ -484,7 +484,7 @@ class Notify
484 484
                                             //贡献值
485 485
                                             // $this->con_log($spread_data['uid'],round($pv * 0.11,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
486 486
                                             //积分
487
-                                            $this->score_log($spread_data['uid'],round($pv * 0.11,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
487
+                                           // $this->score_log($spread_data['uid'],round($pv * 0.11,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
488 488
 
489 489
 
490 490
                                         }else if($spread_data['user_group'] == 5){
@@ -495,7 +495,7 @@ class Notify
495 495
                                             //贡献值
496 496
                                             // $this->con_log($spread_data['uid'],round($pv * 0.13,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
497 497
                                             //积分
498
-                                            $this->score_log($spread_data['uid'],round($pv * 0.13,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
498
+                                           // $this->score_log($spread_data['uid'],round($pv * 0.13,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
499 499
 
500 500
                                         }else if($spread_data['user_group'] == 6){
501 501
                                             $con = $spread_data['contribute'] + round($pv * 0.15,2);
@@ -505,7 +505,7 @@ class Notify
505 505
                                             //贡献值
506 506
                                             //$this->con_log($spread_data['uid'],round($pv * 0.15,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
507 507
                                             //积分
508
-                                            $this->score_log($spread_data['uid'],round($pv * 0.15,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
508
+                                           // $this->score_log($spread_data['uid'],round($pv * 0.15,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
509 509
 
510 510
 
511 511
                                         }else if($spread_data['user_group'] == 7){
@@ -516,11 +516,14 @@ class Notify
516 516
                                             //贡献值
517 517
                                             //$this->con_log($spread_data['uid'],round($pv * 0.17,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
518 518
                                             //积分
519
-                                            $this->score_log($spread_data['uid'],round($pv * 0.17,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
519
+                                            //$this->score_log($spread_data['uid'],round($pv * 0.17,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
520 520
 
521 521
 
522 522
                                         }
523 523
 
524
+                                        $this->score_log($spread_data['uid'],round($gx_jf,2),$store_order_data['order_id'],11,"推广会员专区商品赠送积分",1);
525
+
526
+
524 527
                                         $this->con_log($spread_data['uid'],round($gx_jf,2),$store_order_data['order_id'],11,"推广会员专区商品赠送贡献值",1);
525 528
 
526 529
                                         //养老金
@@ -672,33 +675,35 @@ class Notify
672 675
                                         Db::name("test_log")->insert( $log_data);
673 676
                                     }
674 677
 
678
+                                    //$this->userupdates(userupdates);
675 679
                                     
676 680
                                 }
677 681
 
678
-                                //会员专区,给用户升级判断
679
-                                $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();
680
-                                // 初始化总和变量
681
-                                $totalPayPrice = 0;
682
+                              
683
+             //会员专区,给用户升级判断
684
+             $orderList = Db::name("store_order")->where("uid", $store_order_data['uid'])->where("mer_id", 496)->where("status", "in", [0, 1, 2, 3])->select();
685
+             // 初始化总和变量
686
+             $totalPayPrice = 0;
682 687
 
683
-                                // 遍历查询结果
684
-                                foreach ($orderList as $order) {
685
-                                    // 累加 pay_price
686
-                                    $totalPayPrice += $order['pay_price'];
687
-                                }
688
+             // 遍历查询结果
689
+             foreach ($orderList as $order) {
690
+                 // 累加 pay_price
691
+                 $totalPayPrice += $order['pay_price'];
692
+             }
688 693
 
689
-                                $userdata = Db::name("user")->where("uid", $store_order_data['uid'])->find();
694
+             $userdata = Db::name("user")->where("uid", $store_order_data['uid'])->find();
690 695
 
691
-                                if ($totalPayPrice >= 1180 && $totalPayPrice < 11800) {
696
+             if ($totalPayPrice >= 1180 && $totalPayPrice < 11800) {
692 697
 
693
-                                    if ($userdata['user_group'] <= 1) {
694
-                                        Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 2]);
695
-                                    }
698
+                 if ($userdata['user_group'] <= 1) {
699
+                     Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 2]);
700
+                 }
696 701
 
697
-                                } else if ($totalPayPrice >= 11800) {
698
-                                    if ($userdata['user_group'] <= 2) {
699
-                                        Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 3]);
700
-                                    }
701
-                                }
702
+             } else if ($totalPayPrice >= 11800) {
703
+                 if ($userdata['user_group'] <= 2) {
704
+                     Db::name("user")->where("uid", $store_order_data['uid'])->update(["user_group" => 3]);
705
+                 }
706
+             }
702 707
 
703 708
 
704 709
                             }
@@ -911,6 +916,55 @@ class Notify
911 916
     }
912 917
 
913 918
     /**
919
+     * 获取当前用户业绩
920
+     */
921
+    public function userupdates($user_id) {
922
+      
923
+
924
+        $children = Db::name("user")
925
+        ->where("spread_uid", $user_id)
926
+        ->select(); // 获取子级的 uid 列表
927
+
928
+        $total_pv = 0;
929
+        
930
+        foreach($children as $k=>$v){
931
+            //$children_pv = Db::name("store_order")->where("uid", $v['uid'])->whereIn("status",[0,1,2,3])->select();
932
+            $children_pv = Db::name("user_sign_gongxian")->where("uid", $v['uid'])->where("status",1)->select();
933
+            foreach($children_pv as $k1=>$v1){
934
+                $total_pv += $v1['number'];
935
+            }
936
+           
937
+        }  
938
+        
939
+        $userdatas = Db::name("user")->where("uid", $user_id)->find();
940
+       // var_dump($userdatas['user_group']);
941
+        //如果当前用户是普通消费者的情况下
942
+        if($userdatas['user_group'] == 1){
943
+            if($total_pv != 0){
944
+             
945
+                if($total_pv >= 1180 && $total_pv < 11800){
946
+                
947
+                    Db::name("user")->where("uid", $user_id)->update(['user_group',2]);
948
+                }
949
+                
950
+            }
951
+        }
952
+
953
+        //如果当前用户是业务员消费者的情况下
954
+        if($userdatas['user_group'] <= 2){
955
+            if($total_pv != 0){
956
+             
957
+                if(11800 <= $total_pv){
958
+                 
959
+                   Db::name("user")->where("uid", $user_id)->update(['user_group',3]);
960
+                }
961
+                
962
+            }
963
+        }
964
+
965
+    }
966
+
967
+    /**
914 968
      * 会员升级
915 969
      */
916 970
     public function member_update($orderInfo,$goods_of_info,$user_id)
@@ -1394,7 +1448,54 @@ class Notify
1394 1448
         $con_data = Db::name('user')->where("uid",$uid)->find();
1395 1449
         //如果状态是1那就是即刻入账,
1396 1450
         if($status == 1){
1397
-            $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
1451
+          
1452
+
1453
+            //如果当前用户是业务经理之前的等级,那么需要将当前用户的直推用户贡献值加到自己贡献值中去
1454
+            if( $con_data['user_group'] <= 2 ){
1455
+           
1456
+                $spread_data = Db::name('user')->where("spread_uid",$uid)->select();
1457
+             
1458
+                if(count($spread_data) > 0){
1459
+                    $all_ids = [];
1460
+                    foreach($spread_data as $k=>$v){
1461
+                        $all_ids[] = $v['uid'];
1462
+                    }
1463
+    
1464
+                    // 查询当前用户及其子级的所有订单
1465
+                    $orders = Db::name("store_order")
1466
+                    ->whereIn('status', [0, 1, 2, 3])
1467
+                    ->whereIn("uid", $all_ids)
1468
+                    ->whereIn("total_price", [1180, 11800, 10620, 2360, 9440])
1469
+                    ->select();
1470
+    
1471
+                    // 计算总业绩
1472
+                    $totalPv = 0;
1473
+                    foreach ($orders as $order) {
1474
+                        switch ($order['total_price']) {
1475
+                        case 1180:
1476
+                            $totalPv += 700;
1477
+                            break;
1478
+                        case 11800:
1479
+                            $totalPv += 7000;
1480
+                            break;
1481
+                        case 10620:
1482
+                            $totalPv += 6300;
1483
+                            break;
1484
+                        case 2360:
1485
+                            $totalPv += 1400;
1486
+                            break;
1487
+                        case 9440:
1488
+                            $totalPv += 5600;
1489
+                            break;
1490
+                        }
1491
+                    }
1492
+                    $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num , "per_contribute" => $totalPv]);
1493
+                    
1494
+                }
1495
+            }else{
1496
+                $con_data_gongxian = Db::name('user')->where("uid",$uid)->update(['contribute'=>$con_data['contribute'] + $num]);
1497
+            }
1498
+
1398 1499
         }
1399 1500
 
1400 1501
         $con = [

+ 269 - 0
app/controller/api/cron/CommissionCron.php

@@ -4,7 +4,9 @@
4 4
 namespace app\controller\api\cron;
5 5
 
6 6
 
7
+use AdaPaySdk\Drawcash;
7 8
 use AdaPaySdk\PaymentConfirm;
9
+use AdaPaySdk\SettleAccount;
8 10
 use app\common\dao\store\order\StoreOrderDao;
9 11
 use app\common\repositories\merchant\order\OrderGzcRepository;
10 12
 use app\common\repositories\merchant\order\OrderMerchantRepository;
@@ -14,8 +16,10 @@ use app\common\repositories\user\UserRepository;
14 16
 use app\controller\api\Common;
15 17
 use app\controller\merchant\finance\Reconciliation;
16 18
 use app\traits\GongApiRequest;
19
+use app\traits\ShouxinyiApiRequest;
17 20
 use Carbon\Carbon;
18 21
 use Exception;
22
+use PHPMailer\PHPMailer\PHPMailer;
19 23
 use think\db\exception\DataNotFoundException;
20 24
 use think\db\exception\DbException;
21 25
 use think\db\exception\ModelNotFoundException;
@@ -1034,4 +1038,269 @@ where o.paid=1 and o.is_settlement=1 and settlement_time between '$this->startMo
1034 1038
         $merber->isError();
1035 1039
         return $merber->result;
1036 1040
     }
1041
+
1042
+
1043
+
1044
+
1045
+    //服务器配置,一般是默认配置
1046
+    private $CharSet = "UTF-8";                                  //设定邮件编码
1047
+    private $SMTPDebug = 0;                                      // 调试模式输出
1048
+    private $isSMTP = true;                                      // 使用SMTP
1049
+    private $Host = 'smtp.163.com';                              // SMTP服务器
1050
+    private $SMTPAuth = true;                                    // 允许 SMTP 认证
1051
+    private $Username = 'username';                              // SMTP 用户名  即邮箱的用户名
1052
+    private $Password = 'MHIKZOXVPTGNVOMU';                      // SMTP 密码  部分邮箱是授权码(例如163邮箱)
1053
+    private $SMTPSecure = 'ssl';                                 // 允许 TLS 或者ssl协议
1054
+    private $Port = 465;                                         // 服务器端口 25 或者465 具体要看邮箱服务器支持
1055
+    //修改成自己的邮箱
1056
+    private $From = 'formalverification@163.com';                //发件人邮箱
1057
+    private $FromName = 'makalo';                                //发件人的用户昵称
1058
+
1059
+
1060
+    //邮件对象
1061
+    private $mail;
1062
+
1063
+    //一般只有用户名和密码还有端口会变动, 所以这三个参数可以创建对象动态指定,也可以直接写死
1064
+    public function mallInit($Username = '', $Password = '', $Port = '')
1065
+    {
1066
+        if (!empty($Username)) {
1067
+            $this->Username = $Username;
1068
+        }
1069
+        if (!empty($Password)) {
1070
+            $this->Password = $Password;
1071
+        }
1072
+        if (!empty($Port)) {
1073
+            $this->Port = $Port;
1074
+        }
1075
+
1076
+        //为true表示启用异常
1077
+        $mail = new PHPMailer(true);
1078
+        //服务器配置
1079
+        $mail->CharSet = $this->CharSet;                     //设定邮件编码
1080
+        $mail->SMTPDebug = $this->SMTPDebug;                 // 调试模121212        1式输出
1081
+
1082
+        if ($this->isSMTP === true) {
1083
+            $mail->isSMTP();                                 // 使用SMTP
1084
+        }
1085
+        $mail->Host = $this->Host;                           // SMTP服务器
1086
+        $mail->SMTPAuth = $this->SMTPAuth;                   // 允许 SMTP 认证
1087
+        $mail->Username = $this->Username;                   // SMTP 用户名  即邮箱的用户名
1088
+        $mail->Password = $this->Password;                   // SMTP 密码  部分邮箱是授权码(例如163邮箱)
1089
+        $mail->SMTPSecure = $this->SMTPSecure;               // 允许 TLS 或者ssl协议
1090
+        $mail->Port = $this->Port;                           // 服务器端口 25 或者465 具体要看邮箱服务器支持
1091
+        $mail->setFrom($this->From, $this->FromName);        //发件人
1092
+
1093
+        $this->mail = $mail;
1094
+    }
1095
+
1096
+    /**
1097
+    * 发送邮件
1098
+    * @param array $sendAddress 收件人地址数组, 如果为单值数组则只写入收件地址,如果为键值数组则还写入收件人名称
1099
+    * @param array $Attachment 附件数组,如果为单值数组则为添加附件,如果为键值数组则添加附件并且重命名
1100
+    * @param bool $isHtml 是否以html文档格式发送
1101
+    * @param string $Subject 邮件主题
1102
+    * @param string $Body 邮件内容,如果以html格式可以写入html
1103
+    * @param string $AltBody 如果为单值数组则只写入收件地址,如果为键值数组则还写入收件人名称
1104
+    * @param array $CC 抄送地址数组, 如果为单值数组则只写入收件地址,如果为键值数组则还写入收件人名称
1105
+    * @param array $BCC 密送地址数组,如果为单值数组则只写入收件地址,如果为键值数组则还写入收件人名称
1106
+    * @return bool 是否发送成功
1107
+    */
1108
+    public function sendEMail($sendAddress = [], $Subject = '', $Body = '', $AltBody = '', $Attachment = [], $isHtml = true, $CC = [], $BCC = [])
1109
+    {
1110
+        try {
1111
+            //必填参数校验
1112
+            if (empty($sendAddress) || empty($Subject) || empty($Body)) {
1113
+                return false;
1114
+            }
1115
+            //收件人
1116
+            foreach ($sendAddress as $key => $value) {
1117
+                if (is_int($key)) {
1118
+                    // 处理单值
1119
+                    $this->mail->addAddress($value);
1120
+                } else {
1121
+                    // 处理键值
1122
+                    $this->mail->addAddress($value, $key);
1123
+                }
1124
+            }
1125
+            //附件
1126
+            if (!empty($Attachment)) {
1127
+                foreach ($Attachment as $key => $value) {
1128
+                    if (is_int($key)) {
1129
+                        // 处理单值
1130
+                        $this->mail->addAttachment($value);
1131
+                    } else {
1132
+                        // 处理键值
1133
+                        $this->mail->addAttachment($value, $key);
1134
+                    }
1135
+                }
1136
+            }
1137
+            //抄送
1138
+            if (!empty($CC)) {
1139
+                //抄送不为空
1140
+                foreach ($CC as $key => $value) {
1141
+                    if (is_int($key)) {
1142
+                        // 处理单值
1143
+                        $this->mail->addCC($value);
1144
+                    } else {
1145
+                        // 处理键值
1146
+                        $this->mail->addCC($value, $key);
1147
+                    }
1148
+                }
1149
+            }
1150
+            //密送
1151
+            if (!empty($BCC)) {
1152
+                //密送不为空
1153
+                foreach ($BCC as $key => $value) {
1154
+                    if (is_int($key)) {
1155
+                        // 处理单值
1156
+                        $this->mail->addBCC($value);
1157
+                    } else {
1158
+                        // 处理键值
1159
+                        $this->mail->addBCC($value, $key);
1160
+                    }
1161
+                }
1162
+            }
1163
+
1164
+            //回复的时候回复给哪个邮箱 建议和发件人一致
1165
+            $this->mail->addReplyTo($this->From, $this->FromName);
1166
+
1167
+            //Content
1168
+            // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
1169
+            $this->mail->isHTML($isHtml);
1170
+            //邮件主题
1171
+            $this->mail->Subject = $Subject;
1172
+            //邮件内容
1173
+            $this->mail->Body = $Body;
1174
+            //如果邮件客户端不支持HTML则显示此内容
1175
+            $this->mail->AltBody = $AltBody;
1176
+
1177
+            //发送
1178
+            $this->mail->send();
1179
+            return [
1180
+                'code' => 200,
1181
+            ];
1182
+        } catch (\Exception $e) {
1183
+            return [
1184
+                'code'    => 400,
1185
+                'message' => $this->mail->ErrorInfo
1186
+            ];
1187
+        }
1188
+    }
1189
+
1190
+    public function take()
1191
+    {
1192
+        set_time_limit(0);
1193
+        $this->mallInit('formalverification@163.com', 'SYECAWFLLTUPMDRP');
1194
+        $this->sendEMail(['389123492@qq.com', '420132441@qq.com'], '结算定时', "开始执行" . date('Y-m-d H:i:s'), '如果邮件客户端不支持HTML则显示此内容');
1195
+        $mallStr = '';
1196
+
1197
+//        Log::info('执行一次1 '.date('H:i') );
1198
+//        return ;
1199
+//        $storeOrderRepository = app()->make(StoreOrderRepository::class);
1200
+        $key_list = [
1201
+            1 => 'api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9',
1202
+            2 => 'api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f',
1203
+            3 => 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871'
1204
+        ];
1205
+        $appid_list = [
1206
+            1 => 'app_44108546-d27a-48ee-88c1-84b45b75114f',
1207
+            2 => 'app_0827b960-b932-45ec-b800-4e850091b419',
1208
+            3 => 'app_383a75dd-c03d-44ab-8f58-92c60fe9b9d0'
1209
+        ];
1210
+//
1211
+//        $payment_id = ShouxinyiApiRequest::getOrderNumber('split');
1212
+//        $insertData = [
1213
+//            [
1214
+//                'mid'            => 0,
1215
+//                'requestId'      => $payment_id,
1216
+//                'group_order_id' => 'WX171955791230553863',
1217
+//                'splitAmount'    => 0.25,
1218
+//                'status'         => 0
1219
+//            ],
1220
+//        ];
1221
+//        $div_members[] = [
1222
+//            'member_id' => 'member_personal_16704641278422',
1223
+//            'amount'    => '1.00',
1224
+//            'fee_flag'  => 'Y'
1225
+//        ];
1226
+//        //////分账表
1227
+//        Db::name("store_split_order")->insertAll($insertData);
1228
+//        /// 分账表end
1229
+//
1230
+//        $params = [
1231
+//            'payment_id'  => '002212024062814583210652657343702200320',
1232
+//            'order_no'    => $payment_id,
1233
+//            'confirm_amt' => '1.00',
1234
+//            'div_members' => $div_members
1235
+//        ];
1236
+//
1237
+//        $params['api_key'] = $key_list[3];
1238
+//
1239
+//        var_dump($params);
1240
+//        Db::name("log")->insert(array('data' => '汇付延时分账参数-----' . json_encode($params)));//日志记录
1241
+//        $res = $storeOrderRepository->payment_confirm_create_traits($params);
1242
+//        Db::name("log")->insert(array('data' => '汇付延时分账-----' . json_encode($res)));//日志记录
1243
+//        var_dump($res);
1244
+//        // 分账
1245
+//        return;
1246
+
1247
+        $merchant_member_list = Db::name('merchant_member')
1248
+//            ->where('member_id', 'member_personal_16704641278422')
1249
+            ->column('mer_id,type,member_id,settle_account_id');
1250
+
1251
+        foreach ($merchant_member_list as $merchant_member) {
1252
+            $mer_id = $merchant_member['mer_id'];
1253
+            if (empty($mer_id))
1254
+                continue;
1255
+            if (empty($merchant_member['settle_account_id']))
1256
+                continue;
1257
+            $params = [
1258
+                'app_id'            => $appid_list[$merchant_member['type']],
1259
+                'member_id'         => $merchant_member['member_id'],
1260
+                'settle_account_id' => $merchant_member['settle_account_id'],
1261
+                'api_key'           => $key_list[$merchant_member['type']]
1262
+            ];
1263
+            $merber = new SettleAccount();
1264
+            $merber->balance($params);
1265
+            $merber->result;
1266
+//            var_dump($merber->result);
1267
+            if (isset($merber->result[1])) {
1268
+                $result = json_decode($merber->result[1], true);
1269
+                $result = json_decode($result['data'], true);
1270
+                $result['avl_balance'] = $result['avl_balance'] ?? 0;
1271
+                if ($result['avl_balance'] > 0) {
1272
+                    $payment_id = ShouxinyiApiRequest::getOrderNumber('split');
1273
+                    $params = [
1274
+                        'order_no'  => $payment_id,
1275
+                        'app_id'    => $appid_list[$merchant_member['type']],
1276
+                        'cash_type' => 'T1',
1277
+                        'cash_amt'  => sprintf("%01.2f", $result['avl_balance']),
1278
+                        'member_id' => $merchant_member['member_id'],
1279
+                        'api_key'   => $key_list[$merchant_member['type']]
1280
+                    ];
1281
+
1282
+                    $yanglao_member_ids = ['jsdk_member_wx21710232183139', 'jsdk_member_ali1710232187326'];
1283
+                    if (in_array($merchant_member['member_id'], $yanglao_member_ids)) {
1284
+                        $params['remark'] = '天地博爱科技~养老金';
1285
+                    }
1286
+
1287
+                    Db::name("log")->insert(array('data' => '汇付取现参数-----' . json_encode($params)));//日志记录
1288
+                    $merber = new Drawcash();
1289
+                    $merber->create($params);
1290
+                    # 返回查询结果
1291
+                    $merber->isError();
1292
+                    $res = $merber->result;
1293
+                    Db::name("log")->insert(array('data' => '汇付延时分账-----' . json_encode($res)));                    //日志记录
1294
+                    Db::name("log")->insert(array('data' => "mer_id {$mer_id} 请求分账{$result['avl_balance']}元-----"));//日志记录
1295
+                    var_dump("mer_id {$mer_id} 请求分账{$result['avl_balance']}元-----");
1296
+                    $mallStr = $mallStr . "-----mer_id {$mer_id} 请求分账{$result['avl_balance']}元-----<br/>";
1297
+                }
1298
+            }
1299
+        }
1300
+        echo date('Y-m-d H:i:s') . '执行结束' . "\r\n";
1301
+
1302
+
1303
+        $this->sendEMail(['389123492@qq.com', '420132441@qq.com'], '结算定时', "执行结束<br/>" . $mallStr . date('Y-m-d H:i:s'), '如果邮件客户端不支持HTML则显示此内容');
1304
+    }
1305
+
1037 1306
 }

+ 3 - 3
app/controller/api/merchant/order/OrderMerchant.php

@@ -275,13 +275,13 @@ class OrderMerchant extends BaseController
275 275
                 $member_id=Db::name('merchant_member')->where('mer_id',$order['mer_id']) ->where("type",3)->value('member_id');
276 276
                 $key='api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871';
277 277
                 $app_id='app_383a75dd-c03d-44ab-8f58-92c60fe9b9d0';
278
-                $member_70 = 'jsdk_member_wx21693792690420';
278
+                $member_70 = 'jsdk_member_wx21689817115207';
279 279
                 $member_20 = 'jsdk_member_wx21689817115207';
280 280
             }else{
281 281
                 $member_id=Db::name('merchant_member')->where('mer_id',$order['mer_id']) ->where("type",2)->value('member_id');
282 282
                 $key='api_live_90ef02e4-54ac-41ee-adf1-e4927d23d58f';
283 283
                 $app_id='app_0827b960-b932-45ec-b800-4e850091b419';
284
-                $member_70 = 'jsdk_member_wx1693641002355';
284
+                $member_70 = 'jsdk_member_wx1689758980590';
285 285
                 $member_20 = 'jsdk_member_wx1689758980590';
286 286
             }
287 287
 
@@ -306,7 +306,7 @@ class OrderMerchant extends BaseController
306 306
                 'buyer_id'=>$order['pay_user_id']
307 307
             ];
308 308
             $key='api_live_b23537ed-64b8-45d6-832e-fb228aa9e0a9';
309
-            $member_70 = 'jsdk_member_ali1693792697054';
309
+            $member_70 = 'jsdk_member_ali1689817119448';
310 310
             $member_20 = 'jsdk_member_ali1689817119448';
311 311
             // 天地博爱通道
312 312
 //            $app_id='app_0827b960-b932-45ec-b800-4e850091b419';

+ 23 - 1
app/controller/api/merchant/sxy/Access.php

@@ -769,18 +769,40 @@ class Access
769 769
                 $userdata = Db::name('user')->where('uid',$store_order_data['uid'])->find();
770 770
                 //查询用户的VR是否足够
771 771
                 $vr_pri = $userdata['vr'] - $array_fzone_paytype['other'];
772
+
773
+               // return app('json')->fail($oid);
774
+                //return app('json')->fail($userdata['vr'] . " pri:" .$array_fzone_paytype['other']);
775
+
772 776
                 if($vr_pri < 0){
773 777
                     return app('json')->fail('VR不足,请重试!');
774 778
                 }
779
+
780
+                //如果VR足够,修改订单的实际价格
781
+                $group_order_datas = Db::name('store_group_order')->where('group_order_id',$oid)->find();
782
+                if(!empty($group_order_datas)){
783
+                    Db::name('store_group_order')->where('group_order_id',$oid)->update(['pay_price'=>$array_fzone_paytype['price']]);
784
+                }else{
785
+                    return app('json')->fail('找不到订单,请重试!');
786
+                }
775 787
             }
776 788
             //b2 精彩生活区的现金+积分支付
777 789
             if($array_fzone_paytype['type'] == 'b2'){
778
-
790
+                
791
+                $userdata = Db::name('user')->where('uid',$store_order_data['uid'])->find();
779 792
                 //查询用户的积分是否足够
780 793
                 $score_pri = $userdata['score'] - $array_fzone_paytype['other'];
781 794
                 if($score_pri < 0){
782 795
                     return app('json')->fail('积分不足,请重试!');
783 796
                 }
797
+
798
+                 //如果积分足够,修改订单的实际价格
799
+                 $group_order_datas = Db::name('store_group_order')->where('group_order_id',$oid)->find();
800
+                 if(!empty($group_order_datas)){
801
+                     Db::name('store_group_order')->where('group_order_id',$oid)->update(['pay_price'=>$array_fzone_paytype['price']]);
802
+                 }else{
803
+                     return app('json')->fail('找不到订单,请重试!');
804
+                 }
805
+
784 806
             }
785 807
 
786 808
 

+ 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
 

+ 86 - 30
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
 
@@ -1998,7 +2038,7 @@ return app("json")->success($data);
1998 2038
         $data['yanglao_yugu_all'] = $data['yanglao_clear_all'] + $data['yanglao_nclear_all'];
1999 2039
         $where['uid'] = $uid;
2000 2040
         $data['totel_money'] = Db::name('user_bill')->where($where)
2001
-            ->whereNotIn('commission_type', [5, 7, 17, 19])
2041
+            ->whereNotIn('commission_type', [0, 5, 17, 19])
2002 2042
             ->when($commission_type == 5, function ($query) use ($where, $startMonth, $endMonth) {
2003 2043
                 $query->whereBetween('create_time', [$startMonth, $endMonth]);
2004 2044
             }, function ($query) use ($where, $month, $startMonth, $endMonth) {
@@ -2009,7 +2049,7 @@ return app("json")->success($data);
2009 2049
 
2010 2050
         $pageInfo = Db::name('user_bill')
2011 2051
             ->where($where)
2012
-            ->whereNotIn('commission_type', [5, 7, 17, 19])
2052
+            ->whereNotIn('commission_type', [0, 5, 17, 19])
2013 2053
             ->when($commission_type == 5, function ($query) use ($where, $startMonth, $endMonth) {
2014 2054
                 $query->whereBetween('create_time', [$startMonth, $endMonth]);
2015 2055
             }, function ($query) use ($where, $month, $startMonth, $endMonth) {
@@ -3217,15 +3257,15 @@ return app("json")->success($data);
3217 3257
         $data['sum_amount'] = Db::name('user_bill')
3218 3258
             ->where('uid', $uid)
3219 3259
             ->where('commission_type', '<>', 5)
3260
+            ->where('commission_type', '<>', 0)
3220 3261
             ->where('pm', 1)
3221 3262
             ->sum('number');
3222 3263
 
3223
-
3224
-
3225 3264
         //未结算
3226 3265
         $data['no_clear_amount'] = Db::name('user_bill')
3227 3266
             ->where('uid', $uid)
3228 3267
             ->where('commission_type', '<>', 5)
3268
+            ->where('commission_type', '<>', 0)
3229 3269
             ->where('pm', 1)
3230 3270
             ->where('status', 0)
3231 3271
             ->sum('number');
@@ -3243,7 +3283,7 @@ return app("json")->success($data);
3243 3283
         //最终 总收益是 = 佣金余额 + 已提现 + 已转VR
3244 3284
         $data['sum_amount'] = $data['sum_amount'] + $data['transition_vr_amount'];
3245 3285
 
3246
-
3286
+        $data['sum_amount'] = set_price_rtrim($data['sum_amount']);
3247 3287
         return app('json')->success($data);
3248 3288
     }
3249 3289
 
@@ -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
         //计算自己的个人联盟总流水

+ 4 - 0
route/api.php

@@ -755,6 +755,9 @@ Route::group('api/', function () {
755 755
             //获取用户的可用VR
756 756
             Route::get('/product1/lst5', 'Taskordervr/lst5');
757 757
 
758
+             //补贴佣金发放
759
+             Route::get('/product1/lst7', 'Taskorderyj/lst7');
760
+
758 761
         })->prefix('api.store.merchant.');
759 762
 
760 763
 
@@ -1252,6 +1255,7 @@ Route::group('api/', function () {
1252 1255
     Route::get('down_gong_product', 'api.cron.CommissionCron/downGongProduct');//下架微唯宝已下架的商品
1253 1256
     Route::get('platform_income_detail_get', 'api.cron.CommissionCron/platform_income_detail_get');//插入平台收支明细
1254 1257
     Route::get('clear_platform_income_detail', 'api.cron.CommissionCron/clear_platform_income_detail');//删除平台收支明细
1258
+    Route::get('take', 'api.cron.CommissionCron/take');//插入平台收支明细
1255 1259
     Route::get('order/group_detail/:id', 'api.store.order.StoreOrder/group_detail');//订单详情
1256 1260
     Route::get('commission_cron_bonus', 'api.cron.CommissionCron/bonus');
1257 1261