0,'notice_type'=>0,'ref_user_id'=>array('like',array('%'.$this->userId.'%','0'),'OR'),); if ($lastId>0){ $condition['notice_id'] = array('LT',$lastId); } M('User')->where(array('user_id'=>$this->userId))->save(array('sys_notice'=>0)); $res = M('Notice')->where($condition)->order('notice_id desc')->field('extra,notice_id,record_id,notice_title,notice_status,notice_flag,notice_type,notice_content,operate_dt')->select(); foreach ($res as $key=>$r){ $res[$key]['extra']=json_decode($r['extra'],1); } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //评论消息 public function reply(){ $lastId = I('last_id',0); $pageSize = I('page_size',20); $condition = array('notice_type'=>3,'ref_user_id'=>array('like',array('%'.$this->userId.'%','0'),'OR'),); if ($lastId>0){ $condition['notice_id'] = array('LT',$lastId); } M('User')->where(array('user_id'=>$this->userId))->save(array('reply_notice'=>0)); $res = M('Notice')->where($condition)->order('notice_id desc')->field('extra,user_id,notice_id,record_id,notice_title,notice_status,notice_flag,notice_type,notice_content,operate_dt')->select(); foreach ($res as $key=>$r){ $res[$key]['extra']=json_decode($r['extra'],1); $choiceId=$res[$key]['extra']['choice_id']; $info = M('choice')->where(array('choice_id'=>$choiceId))->field('*')->find(); $res[$key]['extra']['choice_content']=mb_substr(strip_tags(htmlspecialchars_decode($info['choice_content'])),0,200,'utf-8'); $userList = array(); $info = M('User')->join(' u LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')->where(array('user_id'=>$r['user_id']))->field('user_id,user_phone,user_name,user_level,user_sex,user_icon,user_birthdate,user_score,user_city,user_province,"" as user_nickname,ul.level_name')->find(); if ($info==NULL){ continue; }else{ $res[$key]['user_id']=$info['user_id']; $res[$key]['user_sex']=$info['user_sex']; $res[$key]['user_score'] = $info['user_score']; $res[$key]['user_icon']=$info['user_icon']; $res[$key]['user_city']=$info['user_city']; $res[$key]['level_name']=$info['level_name']; $res[$key]['user_province']=$info['user_province']; $res[$key]['user_birthdate']=$info['user_birthdate']; $res[$key]['user_name'] = $info['user_name']; $res[$key]['user_nickname'] = $info['user_nickname']; } } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //点赞消息 public function praise(){ $lastId = I('last_id',0); $pageSize = I('page_size',20); $condition = array('notice_type'=>4,'ref_user_id'=>array('like',array('%'.$this->userId.'%','0'),'OR'),); if ($lastId>0){ $condition['notice_id'] = array('LT',$lastId); } M('User')->where(array('user_id'=>$this->userId))->save(array('praise_notice'=>0)); $res = M('Notice')->where($condition)->order('notice_id desc')->field('extra,user_id,notice_id,record_id,notice_title,notice_status,notice_flag,notice_type,notice_content,operate_dt')->select(); foreach ($res as $key=>$r){ $res[$key]['extra']=json_decode($r['extra'],1); $choiceId=$res[$key]['extra']['choice_id']; $info = M('choice')->where(array('choice_id'=>$choiceId))->field('*')->find(); //$res[$key]['extra']['choice_content']=mb_substr($info['choice_content'],0,200); $res[$key]['extra']['choice_content']=mb_substr(strip_tags(htmlspecialchars_decode($info['choice_content'])),0,200,'utf-8'); $userList = array(); $info = M('User')->join(' u LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')->where(array('user_id'=>$r['user_id']))->field('user_id,user_phone,user_name,user_level,user_sex,user_icon,user_birthdate,user_score,user_city,user_province,"" as user_nickname,ul.level_name')->find(); if ($info==NULL){ continue; }else{ $res[$key]['user_id']=$info['user_id']; $res[$key]['user_sex']=$info['user_sex']; $res[$key]['user_score'] = $info['user_score']; $res[$key]['user_icon']=$info['user_icon']; $res[$key]['user_city']=$info['user_city']; $res[$key]['level_name']=$info['level_name']; $res[$key]['user_province']=$info['user_province']; $res[$key]['user_birthdate']=$info['user_birthdate']; $res[$key]['user_name'] = $info['user_name']; $res[$key]['user_nickname'] = $info['user_nickname']; } } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //好友消息 public function user(){ $lastId = I('last_id',0); $pageSize = I('page_size',15); $condition = array('ref_user_id'=>$this->userId,'notice_type'=>array('IN',array(1,2))); if ($lastId>0){ $condition['notice_id'] = array('LT',$lastId); }else{ M('User')->where(array('user_id'=>$this->userId))->save(array('friend_notice'=>0)); } $res = M('Notice')->where($condition)->order('notice_id desc')->field('notice_id,record_id,notice_title,notice_status,notice_flag,notice_type,notice_content,user_id,ref_user_id,operate_dt')->select(); foreach ($res as $k=>$r){ if ($r['user_id']==0){ } $fields = 'user_name,user_icon'; $info = M('User')->where(array('user_id'=>$r['user_id']))->field($fields)->find(); if ($info==NULL){ $res[$k]['user_icon']=''; $res[$k]['user_name'] = ''; }else{ $res[$k]['user_icon']=$info['user_icon']; $res[$k]['user_name'] = $info['user_name']; } } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //点赞消息列表 public function share(){ //$this->userId=1000001; $lastId = I('last_id',0); $pageSize = I('page_size',10); $condition = array('s.user_id'=>$this->userId,'share_status'=>1); if ($lastId>0){ $condition['sw_id'] = array('LT',$lastId); }else{ M('User')->where(array('user_id'=>$this->userId))->save(array('zan_notice'=>0)); } $field = 'su.user_id,su.operate_dt,s.share_id,s.share_content,su.sw_id'; $join = array(' su LEFT JOIN t_share s ON su.share_id = s.share_id'); $res = M('ShareUser')->join($join)->where($condition)->order('sw_id desc')->limit($pageSize)->field($field)->select(); $userNicknameArr = $this->getUserNickname(); foreach ($res as $key=>$r){ $userList = array(); $info = M('User')->join(' u LEFT JOIN t_user_level ul ON u.user_level=ul.level_id')->where(array('user_id'=>$r['user_id']))->field('user_id,user_phone,user_name,user_level,user_sex,user_icon,user_birthdate,user_score,user_city,user_province,"" as user_nickname,ul.level_name')->find(); if ($info==NULL){ continue; }else{ $res[$key]['user_id']=$info['user_id']; $res[$key]['user_sex']=$info['user_sex']; $res[$key]['user_score'] = $info['user_score']; $res[$key]['user_icon']=$info['user_icon']; $res[$key]['user_city']=$info['user_city']; $res[$key]['level_name']=$info['level_name']; $res[$key]['user_province']=$info['user_province']; $res[$key]['user_birthdate']=$info['user_birthdate']; $res[$key]['user_name'] = $info['user_name']; $res[$key]['user_nickname'] = $info['user_nickname']; } } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //获取单条消息,点赞列表 public function info(){ $shareId = I('share_id'); $cons['s.share_id'] = $shareId; $res = M('Share')->join(' s LEFT JOIN t_user u ON s.user_id=u.user_id LEFT JOIN t_course c ON s.course_id=c.course_id') ->where($cons)->field('share_id,s.user_id,share_content,s.course_id,c.course_name,share_type as course_flag,s.operate_dt,u.user_name,u.user_icon') ->order('share_id desc')->select(); if ($res == NULL){ $data = array('code'=>0,'msg'=>'', 'data'=>''); $this->returnData($data);exit; } $userNicknameArr = $this->getUserNickname(); foreach ($res as $k=>$r){ //获取好友点赞 $shareRes = M('ShareUser')->join('sw LEFT JOIN t_user u ON sw.user_id=u.user_id') ->where(array('share_id'=>$r['share_id'])) ->field('sw.user_id,u.user_icon,u.user_name')->select(); foreach ($shareRes as $key=>$item){ if(isset($userNicknameArr[$item['user_id']])){ $shareRes[$key]['user_nickname'] = $userNicknameArr[$item['user_id']]; }else{ $shareRes[$key]['user_nickname'] = ''; } $shareRes[$key]['user_icon'] = empty($item['user_icon'])?'':$item['user_icon']; $shareRes[$key]['user_name'] = empty($item['user_name'])?'':$item['user_name']; } $res[$k]['user_list'] = $shareRes; } $data = array('code'=>0,'msg'=>'', 'data'=>$res); $this->returnData($data);exit; } //处理消息 public function readNotice() { $noticeId = I('notice_id'); $info = M('Notice')->where(array('notice_id'=>$noticeId))->field('notice_id')->find(); if ($info==NULL){ $data = array('code'=>1,'msg'=>'消息ID错误'); $this->returnData($data);exit; } M('Notice')->where(array('notice_id'=>$noticeId))->save(array('notice_status'=>2)); $data = array('code'=>0,'msg'=>'此消息已处理'); $this->returnData($data);exit; } //删除消息 public function del(){ $noticeId = I('notice_id'); $info = M('Notice')->where(array('notice_id'=>$noticeId))->field('notice_id')->find(); if ($info==NULL){ $data = array('code'=>0,'msg'=>'此消息已删除'); $this->returnData($data);exit; } M('Notice')->where(array('notice_id'=>$noticeId))->delete(); $data = array('code'=>0,'msg'=>'此消息已处理'); $this->returnData($data);exit; } }