|
|
@@ -122,45 +122,63 @@ 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();
|
|
|
+ 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
|
|
|
+ $uids = [];
|
|
|
+
|
|
|
+ // 判断用户和 $times 是否存在
|
|
|
+ if ($request->has('user') && $request->has('time')) {
|
|
|
+ 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');
|
|
|
+ } else {
|
|
|
+ $count = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ $list = [];
|
|
|
+
|
|
|
+ if ($count) {
|
|
|
+ $InfoAudit = new InfoAudit();
|
|
|
|
|
|
- foreach ($list as &$v)
|
|
|
- {
|
|
|
- $v['auth_info'] = $InfoAudit->where('uid',$v['uid'])->where('status',1)->find();
|
|
|
- }
|
|
|
- } else { $list = array_fill(0, 6, []);
|
|
|
- foreach ($list as &$v) {
|
|
|
- $v['auth_info'] = $InfoAudit
|
|
|
- ->where('uid', $v['uid'])
|
|
|
- ->where('status', 1)
|
|
|
- ->find(); } }
|
|
|
- return app('json')->success(compact('count','list'));
|
|
|
- }
|
|
|
+ $list = (new UserModel)
|
|
|
+ ->whereIn('parent_uid', $uids)
|
|
|
+ ->group('parent_uid')
|
|
|
+ ->field('parent_uid, COUNT(*) AS count')
|
|
|
+ ->order('count', 'DESC')
|
|
|
+ ->page($page, $pageSize)
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ foreach ($list as &$v) {
|
|
|
+ $v['user_info'] = (new UserModel)
|
|
|
+ ->where('uid', $v['parent_uid'])
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ $v['auth_info'] = $InfoAudit->where('uid', $v['parent_uid'])->where('status', 1)->find();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $list = array_fill(0, 6, (new UserModel)->where('uid', $uids)->select());
|
|
|
+ }
|
|
|
+
|
|
|
+ return app('json')->success(compact('count', 'list'));
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|