|
@@ -66,7 +66,7 @@ class BeanRepository
|
|
->groupBy('related_content_id', 'content_author_id')->orderBy('count', 'desc')->limit(1)->get();
|
|
->groupBy('related_content_id', 'content_author_id')->orderBy('count', 'desc')->limit(1)->get();
|
|
$collent = $collent->toArray();
|
|
$collent = $collent->toArray();
|
|
foreach ($collent as $k=>$v){
|
|
foreach ($collent as $k=>$v){
|
|
- $collent[$k]['type'] = 'collent';
|
|
|
|
|
|
+ $collent[$k]['type'] = 'collect';
|
|
}
|
|
}
|
|
|
|
|
|
//文章被喜欢最多用户
|
|
//文章被喜欢最多用户
|
|
@@ -150,97 +150,63 @@ class BeanRepository
|
|
|
|
|
|
public function rankingList($request)
|
|
public function rankingList($request)
|
|
{
|
|
{
|
|
- $yesterday_start = Carbon::now()->addDays(-1)->startOfDay()->toDateTimeString();
|
|
|
|
- $yesterday_end = Carbon::now()->addDays(-1)->endOfDay()->toDateTimeString();
|
|
|
|
if ($request['type'] == 0){//排行榜赚豆达人
|
|
if ($request['type'] == 0){//排行榜赚豆达人
|
|
- $all_beans = Redis::ZREVRANGEBYSCORE('user_rainbow_bean2019-06-21', 100000000, 0, array('WITHSCORES'=>true,'limit' => array(0, 20)));//.$yesterday
|
|
|
|
|
|
+ $yesterday = Carbon::yesterday()->toDateString();
|
|
|
|
+ $all_beans = Redis::ZREVRANGEBYSCORE('user_rainbow_bean'.$yesterday, 100000000, 0, array('WITHSCORES'=>true,'limit' => array(0, 20)));
|
|
|
|
|
|
$new_arr = [];
|
|
$new_arr = [];
|
|
|
|
+ if ($all_beans) {
|
|
$i = 0;
|
|
$i = 0;
|
|
foreach ($all_beans as $key => $val) {
|
|
foreach ($all_beans as $key => $val) {
|
|
$new_arr[$i]['uid'] = $key;
|
|
$new_arr[$i]['uid'] = $key;
|
|
$new_arr[$i]['count'] = $val;
|
|
$new_arr[$i]['count'] = $val;
|
|
$i++;
|
|
$i++;
|
|
}
|
|
}
|
|
- $uids = implode(',', array_column($new_arr,'uid'));
|
|
|
|
- $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
- if ($user_data){
|
|
|
|
- foreach ($new_arr as $k=>$v){
|
|
|
|
- if(!isset($user_data[$v['uid']])) continue;
|
|
|
|
- $new_arr[$k]['follow_status'] = $user_data[$v['uid']]['follow_status'];
|
|
|
|
- $new_arr[$k]['username'] = $user_data[$v['uid']]['username'];
|
|
|
|
- $new_arr[$k]['avatar'] = $user_data[$v['uid']]['avatar'];
|
|
|
|
|
|
+ $uids = implode(',', array_column($new_arr, 'uid'));
|
|
|
|
+ $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
+ if ($user_data) {
|
|
|
|
+ foreach ($new_arr as $k => $v) {
|
|
|
|
+ if (!isset($user_data[$v['uid']])) continue;
|
|
|
|
+ $new_arr[$k]['follow_status'] = $user_data[$v['uid']]['follow_status'];
|
|
|
|
+ $new_arr[$k]['username'] = $user_data[$v['uid']]['username'];
|
|
|
|
+ $new_arr[$k]['avatar'] = $user_data[$v['uid']]['avatar'];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $new_arr;
|
|
return $new_arr;
|
|
|
|
|
|
}elseif ($request['type'] == 1){//排行榜人脉达人
|
|
}elseif ($request['type'] == 1){//排行榜人脉达人
|
|
-// $registered_most = Redis::get('yesterday_registered_most');
|
|
|
|
-// $registered_mosts = json_decode($registered_most,true);
|
|
|
|
-
|
|
|
|
- //昨日拉新最多前十人
|
|
|
|
- $registered_most = RegisteredRecord::
|
|
|
|
-// whereBetween('created_at', [$yesterday_start,$yesterday_end])
|
|
|
|
- select(DB::raw('count(*) as count'),'superior_uid')
|
|
|
|
- ->groupBy('superior_uid')->orderBy('count','desc')->limit(10)->get();
|
|
|
|
- $registered_most = $registered_most->toArray();
|
|
|
|
-
|
|
|
|
- $superior_uid = array_column($registered_most,'superior_uid');
|
|
|
|
- $uids = implode(',', array_unique($superior_uid));
|
|
|
|
- $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
- if ($user_data){
|
|
|
|
- foreach ($registered_most as $k=>$v){
|
|
|
|
- if(!isset($user_data[$v['superior_uid']])) continue;
|
|
|
|
- $registered_most[$k]['follow_status'] = $user_data[$v['superior_uid']]['follow_status'];
|
|
|
|
- $registered_most[$k]['username'] = $user_data[$v['superior_uid']]['username'];
|
|
|
|
- $registered_most[$k]['avatar'] = $user_data[$v['superior_uid']]['avatar'];
|
|
|
|
|
|
+ $registered_mosts = Redis::get('yesterday_registered_most');
|
|
|
|
+ $registered_most = json_decode($registered_mosts,true);
|
|
|
|
+ if ($registered_most){
|
|
|
|
+ $superior_uid = array_column($registered_most,'superior_uid');
|
|
|
|
+ $uids = implode(',', array_unique($superior_uid));
|
|
|
|
+ $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
+ if ($user_data){
|
|
|
|
+ foreach ($registered_most as $k=>$v){
|
|
|
|
+ if(!isset($user_data[$v['superior_uid']])) continue;
|
|
|
|
+ $registered_most[$k]['follow_status'] = $user_data[$v['superior_uid']]['follow_status'];
|
|
|
|
+ $registered_most[$k]['username'] = $user_data[$v['superior_uid']]['username'];
|
|
|
|
+ $registered_most[$k]['avatar'] = $user_data[$v['superior_uid']]['avatar'];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $registered_most;
|
|
return $registered_most;
|
|
|
|
|
|
}else{//排行榜最佳作者
|
|
}else{//排行榜最佳作者
|
|
-// $all_best_author = Redis::get('yesterday_best_author');
|
|
|
|
-// $all_best_authors = json_decode($all_best_author,true);
|
|
|
|
- //昨日文章产生彩虹豆最多前十人
|
|
|
|
- $comment_author = CommentRecord::select(DB::raw('count(*) as count'),'generation_quantity','content_author_id','related_content_id')->groupBy('generation_quantity','related_content_id','content_author_id')
|
|
|
|
- ->orderBy('generation_quantity','desc')
|
|
|
|
- ->limit(10)
|
|
|
|
- ->get();;
|
|
|
|
- $comment_best_author = $comment_author->toArray();
|
|
|
|
- foreach ($comment_best_author as $k=>$v){
|
|
|
|
- $comment_best_author[$k]['type'] = 'comment';
|
|
|
|
- }
|
|
|
|
- $general_author = GeneralRecord::select(DB::raw('count(*) as count'),'generation_quantity','content_author_id','related_content_id')->groupBy('generation_quantity','related_content_id','content_author_id')
|
|
|
|
- ->orderBy('generation_quantity','desc')
|
|
|
|
- ->limit(10)
|
|
|
|
- ->get();;;
|
|
|
|
- $general_best_author = $general_author->toArray();
|
|
|
|
- foreach ($general_best_author as $k=>$v){
|
|
|
|
- $general_best_author[$k]['type'] = 'general';
|
|
|
|
- }
|
|
|
|
- $release_author =ReleaseRecord::
|
|
|
|
-// ->where('created_at', '>=', $time)
|
|
|
|
- select(DB::raw('count(*) as count'),'generation_quantity','uid as content_author_id','related_content_id')
|
|
|
|
- ->groupBy('generation_quantity','content_author_id','related_content_id')->orderBy('generation_quantity','desc')->limit(10)->get();
|
|
|
|
- $release_best_author = $release_author->toArray();
|
|
|
|
- foreach ($release_best_author as $k=>$v){
|
|
|
|
- $release_best_author[$k]['type'] = 'release';
|
|
|
|
- }
|
|
|
|
- $all_best_author = array_merge($comment_best_author,$general_best_author,$release_best_author);
|
|
|
|
-
|
|
|
|
- $column = array_column($all_best_author,'generation_quantity');
|
|
|
|
- array_multisort($column,SORT_DESC,$all_best_author);
|
|
|
|
-
|
|
|
|
- $all_best_author = array_slice($all_best_author,0,10);
|
|
|
|
- $content_author_id = array_column($all_best_author,'content_author_id');
|
|
|
|
- $uids = implode(',', array_unique($content_author_id));
|
|
|
|
- $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
- if ($user_data){
|
|
|
|
- foreach ($all_best_author as $k=>$v){
|
|
|
|
- if(!isset($user_data[$v['content_author_id']])) continue;
|
|
|
|
- $all_best_author[$k]['follow_status'] = $user_data[$v['content_author_id']]['follow_status'];
|
|
|
|
- $all_best_author[$k]['username'] = $user_data[$v['content_author_id']]['username'];
|
|
|
|
- $all_best_author[$k]['avatar'] = $user_data[$v['content_author_id']]['avatar'];
|
|
|
|
|
|
+ $all_best_authors = Redis::get('yesterday_best_author');
|
|
|
|
+ $all_best_author = json_decode($all_best_authors,true);
|
|
|
|
+ if ($all_best_author){
|
|
|
|
+ $content_author_id = array_column($all_best_author,'content_author_id');
|
|
|
|
+ $uids = implode(',', array_unique($content_author_id));
|
|
|
|
+ $user_data = $this->getFollowMembersStatus($uids);
|
|
|
|
+ if ($user_data){
|
|
|
|
+ foreach ($all_best_author as $k=>$v){
|
|
|
|
+ if(!isset($user_data[$v['content_author_id']])) continue;
|
|
|
|
+ $all_best_author[$k]['follow_status'] = $user_data[$v['content_author_id']]['follow_status'];
|
|
|
|
+ $all_best_author[$k]['username'] = $user_data[$v['content_author_id']]['username'];
|
|
|
|
+ $all_best_author[$k]['avatar'] = $user_data[$v['content_author_id']]['avatar'];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $all_best_author;
|
|
return $all_best_author;
|
|
@@ -264,18 +230,19 @@ class BeanRepository
|
|
|
|
|
|
public function starHome($request)
|
|
public function starHome($request)
|
|
{
|
|
{
|
|
- $star_home['star'] = [];
|
|
|
|
- $my_bean = [];
|
|
|
|
- $star_home['star'][0]['mybean'] = $my_bean;
|
|
|
|
- $star_home['star'][0]['mybean']['user_all_bean'] = Redis::get('user_all_bean');//用户总彩虹豆
|
|
|
|
- $star_home['star'][0]['mybean']['yesterday_add_bean'] = Redis::get('yesterday_add_bean');//昨日发放彩虹豆
|
|
|
|
- $star_home['star'][0]['mybean']['user_count'] = Redis::get('user_count');//已入驻居民
|
|
|
|
- $star_home['star'][0]['mybean']['yesterday_add_user'] = Redis::get('yesterday_add_user');//昨日新增居民
|
|
|
|
- $star_home['star'][0]['mybean']['yesterday_quantity_issued'] = Redis::get('yesterday_quantity_issued');//昨日发放总彩虹豆
|
|
|
|
|
|
+ $star_home = [];
|
|
|
|
+ $user_bean = Redis::get('my_bean');
|
|
|
|
+ $user_bean = json_decode($user_bean,true);
|
|
|
|
+ $yesterday_quantity_issued = Redis::get('yesterday_quantity_issued');
|
|
|
|
+ $star_home['mybean']['user_all_bean'] = $user_bean['user_all_bean'] ?? 0;//用户总彩虹豆
|
|
|
|
+ $star_home['mybean']['yesterday_add_bean'] = $user_bean['yesterday_add_bean'] ?? 0;//昨日发放彩虹豆
|
|
|
|
+ $star_home['mybean']['user_count'] = $user_bean['user_count'] ?? 0;//已入驻居民
|
|
|
|
+ $star_home['mybean']['yesterday_add_user'] = $user_bean['yesterday_add_user'] ?? 0;//昨日新增居民
|
|
|
|
+ $star_home['mybean']['yesterday_quantity_issued'] = $yesterday_quantity_issued ?? 0;//昨日发放总彩虹豆
|
|
|
|
|
|
- $star_home['star'][1]['excellent_residents'] = $this->excellentResidents($request);
|
|
|
|
- $star_home['star'][2]['daily_news'] = $this->getNews($request);
|
|
|
|
- $star_home['star'][3]['tips'] = $this->getPlatformContent($id = 1);
|
|
|
|
|
|
+ $star_home['excellent_residents'] = $this->excellentResidents($request);
|
|
|
|
+ $star_home['daily_news'] = $this->getNews($request);
|
|
|
|
+ $star_home['tips'] = $this->getPlatformContent($id = 1);
|
|
|
|
|
|
return $star_home;
|
|
return $star_home;
|
|
|
|
|