userId; } $res = $this->fans($userId, $lastId, $pageSize, $user_name ); /* if ($res==NULL){ $res = array(new \stdClass()); } */ if ($res==NULL && $lastId>0){ $data = array('code'=>0,'msg'=>'无更多数据','data'=>array()); $this->returnData($data);exit; } $data = array('code'=>0,'msg'=>'','data'=>$res,); $this->returnData($data);exit; } //关注此用户的所有人的列表 public function user(){ $userId = I('uid'); $lastId = I('last_id',0); $pageSize = I('page_size',20); $user_name = I('user_name'); if (empty($userId)){ $userId = $this->userId; } $res = $this->fans_user($userId, $lastId, $pageSize, $user_name ); /* if ($res==NULL){ $res = array(new \stdClass()); } */ if ($res==NULL && $lastId>0){ $data = array('code'=>0,'msg'=>'无更多数据','data'=>array()); $this->returnData($data);exit; } $data = array('code'=>0,'msg'=>'','data'=>$res,); $this->returnData($data);exit; } //用户关注的所有人的动态 public function course(){ $lastId = I('last_id',0); $pageSize = I('page_size',20); $userRes = $this->fans($this->userId, $lastId, $pageSize); if ($userRes==NULL && $lastId>0){ $data = array('code'=>0,'msg'=>'无更多数据','data'=>array()); $this->returnData($data);exit; } $fansArr = array(); $userIdArr = array(); foreach ($userRes as $row){ $userIdArr[] = $row['user_id']; $fansArr[$row['user_id']] = $row['fans_id']; } if (empty($userIdArr)){ $data = array('code'=>0,'msg'=>'','data'=>array()); $this->returnData($data);exit; } $condition = array('course_status'=>3,'course_flag'=>1,'is_show'=>1); $condition['user_id']=array('IN',$userIdArr); $orderby = 'course_id desc'; $pageSize = I('page_size',1000); $res = D('Course')->getCourseList($condition, $pageSize, $orderby); if ($res!=NULL){ $userWordsRes = $this->square(); foreach ($res as $key=>$row){ if (in_array($row['course_id'], $userWordsRes) || $row['user_id']==$this->userId){ $res[$key]['is_add'] = 1; }else{ $res[$key]['is_add'] = 0; } $res[$key]['fans_id'] = $fansArr[$row['user_id']]; } } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //关注和取消关注 public function edit(){ $uid = I('uid'); //1:关注,0:取关 $toFollow = I('to_follow'); if (!in_array($toFollow, array(0,1))){ $data = array('code'=>0,'msg'=>'类型错误'); $this->returnData($data);exit; } $userInfo = M('User')->where(array('user_id'=>$uid))->field('user_id')->find(); if ($userInfo==NULL){ $data = array('code'=>0,'msg'=>'用户id错误'); $this->returnData($data);exit; } $res = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$uid))->field('fans_id')->find(); if ($toFollow==1){ if ($res==NULL){ M('Fans')->add(array('user_id'=>$this->userId,'fans_user_id'=>$uid,'operate_dt'=>time(),)); $data = array('code'=>0,'msg'=>'关注成功'); $this->returnData($data);exit; }else{ $data = array('code'=>0,'msg'=>'关注成功'); $this->returnData($data);exit; } }else if($toFollow==0){ if ($res==NULL){ $data = array('code'=>0,'msg'=>'获取关注信息错误'); $this->returnData($data);exit; }else{ M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$uid))->delete(); $data = array('code'=>0,'msg'=>'取消关注成功'); $this->returnData($data);exit; } }else{ $data = array('code'=>1,'msg'=>'用户id错误'); $this->returnData($data);exit; } } //获取关注列表 private function fans($userId, $lastId, $pageSize, $user_name=''){ if (!empty($lastId)){ $join = 'f LEFT JOIN t_user u ON u.user_id=f.fans_user_id'; $arr=array('f.user_id'=>$userId,'fans_id'=>array('LT',$lastId),); if($user_name){ $arr['user_name']=array('like', "%{$user_name}%"); } $res = M('Fans')->join($join)->where($arr)->order('fans_id desc')->limit($pageSize)->field('fans_id,u.user_id,user_name,user_icon')->select(); }else{ $join = 'f LEFT JOIN t_user u ON u.user_id=f.fans_user_id'; $arr=array('f.user_id'=>$userId,); if($user_name){ $arr['user_name']=array('like', "%{$user_name}%"); } $res = M('Fans')->join($join)->where($arr)->order('fans_id desc')->limit($pageSize)->field('fans_id,u.user_id,user_name,user_icon')->select(); } return $res; } //获取被关注列表 private function fans_user($userId, $lastId, $pageSize, $user_name=''){ $join = 'f LEFT JOIN t_user u ON u.user_id=f.user_id'; $arr=array('f.fans_user_id'=>$userId); if (!empty($lastId)){ $arr['fans_id']=array('LT',$lastId); } if($user_name){ $arr['user_name']=array('like', "%{$user_name}%"); } $res = M('Fans')->join($join)->where($arr)->order('fans_id desc')->limit($pageSize)->field('fans_id,u.user_id,user_name,user_icon')->select(); foreach($res as $k=>&$v){ $fansInfo = M('Fans')->where(array('user_id'=>$userId,'fans_user_id'=>$v['user_id']))->field('fans_id')->find(); $v['is_fans'] = $fansInfo==NULL?0:1; } return $res; } //获取已经添加的课程或者自由记 private function square($uwType=0){ $condition = array('user_id'=>$this->userId); if (!empty($uwType)){ $condition['uw_type'] = $uwType; } $res = M('UserWords')->where($condition)->field('course_id')->select(); if ($res==NULL){ return array(); } $arr = array(); foreach ($res as $r){ $arr[] = $r['course_id']; } return $arr; } }