|
|
@@ -122,28 +122,73 @@ class User extends BaseController
|
|
|
* 获取用户总邀请人数排行榜
|
|
|
* @param Request $request
|
|
|
*/
|
|
|
- public function getInviterRanking(Request $request){
|
|
|
+// public function getInviterRanking(Request $request){
|
|
|
+// $time = $request->param('time', time());
|
|
|
+// $times = explode(" - ",$time);
|
|
|
+//// $page = $request->param('page', 1);
|
|
|
+//// $pageSize = $request->param('pageSize', 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)
|
|
|
+// -> field('uid, nickname, avatar')
|
|
|
+// -> select()
|
|
|
+// -> toArray();
|
|
|
+// foreach ($list as &$v) {
|
|
|
+// $v['count'] = (new UserModel)->where('parent_uid', $v['uid'])->count();
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// $list = (new UserModel)
|
|
|
+// -> where('parent_uid', 'in', $uids)
|
|
|
+// -> group('parent_uid')
|
|
|
+// -> field('parent_uid AS uid, COUNT(*) AS count')
|
|
|
+// -> order('count', 'DESC')
|
|
|
+//// -> page($page, $pageSize)
|
|
|
+// -> select()
|
|
|
+// -> toArray();
|
|
|
+// foreach ($list as &$v) {
|
|
|
+// $user = (new UserModel)->where('uid', $v['uid'])->field('nickname, avatar')->find();
|
|
|
+// $v['nickname'] = $user['nickname'];
|
|
|
+// $v['avatar'] = $user['avatar'];
|
|
|
+// }
|
|
|
+// }
|
|
|
+// 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);
|
|
|
-// $pageSize = $request->param('pageSize', 6);
|
|
|
if(sizeof($times)==2)
|
|
|
{
|
|
|
- $count = (new UserModel) -> where('parent_uid', $request->user['uid'])->where('regtime','>=',$times[0])->where('regtime','<',$times[1])->count();
|
|
|
+ $count = (new UserModel) -> where('parent_uid', 'in', function ($query) use ($request) {
|
|
|
+ $query->table('user')->where('uid', $request->user['uid'])->field('parent_uid');
|
|
|
+ })->where('regtime','>=',$times[0])->where('regtime','<',$times[1])->count();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- $count = (new UserModel) -> where('parent_uid', $request->user['uid'])->count();
|
|
|
+ $count = (new UserModel) -> where('parent_uid', 'in', function ($query) use ($request) {
|
|
|
+ $query->table('user')->where('uid', $request->user['uid'])->field('parent_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)
|
|
|
-> field('uid, nickname, avatar')
|
|
|
-> select()
|
|
|
-> toArray();
|
|
|
@@ -152,11 +197,12 @@ class User extends BaseController
|
|
|
}
|
|
|
} else {
|
|
|
$list = (new UserModel)
|
|
|
- -> where('parent_uid', 'in', $uids)
|
|
|
+ -> where('parent_uid', 'in', function ($query) use ($request) {
|
|
|
+ $query->table('user')->where('uid', $request->user['uid'])->field('parent_uid');
|
|
|
+ })
|
|
|
-> group('parent_uid')
|
|
|
-> field('parent_uid AS uid, COUNT(*) AS count')
|
|
|
-> order('count', 'DESC')
|
|
|
-// -> page($page, $pageSize)
|
|
|
-> select()
|
|
|
-> toArray();
|
|
|
foreach ($list as &$v) {
|