UserApi::user_follower PHP Method

user_follower() public method

用户粉丝列表 --using
public user_follower ( ) : array
return array 用户信息+关注状态
    public function user_follower()
    {
        model('UserData')->setKeyValue($this->mid, 'new_folower_count', 0);
        if (empty($this->user_id) && empty($this->data['uname'])) {
            $uid = $this->mid;
            // 如果是本人,清空新粉丝提醒数字
            $udata = model('UserData')->getUserData($this->mid);
            $udata['new_folower_count'] > 0 && model('UserData')->setKeyValue($this->mid, 'new_folower_count', 0);
        } else {
            if ($this->user_id) {
                $uid = intval($this->user_id);
            } else {
                $uid = model('User')->where(array('uname' => $this->data['uname']))->getField('uid');
            }
        }
        $max_id = $this->max_id ? intval($this->max_id) : 0;
        $count = $this->count ? intval($this->count) : 20;
        if (t($this->data['key'])) {
            $map['f.`fid`'] = $uid;
            !empty($max_id) && ($map['follow_id'] = array('lt', $max_id));
            $_map['u.`uname`'] = array('LIKE', '%' . $this->data['key'] . '%');
            //通过备注名搜索
            $ruid_arr = D('UserRemark')->searchRemark($this->mid, t($this->data['key']));
            if ($ruid_arr) {
                $_map['u.`uid`'] = array('IN', $ruid_arr);
                $_map['_logic'] = 'OR';
            }
            $map['_complex'] = $_map;
            $follower = D()->table('`' . C('DB_PREFIX') . 'user_follow` AS f LEFT JOIN `' . C('DB_PREFIX') . 'user` AS u ON f.`uid` = u.`uid`')->field('f.`follow_id` AS `follow_id`,f.`uid` AS `uid`')->where($map)->order('follow_id DESC')->limit($count)->findAll();
        } else {
            $where = 'fid = ' . $uid;
            !empty($max_id) && ($where .= " AND follow_id < {$max_id}");
            $follower = model('Follow')->where($where)->order('follow_id DESC')->field('follow_id,uid')->limit($count)->findAll();
        }
        $follow_status = model('Follow')->getFollowStateByFids($this->mid, getSubByKey($follower, 'uid'));
        $follower_arr = array();
        foreach ($follower as $k => $v) {
            $follower_arr[$k]['follow_id'] = $v['follow_id'];
            $follower_info = $this->get_user_info($v['uid']);
            $follower_arr[$k]['user_group'] = $follower_info['user_group'];
            $follower_arr[$k]['uid'] = $v['uid'];
            $follower_arr[$k]['uname'] = $follower_info['uname'];
            $follower_arr[$k]['remark'] = $follower_info['remark'];
            $follower_arr[$k]['intro'] = $follower_info['intro'] ? formatEmoji(false, $follower_info['intro']) : '';
            $follower_arr[$k]['avatar'] = $follower_info['avatar']['avatar_big'];
            $follower_arr[$k]['follow_status'] = $follow_status[$v['uid']];
        }
        return $follower_arr;
    }