|
|
@@ -122,63 +122,48 @@ 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
|
|
|
- $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();
|
|
|
-
|
|
|
- $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'));
|
|
|
- }
|
|
|
+ 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 == 0) {
|
|
|
+ $list = (new UserModel)
|
|
|
+ -> where('uid', '<>', $request->user['uid'])
|
|
|
+ -> orderRaw('RAND()')
|
|
|
+ -> limit(6)
|
|
|
+ -> select()
|
|
|
+ -> toArray();
|
|
|
+ foreach ($list as &$v) {
|
|
|
+ $v['auth_info'] = $InfoAudit->where('uid', $v['uid'])->where('status', 1)->find();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $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'));
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|