123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class SquareController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
-
- //上传列表
- public function index(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $keyword = I('keyword','');
- $pageSize = I('page_size',1000);
- $courseStatus = I('course_status');
- $condition = array('is_delete'=>1,'user_id'=>$this->userId,'is_show'=>1);
- if (!empty($keyword)){
- $condition['course_name'] = array('LIKE','%'.$keyword.'%');
- }
- if (!empty($courseStatus) && $courseStatus==1){
- $condition['course_status'] = array('IN','2,3');
- }
- if ($lastId>0){
- $condition['course_id'] = array('LT',$lastId);
- }
- //$count = M('Course')->where($condition)->count();
- $orderby = '';
- if ($sort==1){
- $orderby = 'course_join desc';
- }else if($sort==2){
- $orderby = 'course_id desc';
- }
- //$res = D('Course')->where($condition)->order($orderby)->limit($pageSize)->field('course_id,course_name,course_num,course_join,course_flag,operate_dt')->select();
- $res = D('Square')->getSquareList($condition, $pageSize, $orderby, $this->userId);
- 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;
- }
- }
- }
- if (!empty($courseStatus) && $courseStatus==2){
- //$res1 = $this->getUserWords();
- }
- 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 getUserWords(){
- $condition = array(
- 'uw.user_id'=>$this->userId,
- 'uw.is_delete'=>1,
- 'c.is_delete'=>1,
- );
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $res1 = M('UserWords')->join($join)->where($condition)->field('c.course_id,c.user_id,c.course_name,c.course_num,c.course_join,c.course_status,uw.operate_dt,uw.uw_id,uw.uw_type')->order('uw_id desc')->select();
-
- }
-
- //指定用户的单词广场列表
- public function user(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $uId = I('u_id','');
- $pageSize = I('page_size',1000);
- if ($uId>0 && $uId<1000000){
- $data = array('code'=>1,'msg'=>'用户ID错误');
- $this->returnData($data);exit;
- }
- $condition = array('user_id'=>$uId,'course_status'=>3,'is_delete'=>1);
- if ($lastId>0){
- $condition['course_id'] = array('LT',$lastId);
- }
- $orderby = '';
- if ($sort==1){
- $orderby = 'course_join desc';
- }else if($sort==2){
- $orderby = 'course_id desc';
- }
- //$res = D('SquareModel')->getSquareList($condition,$pageSize,$orderby);
- $res = D('Course')->where($condition)->order($orderby)->limit($pageSize)->field('course_id,user_id,course_name,course_num,course_join,course_flag,operate_dt')->select();
- 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;
- }
- }
- }
- if ($res==NULL && $lastId>0){
- $data = array('code'=>0,'msg'=>'无更多数据','data'=>array());
- $this->returnData($data);exit;
- }
- if ($lastId==0){
- $userInfo = M('User')->where(array('user_id'=>$uId))->field('user_id,user_name,user_icon,user_sex')->find();
- if ($uId!=$this->userId){
- $fansInfo = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$uId))->field('fans_id')->find();
- $userInfo['is_fans'] = $fansInfo==NULL?0:1;
- }else{
- $userInfo['is_fans'] = 2;
- }
- $fansCount = M('Fans')->where(array('fans_user_id'=>$uId))->count();
- $userInfo['fans_nums'] = $fansCount==NULL?0:$fansCount;
- }else{
- $userInfo = new \stdClass();
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res,'info'=>$userInfo);
- if ($lastId==0){
- $data['info'] = $userInfo;
- }
- $this->returnData($data);exit;
- }
-
- //搜索课程和自由记
- public function search(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $pageSize = I('page_size',10);
- $keyword = I('keyword','');
- $condition = array('course_status'=>3);
- if (empty($keyword)){
- $data = array('code'=>1,'msg'=>'关键词不能为空');
- $this->returnData($data);exit;
- }
- if (!empty($keyword)){
- $condition['course_name'] = array('LIKE','%'.$keyword.'%');
- }
- if ($lastId>0){
- $condition['course_id'] = array('LT',$lastId);
- }
- //$count = M('Course')->where($condition)->count();
- $orderby = '';
- if ($sort==1){
- $orderby = 'course_join desc';
- }else if($sort==2){
- $orderby = 'course_id desc';
- }
- $res = D('Square')->getSquareList($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;
- }
- }
- }
- 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;
- }
-
- //获取已经添加的课程或者自由记
- 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;
- }
- }
|