hrjy 2 lat temu
rodzic
commit
4231cac9f9

+ 36 - 0
app/api/controller/user/UserController.php

@@ -3,6 +3,7 @@
 namespace app\api\controller\user;
 
 use app\http\validates\user\AddressValidate;
+use app\models\many\ManyOrder;
 use app\models\system\SystemCity;
 use app\models\user\UserEnter;
 use app\models\user\UserVisit;
@@ -691,4 +692,39 @@ class UserController
         return app('json')->fail('参数传入错误');
 
     }
+
+    /**
+     * 团队下级人数和流水
+     * @param Request $request
+     * @return mixed
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public function dow(Request $request)
+    {
+        $user = User::select();
+        $userId = get_downline_dow($user, $request->uid());
+        $data = [
+            'count' => 0,
+            'user_list' => [],
+            'user_price' => 0
+        ];
+        if (count($userId) > 0){
+            $count = count($userId);
+            $userList = User::where('uid', 'in', $userId)
+                ->field('uid,nickname,avatar,add_time')
+                ->select();
+            foreach ($userList as &$item){
+                $item['price'] =  ManyOrder::where('uid', $item['uid'])->where('status', 1)->sum('price');
+            }
+            $userPrice = ManyOrder::where('uid', 'in', $userId)->where('status', 1)->sum('price');
+            $data = [
+                'count' => $count,
+                'user_price' => $userPrice,
+                'user_list' => $userList
+            ];
+        }
+        return app('json')->success($data);
+    }
 }

+ 15 - 0
app/common.php

@@ -647,6 +647,21 @@ if (!function_exists('do_request')) {
         }
     }
 
+    if (!function_exists('get_downline_dow')){
+        //所有下级
+        function get_downline_dow($members,$id){
+            $arr=array();
+            foreach ($members as $key => $v) {
+                if($v['spread_uid']==$id){  //pid为0的是顶级分类
+                    $arr[]=$v['uid'];
+                    $arr = array_merge($arr,get_downline_dow($members,$v['uid']));
+                }
+            }
+            return $arr;
+
+        }
+    }
+
     if (!function_exists('getParent')){
         //查找所有上级
         function getParent($uid){

+ 0 - 1
app/http/middleware/AllowOriginMiddleware.php

@@ -56,7 +56,6 @@ class AllowOriginMiddleware implements MiddlewareInterface
         } else {
             $response = $next($request)->header($header);
         }
-
         try {
             Db::startTrans();
             User::agent();//区域代理发放

+ 32 - 32
app/models/many/ManyOrder.php

@@ -146,13 +146,13 @@ class ManyOrder extends BaseModel
                                 // 没有发放v2和v3的奖励
                                 if ($v1 == 0) { // 没有发放v1的奖励
                                     $jl = $price * $one;
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v1++;
                                 }elseif ($v1 == 1){// 发放v1奖励1次
                                     $jl = ($price*$one)*0.05;//平级的百分之五
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v1++;
                                 }
                             }
@@ -161,23 +161,23 @@ class ManyOrder extends BaseModel
                                 // 没有发放v3的奖励
                                 if ($v1 == 0 and $v2 == 0) { // 没有发放v1和v2的奖励的奖励
                                     $jl = $price * $tow; // 拿到流水的百分之八
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v2++;
                                 }elseif($v1 == 0 and $v2 == 1) { // 没有发放v1和v2的奖励的奖励
                                     $jl = ($price * $tow)*0.05; // 拿到流水的百分之八
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v2++;
                                 }elseif ($v1 > 0 and $v2 == 0){// 发放v1奖励,没有发放v2的奖励
                                     $jl = $price * ($tow - $one); // 拿到流水减掉v1的百分之五
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v2++;
                                 }elseif ($v1 > 0 and $v2 == 1){// 发放v1奖励,发放v2的奖励一次
                                     $jl = ($price * ($tow - $one))*0.05; // 拿到平级的百分之五
-                                    $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                    $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                    $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                    $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                     $v2++;
                                 }
 
@@ -186,50 +186,50 @@ class ManyOrder extends BaseModel
                         }elseif ($details['level'] == 3){
                             if ($v1 == 0 and $v2 == 0 and $v3 == 0) { // 没有发放v1和v2v3的奖励的奖励
                                 $jl = $price * $three; // 拿到流水的百分之11
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 == 0 and $v2 == 0 and $v3 == 1) {// 没有发放v1和v2的奖励的奖励
                                 $jl = ($price * $three) * 0.05; // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 > 0 and $v2 == 0 and $v3 == 0){// 发放v1奖励,没有发放v2v3的奖励
                                 $jl = $price * ($three - $one); // 拿到流水减掉v1的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 > 0 and $v2 == 0 and $v3 == 1){// 发放v1奖励,没有发放v2v3的奖励
                                 $jl = ($price * ($three - $one)) * 0.05; // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 == 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,没有发放v3的奖励
                                 $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 == 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                                 $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 > 0 and $v2 > 0 and $v3 == 0){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                                 $jl = ($price * ($three - $tow)); // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }elseif ($v1 > 0 and $v2 > 0 and $v3 == 1){// 发放v1奖励,发放v2的奖励,发放v3的奖励
                                 $jl = ($price * ($three - $tow)) * 0.05; // 拿到平级的百分之五
-                                $details['purple_integral'] = $jl * 0.7; // 百分之70的紫积分
-                                $details['business_integral'] = $jl * 0.3; // 百分之30的商家积分
+                                $details['purple_integral'] += $jl * 0.7; // 百分之70的紫积分
+                                $details['integral'] += $jl * 0.3; // 百分之30的商家积分
                                 $v3++;
                             }
                         }
                         if ($jl > 0){
                             $details->save();
                             UserBill::income('团队奖励紫积分', $details['uid'], 'purple_integral', 'team', $jl * 0.7, 0,$details['purple_integral'], 'v'.$details['level'].'团队奖励紫积分');
-                            UserBill::income('团队奖励商积分', $details['uid'], 'business_integral', 'team', $jl * 0.3, 0,$details['business_integral'], 'v'.$details['level'].'团队奖励商积分');
+                            UserBill::income('团队奖励商积分', $details['uid'], 'business_integral', 'team', $jl * 0.3, 0,$details['integral'], 'v'.$details['level'].'团队奖励商积分');
                         }
                         $jl = 0;
                     }
@@ -255,11 +255,11 @@ class ManyOrder extends BaseModel
                     if ($price > 0){
                         $details = User::where('uid', $item['uid'])->find();
 
-                        $details['purple_integral'] = ($price * ($details['flowing_water'] / 100)) * 0.7; // 百分之70的紫积分
-                        $details['business_integral'] = ($price * ($details['flowing_water'] / 100)) * 0.3; // 百分之30的商家积分
+                        $details['purple_integral'] += ($price * ($details['flowing_water'] / 100)) * 0.7; // 百分之70的紫积分
+                        $details['integral'] += ($price * ($details['flowing_water'] / 100)) * 0.3; // 百分之30的商家积分
                         $details->save();
                         UserBill::income('分红流水奖励紫积分', $details['uid'], 'purple_integral', 'team', ($price * ($details['flowing_water'] / 100)) * 0.7, 0, $details['purple_integral'], '分红流水奖励紫积分');
-                        UserBill::income('分红流水奖励商积分', $details['uid'], 'business_integral', 'team', ($price * ($details['flowing_water'] / 100)) * 0.3, 0, $details['business_integral'], '分红流水奖励商积分');
+                        UserBill::income('分红流水奖励商积分', $details['uid'], 'business_integral', 'team', ($price * ($details['flowing_water'] / 100)) * 0.3, 0, $details['business_integral'], '分红流水奖励商积分');
                     }
                 }
             }

+ 1 - 0
route/api/route.php

@@ -190,6 +190,7 @@ Route::group(function () {
     Route::post('enter/apply', 'user.UserEnterController/apply')->name('apply');//商户申请
 
     Route::post('dow_user', 'user.UserController/dow_user')->name('dow_user');// 转账
+    Route::get('dow', 'user.UserController/dow')->name('dow');// 团队人数流水
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {