hrjy 2 năm trước cách đây
mục cha
commit
b7dc6cfc9c
3 tập tin đã thay đổi với 71 bổ sung0 xóa
  1. 52 0
      app/api/controller/user/UserController.php
  2. 17 0
      app/common.php
  3. 2 0
      route/api/route.php

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

@@ -611,4 +611,56 @@ class UserController
         $puid = $request->post('puid/d', 0);
         return app('json')->success(User::setSpread($puid, $request->uid()));
     }
+
+
+    /**
+     *
+     * @return void
+     * @throws DataNotFoundException
+     * @throws DbException
+     * @throws ModelNotFoundException
+     */
+    public function province()
+    {
+        $user = User::where('level', '=', 4)->select();
+        $start_time = date('Y-m-01 00:00:00', strtotime('-1 month'));
+        $end_time = date('Y-m-d 23:59:59', strtotime(-date('d').'day'));
+        foreach ($user as $item){
+            $uids = get_downline(User::select(), $item['uid']);// 总团队
+            $uids1 = get_downlines(User::select(), $item['uid']);// 总团队
+            $number = StoreOrder::where('paid', 1)->where('uid', 'in', $uids)->whereBetweenTime('add_time', $start_time, $end_time)->sum('number');
+            $number1 = StoreOrder::where('paid', 1)->where('uid', 'in', $uids1)->whereBetweenTime('add_time', $start_time, $end_time)->sum('number');
+            $percent = 0;//佣金比例
+            if ($number >= 10 and $number <= 30){
+                $percent = 0.05;
+
+            }elseif ($number >= 31 and $number <= 100){
+                $percent = 0.08;
+
+            }elseif ($number >= 101 and $number <= 200){
+                $percent = 0.1;
+
+            }elseif ($number >= 201 and $number <= 400){
+                $percent = 0.12;
+
+            }elseif ($number >= 401 and $number <= 800){
+                $percent = 0.14;
+
+            }elseif ($number >= 801 and $number <= 1200){
+                $percent = 0.16;
+
+            }elseif ($number >= 1201 and $number <= 1800){
+                $percent = 0.18;
+
+            }elseif ($number >= 1801){
+                $percent = 0.2;
+
+            }
+            if ($percent > 0){
+                $jl = (sys_config('province') *  $number1) * $percent;
+                User::where('uid', $item['uid'])->inc('brokerage_price', $jl)->update();
+                UserBill::income('佣金', $item['uid'], 'now_money', 'brokerage', $jl, '', User::where('uid', $item['uid'])->value('brokerage_price'), '绩效瓶数'.$number.',发放佣金');
+            }
+        }
+    }
 }

+ 17 - 0
app/common.php

@@ -623,6 +623,23 @@ if (!function_exists('get_downline')){
     }
 }
 
+if (!function_exists('get_downlines')){
+    //所有下级
+    function get_downlines($members,$id){
+        $arr=array();
+        foreach ($members as $key => $v) {
+            if($v['spread_uid']==$id){  //pid为0的是顶级分类
+                if ($v['level'] < 4){
+                    $arr[]=$v['uid'];
+                    $arr = array_merge($arr,get_downlines($members,$v['uid']));
+                }
+            }
+        }
+        return $arr;
+
+    }
+}
+
 
 if (!function_exists('getParents')){
     //获取指定级别的所有上级

+ 2 - 0
route/api/route.php

@@ -231,6 +231,8 @@ Route::group(function () {
     Route::get('store_list', 'PublicController/store_list')->name('storeList');
     //获取城市列表
     Route::get('city_list', 'PublicController/city_list')->name('cityList');
+    //绩效
+    Route::any('province', 'user.UserController/province')->name('province');
 
 
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, false);