123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class CourseController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
-
- //获取课程列表
- public function index(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $user_id = I('user_id',0);
- //$pageSize = I('page_size',1000);
- $pageSize=1000;
- $keyword = I('keyword','');
- $condition = array('course_status'=>3,'course_flag'=>1,'course_source'=>1,'is_delete'=>1);
- if (!empty($keyword)){
- $condition['course_name'] = array('LIKE','%'.$keyword.'%');
- }
- if ($lastId>0){
- $condition['course_id'] = array('LT',$lastId);
- }
- if (!empty($user_id)){
- $condition['user_id'] = $user_id;
- }
- //$count = M('Course')->where($condition)->count();
- $orderby = '';
- if ($sort==1){
- $orderby = 'course_join desc';
- }else if($sort==2){
- $orderby = 'operate_dt desc';
- }
- $res = D('Course')->getCourseList($condition, $pageSize, $orderby, $this->userId);
- if ($res!=NULL){
- $userWordsRes = $this->square();
- foreach ($res as $key=>$row){
- $Count = M('course_reply')->where(array('course_id'=>$row['course_id']))->count();
- $res[$key]['reply'] = $Count==NULL?0:$Count;
- $Count = M('course_praise')->where(array('course_id'=>$row['course_id']))->count();
- $res[$key]['praise'] = $Count==NULL?0:$Count;
- if (in_array($row['course_id'], $userWordsRes) || $row['user_id']==$this->userId){
- $res[$key]['is_add'] = 1;
- }else{
- $res[$key]['is_add'] = 0;
- }
- }
- }
- if ($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,'is_show'=>1);
- 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;
- }
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1,'course_status'=>3))->field('course_num,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,'is_show'=>1))->field('uw_id')->find();
- if ($userInfo!=NULL){
- $data = array('code'=>1,'msg'=>'已经添加过该课程,请勿重复添加');
- $this->returnData($data);exit;
- }
- $partNum = ceil($courseInfo['course_num']/$userInfo['user_part']);
- if (empty($userInfo['user_part'])){
- $userInfo['user_part'] = 15;
- }
- if (empty($userInfo['user_part'])){
- $userInfo['user_part'] = 15;
- }
- M('UserWords')->add(array('course_id'=>$courseId,'user_id'=>$this->userId,'user_part'=>$userInfo['user_part'],'part_num'=>$partNum,'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 studyCourseAdd(){
- $courseId = I('course_id');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'收藏ID错误');
- $this->returnData($data);exit;
- }
- $courseIdArr = explode(',', $courseId);
- if (count($courseIdArr)<=0){
- $data = array('code'=>1,'msg'=>'收藏ID错误');
- $this->returnData($data);exit;
- }
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- foreach ($courseIdArr as $cid){
- $info = M('UserWords')->where(array('user_id'=>$this->userId,'course_id'=>$cid,'uw_type'=>2,'is_show'=>1))->field('uw_id')->find();
- if ($info==NULL){
- $courseInfo = M('Course')->where(array('course_id'=>$cid))->field('course_num')->find();
- $partNum = ceil($courseInfo['course_num']/$userInfo['user_part']);
- if (empty($userInfo['user_part'])){
- $userInfo['user_part'] = 15;
- }
- if (empty($userInfo['user_part'])){
- $userInfo['user_part'] = 15;
- }
- M('UserWords')->add(array('user_id'=>$this->userId,'course_id'=>$cid,'user_part'=>$userInfo['user_part'],'part_num'=>$partNum,'uw_type'=>2,'operate_dt'=>time()));
- M('Course')->where(array('course_id'=>$cid))->setInc('course_join');
- }else{
- M('UserWords')->where(array('uw_id'=>$info['uw_id']))->save(array('uw_type'=>2));
- }
- }
- $data = array('code'=>0,'msg'=>'添加成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //删除我的课程
- public function del(){
- $courseId = I('course_id');
- $courseId = rtrim($courseId,',');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $info = M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->field('user_id,course_id,uw_type')->find();
- if ($info['uw_type']==2){
- M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->save(array('uw_type'=>1));
- }else if($info['uw_type']==1){
- M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->delete();
- }
- $courseInfo = M('Course')->where(array('course_id'=>array('IN',$courseId)))->field('course_id,course_status,user_id')->select();
- foreach ($courseInfo as $row){
- if ($row['user_id'] != $this->userId){
- $data = array('code'=>0,'msg'=>'课程删除成功');
- $this->returnData($data);exit;
- }
- if ($row['course_status']==3){
- $data = array('code'=>1,'msg'=>'课程已审核到单词广场,无法删除');
- $this->returnData($data);exit;
- }
- }
- M('Words')->where(array('course_id'=>array('IN', $courseId)))->delete();
- M('Course')->where(array('course_id'=>array('IN',$courseId)))->delete();
- $data = array('code'=>0,'msg'=>'课程删除成功');
- $this->returnData($data);exit;
- }
-
- //清空收藏课程或者自由记信息表
- public function delCourse(){
- //$courseId = I('course_id');
- $currentCourse = I('current_course','2');
- M('UserWords')->where(array('current_course'=>$currentCourse,'user_id'=>$this->userId))->delete();
- $data = array('code'=>0,'msg'=>'删除成功');
- $this->returnData($data);exit;
- }
-
- //删除最近学习的课程
- public function studyCourseDel(){
- $courseId = I('course_id');
- $type = I('type',1);
- if (empty($courseId) || $courseId<=1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $info = M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->field('user_id,course_id')->find();
- if ($info==NULL || $info['user_id']!=$this->userId){
- $data = array('code'=>1,'msg'=>'删除失败');
- $this->returnData($data);exit;
- }
- if ($type==1){
- M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->save(array('uw_type'=>1));
- }else if($type==2){
- M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->delete();
- /* $couseInfo = M('Course')->where(array('course_id'=>$info['course_id']))->field('user_id,course_status')->find();
- if ($couseInfo!=NULL && $couseInfo['course_status']!=3 && $couseInfo['user_id']==$this->userId){
- M('Course')->where(array('course_id'=>$info['course_id']))->delete();
- M('Words')->where(array('course_id'=>$info['course_id']))->delete();
- } */
- }
- $data = array('code'=>0,'msg'=>'删除成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //修改课程名称
- public function edit(){
- $courseId = I('course_id');
- $courseName = I('course_name');
- $course_intro = I('course_intro');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>12){
- $data = array('code'=>1,'msg'=>'课程名称2到12个汉字');
- $this->returnData($data);exit;
- }
- $info = M('Course')->where(array('course_id'=>$courseId))->field('user_id,course_status')->find();
- if ($info==NULL || $info['user_id']!=$this->userId ){
- $data = array('code'=>1,'msg'=>'课程名称不能修改');
- $this->returnData($data);exit;
- }
- M('Course')->where(array('course_id'=>$courseId))->save(array('course_name'=>$courseName,'course_intro'=>$course_intro));
- $data = array('code'=>0,'msg'=>'课程修改成功','data'=>'');
- $this->returnData($data);exit;
- }
- //新增课程
- public function add(){
- $courseName = I('course_name');
- $course_intro = I('course_intro');
- if ($courseName=='易错单词'){
- $data = array('code'=>1,'msg'=>'该课程名称不能创建');
- $this->returnData($data);exit;
- }
- if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>12){
- $data = array('code'=>1,'msg'=>'课程名称2到12个汉字');
- $this->returnData($data);exit;
- }
- $res = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
- if ($res!=NULL){
- $courseName = $this->getCourseName($courseName);
- }
- $courseId = M('Course')->add(array('course_type'=>0,'course_name'=>$courseName,'course_intro'=>$course_intro,'course_source'=>2,'user_id'=>$this->userId,'operate_dt'=>time()));
- $info = M('Course')->where(array('course_id'=>$courseId))->field('course_id,user_id,course_name,course_intro,course_join,course_content,course_source,operate_dt')->find();
- $data = array('code'=>0,'msg'=>'课程添加成功','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //合并课程
- public function merge(){
- $courseId = rtrim(I('course_id'),',');
- $courseName = I('course_name');
- $courseIdArr = explode(',', $courseId);
- if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>12){
- $data = array('code'=>1,'msg'=>'课程名称2到12个汉字');
- $this->returnData($data);exit;
- }
- $res = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find();
- if ($res!=NULL){
- $courseName = $this->getCourseName($courseName);
- }
- $courseNum = M('Words')->where(array('course_id'=>array('IN',$courseId)))->count();
- $courseNewId = M('Course')->add(array('course_type'=>0,'user_id'=>$this->userId,'course_source'=>2,'course_num'=>$courseNum,'course_name'=>$courseName,'operate_dt'=>time()));
- foreach ($courseIdArr as $cid){
- $info = M('Course')->where(array('course_id'=>$cid,'is_delete'=>1))->field('course_id,user_id,course_status')->find();
- if ($info['user_id']!=$this->userId || $info['course_status']==3){
- //复制一份课程下面的单词
- $this->copyWords($cid,$courseNewId);
- }
- if ($info['user_id']==$this->userId && $info['course_status']==3){
- //同样复制一份课程下面的单词
- $this->copyWords($cid,$courseNewId);
- }
- if ($info['user_id']==$this->userId && $info['course_status']!=3){
- //自己未上到单词广场的课程,直接删除。同时把删除的课程单词,同步到新的课程
- M('Course')->where(array('course_id'=>$cid))->delete();
- M('UserWords')->where(array('course_id'=>$cid,'user_id'=>$this->userId))->delete();
- M('Words')->where(array('course_id'=>$cid))->save(array('course_id'=>$courseNewId));
- }
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseNewId))
- ->field('course_id,user_id,course_name,course_join,course_content,course_source,operate_dt')->find();
- $data = array('code'=>0,'msg'=>'课程合并成功','data'=>$courseInfo);
- $this->returnData($data);exit;
- }
-
- //设置单章节的单词数量
- public function part(){
- $uwId = I('uw_id');
- //1:乱序,0:取消乱序
- $type = I('type',0);
- $userPart = I('user_part',15);
- $courseId = I('course_id');
- $partNum = I('part_num');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- if ($userPart<=0 || $partNum<=0){
- $data = array('code'=>1,'msg'=>'章节数错误');
- $this->returnData($data);exit;
- }
- if (!in_array($type, array(0,1))){
- $data = array('code'=>0,'msg'=>'类型错误');
- $this->returnData($data);exit;
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId))->field('course_num')->find();
- $partNum1 = ceil($courseInfo['course_num']/$userPart);
- if ($partNum1!=$partNum){
- $data = array('code'=>1,'msg'=>'章节数错误');
- $this->returnData($data);exit;
- }
- if (empty($userPart)){
- $userPart = 15;
- }
- M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->save(array('user_part'=>$userPart,'part_num'=>$partNum1));
- M('User')->where(array('user_id'=>$this->userId))->save(array('user_part'=>$userPart));
-
- //设置乱序
- $info = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->find();
- if ($type==1){
- if ($info['sort_status']==2){
- M('WordsSort')->where(array('sort_id'=>$info['sort_id']))->save(array('sort_status'=>1));
- }
- if ($info==NULL){
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId))->order('RAND()')->field('words_id')->select();
- if (function_exists('array_column')){
- $wordsIdArr = array_column($wordsInfo, 'words_id');
- }else{
- foreach ($wordsInfo as $row){
- $wordsIdArr[] = $row['words_id'];
- }
- }
- $saveData = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'word_ids'=>implode(',', $wordsIdArr),
- 'operate_dt'=>time(),
- );
- M('WordsSort')->add($saveData);
- }
- }else if($type==0){
- if ($info!=NULL){
- M('WordsSort')->where(array('sort_id'=>$info['sort_id']))->save(array('sort_status'=>2));
- }
- }
-
-
-
- $data = array('code'=>0,'msg'=>'章节设置成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //获取课程的章节数
- public function getPart(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $partInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('user_part,part_num')->find();
- if ($partInfo==NULL){
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_num')->find();
- $partInfo['user_part'] = 15;
- $partInfo['part_num'] = ceil($courseInfo['course_num']/$partInfo['user_part']);
- }
- $res = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_join,course_num,operate_dt')->find();
- $res['part_num'] = $partInfo['part_num'];
- $res['user_part'] = empty($partInfo['user_part'])?'0':$partInfo['user_part'];
- $info = M('WordsSort')->where(array('course_id'=>$res['course_id'],'user_id'=>$this->userId,'sort_status'=>1))->field('sort_id')->find();
- if ($info!=NULL){
- $res['set_sort'] = 1;
- }else{
- $res['set_sort'] = 0;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
-
- //获取特殊课程的章节
- public function getSpecialPart(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $res = M('Words')->where(array('course_id'=>$courseId))->group('operate_dt')->field('operate_dt')->order('operate_dt asc')->select();
- if ($res==NULL){
- $part = array();
- }else{
- foreach ($res as $r){
- $year = date('Y',$r['operate_dt']);
- $part[$year]['year'] = $year;
- $part[$year]['dates'][] = $r['operate_dt'];
- }
- }
- $data = array('code'=>0,'msg'=>'','data'=>array_values($part));
- $this->returnData($data);exit;
- }
-
- //删除章节
- public function delPart(){
- $courseId = I('course_id');
- M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->save(array('user_part'=>15,'part_num'=>0,'current_part'=>1));
- $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),'user_id'=>$this->userId))->save(array('course_status'=>2));
- $data = array('code'=>0,'msg'=>'上传成功,请等待管理员审核!','data'=>'');
- $this->returnData($data);exit;
- }
-
- //获取课程信息
- public function info(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $info = M('Course')->where(array('course_id'=>$courseId))->field('course_id,user_id,course_name,course_intro,course_join,course_content,course_flag,course_source,operate_dt')->find();
- $res = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($res==NULL && $info['user_id']!=$this->userId){
- $info['is_add'] = 0;
- $info['is_course'] = 0;
- }else{
- $info['is_add'] = 1;
- $info['is_course'] = 1;
- }
- if ($info['user_id']!=$this->userId){
- $fansInfo = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$info['user_id']))->field('fans_id')->find();
- $info['is_fans'] = $fansInfo==NULL?0:1;
- }else{
- $info['is_fans'] = 2;
- }
-
-
- $userInfo = M('User')->where(array('user_id'=>$info['user_id']))->field('user_id,user_name,user_icon')->find();
- $info['user_icon'] = $userInfo['user_icon'];
- $info['user_name'] = $userInfo['user_name'];
- $replyCount = M('course_reply')->where(array('course_id'=>$courseId))->count();
- $info['reply'] = $replyCount==NULL?0:$replyCount;
- $Count = M('course_praise')->where(array('course_id'=>$courseId))->count();
- $info['praise'] = $Count==NULL?0:$Count;
- $Count = M('course_praise')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->count();
- $info['is_praise'] = $Count?1:0;
- $data = array('code'=>0,'msg'=>'','data'=>$info);
- $this->returnData($data);exit;
- }
-
- //记录学习模式,学习到的最后一个单词
- public function studyWords(){
- //$partId = I('part_id');
- $wordsId = I('words_id');
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- if (empty($wordsId)){
- $data = array('code'=>1,'msg'=>'单词ID错误');
- $this->returnData($data);exit;
- }
- /* if (empty($partId)){
- $data = array('code'=>1,'msg'=>'章节ID错误');
- $this->returnData($data);exit;
- } */
- $info = M('StudyWords')->where(array('user_id'=>$this->userId))->field('study_id')->find();
- if ($info == NULL){
- M('StudyWords')->add(array('words_id'=>$wordsId,'course_id'=>$courseId,'part_id'=>0,'user_id'=>$this->userId,'operate_dt'=>time(),));
- }else{
- M('StudyWords')->where(array('study_id'=>$info['study_id']))->save(array('words_id'=>$wordsId,'course_id'=>$courseId,'part_id'=>0,));
- }
- $data = array('code'=>0,'msg'=>'','data'=>'记录成功');
- $this->returnData($data);exit;
- }
- //评论列表
- public function reply_list(){
- $courseId = I('course_id');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $lastId = I('last_id','');
- if(!$lastId){
- $lastId=10000000;
- }
- $pageSize = I('page_size',20);
-
- $res = M('course_reply')->join('left join t_user as a on a.user_id = t_course_reply.user_id')->join('left join t_user as b on b.user_id = t_course_reply.reply_user_id')->join('left join t_course_reply_praise on t_course_reply_praise.cr_id = t_course_reply.cr_id')->where(array('t_course_reply.is_delete'=>1,'t_course_reply.reply_cr_id'=>0,'t_course_reply.course_id'=>$courseId,'t_course_reply.cr_id'=>array('LT',$lastId)))->group('t_course_reply.cr_id')->field('t_course_reply.*,a.user_name,a.user_icon,a.forbidden,b.forbidden as reply_forbidden,b.user_name as reply_user_name,count(t_course_reply_praise.cr_id) as praise')->order('t_course_reply.operate_dt desc')->limit('0,'.$pageSize)->select();
- $arr=array();
- foreach($res as $k=>$v){
- if(!$v['cr_id']){
- unset($res[$k]);
- }else{
- $arr[]=$v['cr_id'];
- $res[$k]['reply_list']=array();
- }
- if($v['forbidden']>time()){
- $res[$k]['is_forbidden']=1;
- }else{
- $res[$k]['is_forbidden']=0;
- }
-
-
- }
- if($arr){
- $res2 = M('course_reply')->join('left join t_user as a on a.user_id = t_course_reply.user_id')->join('left join t_user as b on b.user_id = t_course_reply.reply_user_id')->join('left join t_course_reply_praise on t_course_reply_praise.cr_id = t_course_reply.cr_id')->where("t_course_reply.course_id='$courseId' and t_course_reply.is_delete=1 and t_course_reply.reply_cr_id in ( ".implode(',',$arr).")" )->group('t_course_reply.cr_id')->field('t_course_reply.*,a.user_name,a.user_icon,b.user_name as reply_user_name,count(t_course_reply_praise.cr_id) as praise')->order('t_course_reply.operate_dt desc')->select();;
- }else{
- $res2=array();
- }
- $praiseInfo = M('course_reply_praise')->where(array('is_delete'=>1,'user_id'=>$this->userId))->field('cr_id')->select();
-
- $praise_arr=array();
-
- foreach($praiseInfo as $k=>$v){
- $praise_arr[]=$v['cr_id'];
- }
-
- foreach($res as $k=>$v){
- foreach($res2 as $m=>$n){
- if($n['forbidden']>time()){
- $res2[$m]['is_forbidden']=1;
- }else{
- $res2[$m]['is_forbidden']=0;
- }
- if(in_array($n['cr_id'],$praise_arr)){
- $res2[$m]['is_praise']=1;
- }else{
- $res2[$m]['is_praise']=0;
- }
- if($n['reply_cr_id']==$v['cr_id']){
- array_unshift($res[$k]['reply_list'],$res2[$m]);
- }
- }
- if(in_array($v['cr_id'],$praise_arr)){
- $res[$k]['is_praise']=1;
- }else{
- $res[$k]['is_praise']=0;
- }
- }
- $data = array('code'=>0,'msg'=>'','data'=>$res);
- $this->returnData($data);exit;
- }
- //评论点赞
- public function reply_praise(){
- $cr_id = I('cr_id');
- if (empty($cr_id)){
- $data = array('code'=>1,'msg'=>'评论ID错误');
- $this->returnData($data);exit;
- }
- $replyInfo = M('course_reply')->where(array('cr_id'=>$cr_id,'is_delete'=>1))->field('cr_id,course_id')->find();
- if (!$replyInfo){
- $data = array('code'=>1,'msg'=>'该评论不存在');
- $this->returnData($data);exit;
- }
- $course_reply_praise = M('course_reply_praise')->where(array('cr_id'=>$cr_id,'is_delete'=>1,'user_id'=>$this->userId))->field('cr_id')->find();
- if ($course_reply_praise!=NULL){
- $data = array('code'=>1,'msg'=>'已经点赞过该评论');
- $this->returnData($data);exit;
- }
- $courseId=$replyInfo['course_id'];
- $userInfo = M('user')->where(array('user_id'=>$this->userId))->field('*')->find();
- $noticeContent = $userInfo['user_name'].'点赞了您的评论!';
- $res = M('course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('user_id,course_type')->find();
- $uid=$res['user_id'];
- if($uid){
- $reply_content=$replyInfo['reply_content'];
- $temp=array('course_id'=>$courseId,'reply_content'=>$reply_content,'course_type'=>$res['course_type']);
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>0,'notice_status'=>1,'notice_type'=>4,'notice_title'=>'点赞消息','notice_content'=>$noticeContent,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$uid))->setInc('praise_notice');
- $data = json_encode(array('type'=>4,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'course_id'=>$courseId,'course_content'=>$reply_content)));
- $this->umengPush($uid, $data);
- }
- M('course_reply_praise')->add(array('cr_id'=>$cr_id,'user_id'=>$this->userId,'operate_dt'=>time()));
- $data = array('code'=>0,'msg'=>'评论点赞成功');
- $this->returnData($data);exit;
- }
- //取消评论点赞
- public function reply_praise_cancel(){
- $cr_id = I('cr_id');
- $cr_id = rtrim($cr_id,',');
- if (empty($cr_id)){
- $data = array('code'=>1,'msg'=>'ID错误');
- $this->returnData($data);exit;
- }
- M('course_reply_praise')->where(array('cr_id'=>array('IN',$cr_id),'user_id'=>$this->userId))->delete();
- $data = array('code'=>0,'msg'=>'取消点赞成功');
- $this->returnData($data);exit;
- }
- //编辑社区评论
- public function reply_edit(){
- $courseId = I('course_id','');
- $reply_user_id = I('reply_user_id','0');
- $reply_cr_id = I('reply_cr_id','0');
- $reply_content = I('reply_content','');
-
- $userInfo = M('user')->where(array('user_id'=>$this->userId))->field('*')->find();
- if($userInfo['forbidden']>time()){
- $data = array('code'=>1,'msg'=>'用户被禁言','data'=>array());
- $this->returnData($data);exit;
- }
- if(!$reply_content){
- $data = array('code'=>1,'msg'=>'评论内容必须','data'=>array());
- $this->returnData($data);exit;
- }
- if ( mb_strlen($reply_content,'UTF8')>140){
- $data = array('code'=>1,'msg'=>'评论内容限制140个汉字','data'=>array());
- $this->returnData($data);exit;
- }
- M('course_reply')->add(array('course_id'=>$courseId,'user_id'=>$this->userId,'reply_user_id'=>$reply_user_id,'reply_cr_id'=>$reply_cr_id,'reply_content'=>$reply_content,'operate_dt'=>time()));
- $noticeContent = $userInfo['user_name'].'评论了您的课程!';
- $res = M('course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('user_id,course_type')->find();
- $uid=$res['user_id'];
- if($uid){
- $temp=array('course_id'=>$courseId,'reply_content'=>$reply_content,'course_type'=>$res['course_type']);
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>0,'notice_status'=>1,'notice_type'=>3,'notice_title'=>'评论消息','notice_content'=>$noticeContent,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$uid))->setInc('reply_notice');
- $data = json_encode(array('type'=>3,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'course_id'=>$courseId,'course_content'=>$reply_content)));
- $this->umengPush($uid, $data);
- }
-
- $data = array('code'=>0,'msg'=>'评论发布成功');
- $this->returnData($data);exit;
- }
- //点赞
- public function praise(){
- $courseId = I('course_id');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'ID错误');
- $this->returnData($data);exit;
- }
- $praiseInfo = M('course_praise')->where(array('course_id'=>$courseId,'is_delete'=>1,'user_id'=>$this->userId))->field('cp_id')->find();
- if ($praiseInfo!=NULL){
- $data = array('code'=>1,'msg'=>'已经点赞过该课程');
- $this->returnData($data);exit;
- }
- $userInfo = M('user')->where(array('user_id'=>$this->userId))->field('*')->find();
- $noticeContent = $userInfo['user_name'].'点赞了您的课程!';
- $res = M('course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('user_id,course_type')->find();
- $uid=$res['user_id'];
- if($uid){
- $reply_content='';
- $temp=array('course_id'=>$courseId,'reply_content'=>$reply_content,'course_type'=>$res['course_type']);
- M('Notice')->add(array('ref_user_id'=>$uid,'user_id'=>$this->userId,'notice_flag'=>0,'notice_status'=>1,'notice_type'=>4,'notice_title'=>'点赞消息','notice_content'=>$noticeContent,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$uid))->setInc('praise_notice');
- $data = json_encode(array('type'=>4,'msg'=>$noticeContent,'data'=>array('title'=>$noticeContent,'course_id'=>$courseId,'course_content'=>$reply_content)));
- $this->umengPush($uid, $data);
- }
- M('course_praise')->add(array('course_id'=>$courseId,'user_id'=>$this->userId,'operate_dt'=>time()));
- $data = array('code'=>0,'msg'=>'课程点赞成功');
- $this->returnData($data);exit;
- }
- //取消点赞
- public function praise_cancel(){
- $courseId = I('course_id');
- $courseId = rtrim($courseId,',');
- if (empty($courseId)){
- $data = array('code'=>1,'msg'=>'ID错误');
- $this->returnData($data);exit;
- }
- M('course_praise')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId))->delete();
- $data = array('code'=>0,'msg'=>'取消点赞成功');
- $this->returnData($data);exit;
- }
- //删除我的评论
- public function reply_del(){
- $cr_id = I('cr_id');
- $cr_id = rtrim($cr_id,',');
- if (empty($cr_id)){
- $data = array('code'=>1,'msg'=>'ID错误');
- $this->returnData($data);exit;
- }
- M('course_reply')->where(array('cr_id'=>array('IN',$cr_id),'user_id'=>$this->userId))->delete();
- $data = array('code'=>0,'msg'=>'评论删除成功');
- $this->returnData($data);exit;
- }
- }
|