yingzi 2 years ago
parent
commit
693838915b
1 changed files with 40 additions and 0 deletions
  1. 40 0
      app/api/controller/User.php

+ 40 - 0
app/api/controller/User.php

@@ -173,6 +173,46 @@ class User extends BaseController
     
 
 
+    /**
+     * 获取用户总邀请人数排行榜
+     * @param Request $request
+     */
+    public function getInviterRanking(Request $request){
+        $time = $request->param('time', time());
+        $times = explode(" - ",$time);
+        $page = $request->param('page', 1); // 获取请求中的页码参数,默认为 1
+        $pageSize = $request->param('pageSize', 6); // 获取请求中的每页记录数参数,默认为 6
+        if(sizeof($times)==2)
+        {
+            $count = (new UserModel) -> where('parent_uid', $request->user['uid'])->where('regtime','>=',$times[0])->where('regtime','<',$times[1])->count();
+        }
+        else
+        {
+            $count = (new UserModel) -> where('parent_uid', $request->user['uid'])->count();
+        }
+        $uids = (new UserModel) -> where('parent_uid', $request->user['uid'])
+            -> column('uid');
+        $InfoAudit= new InfoAudit();
+        $list = [];
+        if($count)
+        {
+            $list = (new UserModel)  -> where('parent_uid', 'in',$uids)
+                -> group('parent_uid')
+                -> field('parent_uid, COUNT(*) AS count')
+                -> order('count', 'DESC')
+                -> page($page,$pageSize)
+                -> select()
+                -> toArray();
+
+            foreach ($list as &$v)
+            {
+                $v['auth_info'] = $InfoAudit->where('uid',$v['uid'])->where('status',1)->find();
+            }
+        }
+        return app('json')->success(compact('count','list'));
+    }
+
+
     /**
      * 设置用户信息
      * @param Request $request