123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class NotepadController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
-
- //自由记列表
- public function index(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $pageSize = I('page_size',10);
- $keyword = I('keyword','');
- $condition = array('course_status'=>3,'course_flag'=>2);
- if (!empty($keyword)){
- $condition['course_name'] = array('LIKE','%'.$keyword.'%');
- }
- 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('Notepad')->getNotepadList($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;
- }
-
- //添加自由记到我的自由记
- public function favorite(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'自由记ID错误');
- $this->returnData($data);exit;
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1,'course_status'=>3))->field('course_id,user_id')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'自由记信息不存在');
- $this->returnData($data);exit;
- }
- if ($courseInfo['user_id']==$this->userId){
- $data = array('code'=>1,'msg'=>'自己添加的自由记无需添加');
- $this->returnData($data);exit;
- }
- //判断用户是否已经添加过该课程
- $userInfo = M('UserWords')->where(array('course_id'=>$courseId,'is_delete'=>1,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($userInfo!=NULL){
- $data = array('code'=>1,'msg'=>'用户已经添加过该自由记,请勿重复添加');
- $this->returnData($data);exit;
- }
- M('UserWords')->add(array('course_id'=>$courseId,'user_id'=>$this->userId,'operate_dt'=>time()));
- M('Course')->where(array('course_id'=>$courseId))->setInc('course_join');
- $data = array('code'=>0,'msg'=>'已添加至我的自由记中','data'=>'');
- $this->returnData($data);exit;
- }
- //自由记详情
- public function detail(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'自由记ID错误');
- $this->returnData($data);exit;
- }
- //$courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1,'course_status'=>3))->field('course_id,course_name,course_content,operate_dt')->find();
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('user_id,course_id,course_name,course_content,operate_dt')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'自由记信息不存在');
- $this->returnData($data);exit;
- }
- $userWordsRes = $this->square();
- if (in_array($courseInfo['course_id'], $userWordsRes) || $courseInfo['user_id']==$this->userId){
- $courseInfo['is_add'] = 1;
- }else{
- $courseInfo['is_add'] = 0;
- }
- if ($courseInfo['user_id']!=$this->userId){
- $fansInfo = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$courseInfo['user_id']))->field('fans_id')->find();
- $courseInfo['is_fans'] = $fansInfo==NULL?0:1;
- }else{
- $courseInfo['is_fans'] = 2;
- }
- $userInfo = M('User')->where(array('user_id'=>$courseInfo['user_id']))->field('user_id,user_name,user_icon')->find();
- $courseInfo['user_icon'] = $userInfo['user_icon'];
- $courseInfo['user_name'] = $userInfo['user_name'];
- $data = array('code'=>0,'msg'=>'','data'=>$courseInfo);
- $this->returnData($data);exit;
- }
- //添加自由记
- public function add(){
- $courseId = I('course_id','');
- $courseName = I('course_name','');
- $courseContent = I('course_content','');
- if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>40){
- $data = array('code'=>1,'msg'=>'自由记名称2到40个汉字',);
- $this->returnData($data);exit;
- }
- if (mb_strlen($courseContent,'UTF8')<2 || mb_strlen($courseContent,'UTF8')>10000){
- $data = array('code'=>1,'msg'=>'自由记名称2到10000个汉字',);
- $this->returnData($data);exit;
- }
- if (!empty($courseId)){
- $courseInfo = M('Course')->where(array('course_id'=>$courseId))->field('user_id')->find();
- if ($courseInfo==NULL || $courseInfo['user_id']!=$this->userId){
- $data = array('code'=>1,'msg'=>'暂无权限编辑该自由记',);
- $this->returnData($data);exit;
- }
- }
- $res = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
- //新增
- if (empty($courseId) && $res!=NULL){
- $courseName = $this->getNotepadName($courseName);
- }
- //更新
- if (!empty($courseId) && $courseId!=$res['course_id']){
- $courseName = $this->getNotepadName($courseName);
- }
- if (empty($courseId)){
- $courseId = M('Course')->add(array('user_id'=>$this->userId,'course_content'=>$courseContent,'course_name'=>$courseName,'course_source'=>2,'course_flag'=>2,'operate_dt'=>time()));
- }else{
- M('Course')->where(array('course_id'=>$courseId))->save(array('course_content'=>$courseContent,'course_name'=>$courseName));
- }
- $noteRes = M('Course')->where(array('course_id'=>$courseId))->field('course_id,course_name,course_content,operate_dt')->find();
- $data = array('code'=>0,'msg'=>'','data'=>$noteRes);
- $this->returnData($data);exit;
- }
-
- //删除自由记
- public function del(){
- $courseId = I('course_id','');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'自由记ID错误');
- $this->returnData($data);exit;
- }
- $courseIds = rtrim($courseIds,',');
- M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId,))->delete();
- M('Course')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId,'course_status'=>array('neq',3),))->delete();
- $data = array('code'=>0,'msg'=>'自由记删除成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //上传到单词广场
- public function upSquare(){
- $courseId = I('course_id','');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'自由记ID错误');
- $this->returnData($data);exit;
- }
- $courseId = rtrim($courseId,',');
- M('Course')->where(array('course_id'=>array('IN',$courseId)))->save(array('course_status'=>2));
- $data = array('code'=>0,'msg'=>'上传成功,请等待管理员审核!','data'=>'');
- $this->returnData($data);exit;
- }
-
- //获取课程名称相同时,新的课程名称
- private function getNotepadName($courseName){
- $course = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
- $res = M('TitleNum')->where(array('title_name'=>$courseName,'title_source'=>2))->field('title_id,title_num')->find();
- if ($res!=NULL){
- $courseName = $courseName.'('.($res['title_num']+1).')';
- M('TitleNum')->where(array('title_id'=>$res['title_id']))->setInc('title_num');
- }else if($course!=NULL){
- $courseName = $courseName.'('.($res['title_num']+1).')';
- M('TitleNum')->add(array('title_name'=>$courseName,'operate_dt'=>time()));
- //$courseName = $courseName;
- }
- return $courseName;
- }
- }
|