|
@@ -12,6 +12,7 @@ namespace App\Repositories;
|
|
use App\Models\MemberGroup;
|
|
use App\Models\MemberGroup;
|
|
use App\Models\MemberGroupInfo;
|
|
use App\Models\MemberGroupInfo;
|
|
use App\Traits\UserTrait;
|
|
use App\Traits\UserTrait;
|
|
|
|
+use Illuminate\Support\Facades\Redis;
|
|
|
|
|
|
class MemberGroupRepository {
|
|
class MemberGroupRepository {
|
|
use UserTrait;
|
|
use UserTrait;
|
|
@@ -26,31 +27,49 @@ class MemberGroupRepository {
|
|
* 获取推荐用户
|
|
* 获取推荐用户
|
|
*/
|
|
*/
|
|
public function isSuggestMember($request){
|
|
public function isSuggestMember($request){
|
|
|
|
+ $userInfo = $this->getUserInfo();
|
|
|
|
+ if (empty($userInfo)) {
|
|
|
|
+ return jsonError('获取用户信息失败');
|
|
|
|
+ }
|
|
$group = $this->memberGroup->where('is_suggest',1)->first();
|
|
$group = $this->memberGroup->where('is_suggest',1)->first();
|
|
$take = 50;
|
|
$take = 50;
|
|
if(!empty($request['take_count'])){
|
|
if(!empty($request['take_count'])){
|
|
$take = $request['take_count'];
|
|
$take = $request['take_count'];
|
|
}
|
|
}
|
|
if($group){
|
|
if($group){
|
|
- $groupInfo = $this->memberGroupInfo
|
|
|
|
|
|
+ $ids = $this->memberGroupInfo
|
|
->where('member_group_id',$group->id)
|
|
->where('member_group_id',$group->id)
|
|
->orderBy('sort')
|
|
->orderBy('sort')
|
|
->take($take)
|
|
->take($take)
|
|
- ->select('uid','sort')
|
|
|
|
- ->get();
|
|
|
|
- if($groupInfo){
|
|
|
|
- $array = $groupInfo->toArray();
|
|
|
|
- $userData = [];
|
|
|
|
- foreach ($array as $key=>$value){
|
|
|
|
- $userData[] = $value['uid'];
|
|
|
|
|
|
+ ->pluck('uid')
|
|
|
|
+ ->toArray();
|
|
|
|
+ if($ids){
|
|
|
|
+ $data = [];
|
|
|
|
+ foreach($ids as $uid){
|
|
|
|
+ $user = Redis::HGETALL('userInfo:'.$uid);
|
|
|
|
+ if(!$user){
|
|
|
|
+ $user = $this->userInfo($uid);
|
|
|
|
+ }
|
|
|
|
+ if($user){
|
|
|
|
+ $topics = Redis::zrevrange('topic.user_uid' . $user['uid'], 0, 2, 'withscores');
|
|
|
|
+ $names = [];
|
|
|
|
+ foreach($topics as $key => $item){
|
|
|
|
+ $topicNameArray = Redis::ZRANGEBYSCORE('topic.name', $key, $key);
|
|
|
|
+ if($topicNameArray){
|
|
|
|
+ $names[] = reset($topicNameArray);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $data[] = [
|
|
|
|
+ 'uid' => $user['uid'],
|
|
|
|
+ 'username' => $user['username'],
|
|
|
|
+ 'avatar' => $user['avatar'],
|
|
|
|
+ 'follow_status' => $this->getFollowStatus($userInfo['uid'], $user['uid']),
|
|
|
|
+ 'follow_topic' => $names,
|
|
|
|
+ 'topic_name' => $names[0]??'',
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- //请求用户接口获取用户信息
|
|
|
|
- $uids = implode(',',$userData);
|
|
|
|
- $data = $this->getMemberSortIdList($uids);
|
|
|
|
- if($data){
|
|
|
|
- return jsonSuccess(['list'=>$data]);
|
|
|
|
- }
|
|
|
|
- return jsonSuccess();
|
|
|
|
|
|
+ return jsonSuccess(['list'=>$data]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return jsonSuccess();
|
|
return jsonSuccess();
|