auth->id; } //列表 $list = Db::name('user_follow') ->alias('follow') ->join('user','follow.follow_uid = user.id','LEFT') ->field('user.id,user.username,user.nickname,user.avatar,user.birthday,user.gender') ->where('follow.uid',$user_id)->order('follow.id desc')->group('follow.follow_uid')->autopage()->select(); $list = list_domain_image($list,['avatar']); $list = list_birthday_age($list); //我的关注uids $my_follow_uids = $this->my_follow_uids(); if(!empty($list)){ foreach($list as $key => &$val){ //是否关注 $val['is_follow'] = in_array($val['id'],$my_follow_uids) ? 1 : 0; } } $this->success('success',$list); } //我的粉丝列表 public function my_fans_list(){ $user_id = input('user_id',0); if(empty($user_id)){ $user_id = $this->auth->id; } //列表 $list = Db::name('user_follow') ->alias('follow') ->join('user','follow.uid = user.id','LEFT') ->field('user.id,user.username,user.nickname,user.avatar,user.birthday,user.gender') ->where('follow.follow_uid',$user_id) ->group('follow.uid') ->order('follow.id desc')->autopage()->select(); $list = list_domain_image($list,['avatar']); $list = list_birthday_age($list); //我的关注uids $my_follow_uids = $this->my_follow_uids(); if(!empty($list)){ foreach($list as $key => &$val){ //是否关注 $val['is_follow'] = in_array($val['id'],$my_follow_uids) ? 1 : 0; } } $this->success('success',$list); } //我的好友,有亲密度就算是好友 public function my_friend_list(){ //亲密度列表 $intimacy = Db::name('user_intimacy')->alias('ui') ->field(['ui.id','ui.uid','ui.other_uid','ui.value','ui.level', 'u.nickname as u_nickname','u.avatar as u_avatar','u.is_active as u_is_active','ua.requesttime as ua_requesttime', 'ou.nickname as ou_nickname','ou.avatar as ou_avatar','ou.is_active as ou_is_active ','oua.requesttime as oua_requesttime']) ->join('user u' ,'ui.uid = u.id','LEFT') ->join('user_active ua' ,'ui.uid = ua.user_id','LEFT') ->join('user ou' ,'ui.other_uid = ou.id','LEFT') ->join('user_active oua','ui.other_uid = oua.user_id','LEFT') ->where('(ui.uid = '.$this->auth->id.') or (ui.other_uid = '.$this->auth->id.')') ->where('ui.value','gt','0.1') ->order('ui.value desc, ui.id desc')->autopage()->select(); // dump($intimacy); $result = []; if(!empty($intimacy)){ foreach($intimacy as $key => $val){ $newval = []; if($val['uid'] == $this->auth->id){ $newval = [ 'id' => $val['other_uid'], 'nickname' => $val['ou_nickname'], 'avatar' => $val['ou_avatar'], // 'requesttime' => $val['oua_requesttime'], 'is_active' => $val['ou_is_active'], 'intimacy' => $val['value'], 'requesttime_text' => get_last_time($val['oua_requesttime']).'在线', ]; }else{ $newval = [ 'id' => $val['uid'], 'nickname' => $val['u_nickname'], 'avatar' => $val['u_avatar'], // 'requesttime' => $val['ua_requesttime'], 'is_active' => $val['u_is_active'], 'intimacy' => $val['value'], 'requesttime_text' => get_last_time($val['ua_requesttime']).'在线', ]; } $result[] = $newval; } } $this->success(1,$result); } //关注某人 public function follow_one(){ $follow_uid = input('follow_uid',0); if(!$follow_uid){ $this->error(__('Invalid parameters')); } $checkuser = Db::name('user')->find($follow_uid); if(empty($checkuser)){ $this->error('此用户不存在'); } if($follow_uid == $this->auth->id){ $this->error('不能关注自己'); } $map = [ 'uid' => $this->auth->id, 'follow_uid' => $follow_uid, ]; $check = Db::name('user_follow')->where($map)->find(); if($check){ //取关 $rs = Db::name('user_follow')->where($map)->delete(); $this->success('操作成功'); } $id = Db::name('user_follow')->insertGetId($map); $this->success('操作成功',$id); } //取关某人 public function un_follow_one(){ $follow_uid = input('follow_uid',0); if(!$follow_uid){ $this->error(__('Invalid parameters')); } $checkuser = Db::name('user')->find($follow_uid); if(empty($checkuser)){ $this->error('此用户不存在'); } $map = [ 'uid' => $this->auth->id, 'follow_uid' => $follow_uid, ]; //不检查,全删 $rs = Db::name('user_follow')->where($map)->delete(); $this->success('操作成功'); } //我的关注uids private function my_follow_uids(){ $list = Db::name('user_follow')->where('uid',$this->auth->id)->column('follow_uid'); $list = array_flip($list); $list = array_flip($list); return $list; } //我的粉丝uids private function my_fans_uids(){ $list = Db::name('user_follow')->where('follow_uid',$this->auth->id)->column('uid'); $list = array_flip($list); $list = array_flip($list); return $list; } }