WebController.class.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. namespace Api\Controller;
  3. use Common\Controller\ApiController;
  4. class WebController extends ApiController {
  5. public function __construct(){
  6. parent::__construct();
  7. }
  8. /**
  9. * 我添加的课程
  10. */
  11. public function myAddCourse(){
  12. $sort = I('sort',1);
  13. $page = I('page');
  14. $keyword = I('keyword','','trim');
  15. $pageSize = I('page_size',10);
  16. $condition = array(
  17. 'uw.user_id'=>$this->userId,
  18. 'uw.is_delete'=>1,
  19. 'uw.is_show'=>1,
  20. //'c.course_status'=>3,
  21. 'c.course_flag'=>1,
  22. 'c.is_delete'=>1,
  23. );
  24. if (!empty($keyword)){
  25. $condition['course_name'] = array('LIKE','%'.$keyword.'%');
  26. }
  27. $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
  28. $field = 'c.course_id,c.user_id,c.course_name,c.course_num,c.course_join,c.course_flag,c.course_status,uw.operate_dt,uw.uw_id,uw.uw_type';
  29. $count = M('UserWords')->join($join)->where($condition)->count();
  30. $res1 = M('UserWords')->join($join)->where($condition)->field($field)->order('uw_id desc')->page($page,$pageSize)->select();
  31. $res = array();
  32. foreach ($res1 as $r){
  33. if ($r['course_name']=='易错单词' || $r['course_name']=='重点单词'){
  34. $r['is_special'] = 1;
  35. }else{
  36. $r['is_special'] = 0;
  37. }
  38. $r['is_add'] = 1;
  39. $res[] = $r;
  40. }
  41. $data = array('code'=>0,'msg'=>'','data'=>['total'=>$count,'list'=>$res]);
  42. $this->returnData($data);exit;
  43. }
  44. /**
  45. * 我上传的课程
  46. */
  47. public function myUpCourse(){
  48. $sort = I('sort',1);
  49. $page = I('page');
  50. $keyword = I('keyword','','trim');
  51. $pageSize = I('page_size',10);
  52. $courseStatus = I('course_status');
  53. $condition = array('is_delete'=>1,'user_id'=>$this->userId,'is_show'=>1);
  54. if (!empty($keyword)){
  55. $condition['course_name'] = array('LIKE','%'.$keyword.'%');
  56. }
  57. if (!empty($courseStatus) && $courseStatus==1){
  58. $condition['course_status'] = array('IN','2,3');
  59. }
  60. //$count = M('Course')->where($condition)->count();
  61. $orderby = '';
  62. if ($sort==1){
  63. $orderby = 'course_join desc';
  64. }else if($sort==2){
  65. $orderby = 'course_id desc';
  66. }
  67. $count = M('Course')->where($condition)->count();
  68. $field = 'course_id,user_id,course_flag,course_name,course_join,course_num,course_source,operate_dt';
  69. $res = M('Course')->where($condition)->field($field)->order($orderby)->page($page,$pageSize)->select();
  70. foreach ($res as $key=>$row){
  71. $res[$key]['is_add'] = 1;
  72. }
  73. $data = array('code'=>0,'msg'=>'','data'=>['total'=>$count,'list'=>$res]);
  74. $this->returnData($data);exit;
  75. }
  76. //获取已经添加的课程或者自由记
  77. private function square($uwType=0){
  78. $condition = array('user_id'=>$this->userId,'is_show'=>1);
  79. if (!empty($uwType)){
  80. $condition['uw_type'] = $uwType;
  81. }
  82. $res = M('UserWords')->where($condition)->field('course_id')->select();
  83. if ($res==NULL){
  84. return array();
  85. }
  86. $arr = array();
  87. foreach ($res as $r){
  88. $arr[] = $r['course_id'];
  89. }
  90. return $arr;
  91. }
  92. //官网课程
  93. public function course(){
  94. $sort = I('sort',1);
  95. $page = I('page');
  96. $keyword = I('keyword','','trim');
  97. $pageSize = I('page_size',10);
  98. $condition = array('course_status'=>3,'course_flag'=>1,'is_show'=>1,'a.is_delete'=>1);
  99. if (!empty($keyword)){
  100. $condition['course_name|user_name'] = array('LIKE','%'.$keyword.'%');
  101. }
  102. $orderby = '';
  103. if ($sort==1){
  104. $orderby = 'course_join desc';
  105. }else if($sort==2){
  106. $orderby = 'course_id desc';
  107. }
  108. $join = 'a LEFT JOIN __USER__ b ON a.user_id=b.user_id';
  109. $count = M('Course')->join($join)->where($condition)->count();
  110. $field = 'user_name,user_phone,user_icon,course_id,a.user_id,course_flag,course_name,course_join,course_num,course_source,a.operate_dt';
  111. $res = M('Course')->join($join)->where($condition)->field($field)->order($orderby)->page($page,$pageSize)->select();
  112. $userWordsRes = $this->square();
  113. foreach ($res as $key=>$row){
  114. if (in_array($row['course_id'], $userWordsRes) || $row['user_id']==$this->userId){
  115. $res[$key]['is_add'] = 1;
  116. }else{
  117. $res[$key]['is_add'] = 0;
  118. }
  119. }
  120. $data = array('code'=>0,'msg'=>'','data'=>['total'=>$count,'list'=>$res]);
  121. $this->returnData($data);exit;
  122. }
  123. //官网自由记
  124. public function notepad(){
  125. $sort = I('sort',1);
  126. $page = I('page');
  127. $keyword = I('keyword','','trim');
  128. $pageSize = I('page_size',10);
  129. $condition = array('course_status'=>3,'course_flag'=>2,'a.is_delete'=>1);
  130. if (!empty($keyword)){
  131. $condition['course_name|user_name'] = array('LIKE','%'.$keyword.'%');
  132. }
  133. $orderby = '';
  134. if ($sort==1){
  135. $orderby = 'course_join desc';
  136. }else if($sort==2){
  137. $orderby = 'course_id desc';
  138. }
  139. $join = 'a LEFT JOIN __USER__ b ON a.user_id=b.user_id';
  140. $count = M('Course')->join($join)->where($condition)->count();
  141. $field = 'user_name,user_phone,user_icon,course_id,a.user_id,course_flag,course_name,course_content,course_join,course_num,course_source,a.operate_dt';
  142. $res = M('Course')->join($join)->where($condition)->field($field)->order($orderby)->page($page,$pageSize)->select();
  143. $userWordsRes = $this->square();
  144. foreach ($res as $key=>$row){
  145. if (in_array($row['course_id'], $userWordsRes) || $row['user_id']==$this->userId){
  146. $res[$key]['is_add'] = 1;
  147. }else{
  148. $res[$key]['is_add'] = 0;
  149. }
  150. }
  151. $data = array('code'=>0,'msg'=>'','data'=>['total'=>$count,'list'=>$res]);
  152. $this->returnData($data);exit;
  153. }
  154. }