CourseController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?php
  2. namespace app\system\controller;
  3. use app\model\api\CourseModel;
  4. use think\facade\Request;
  5. class CourseController
  6. {
  7. // /**
  8. // * 获取所有课程列表
  9. // */
  10. // public function getCourseList()
  11. // {
  12. // $educationModel = new CourseModel();
  13. // $keyword = input('get.course_topic', ''); // 获取模糊查询关键字
  14. // $courseList = $educationModel->getCourse($keyword);
  15. //
  16. // $data = [
  17. // 'data' => $courseList
  18. // ];
  19. // return app('json')->success($data);
  20. // }
  21. // /**
  22. // * 获取所有课程列表
  23. // */
  24. // public function getCourseList()
  25. // {
  26. // $educationModel = new CourseModel();
  27. // $keyword = input('get.course_topic', ''); // 获取模糊查询关键字
  28. // $page = input('get.page', 1); // 获取页码,默认为1
  29. // $pageSize = input('get.pageSize', 10); // 获取每页数据量,默认为10
  30. //
  31. // // 获取课程列表数据和总数
  32. // $courseList = $educationModel->getCourse($keyword, $page, $pageSize);
  33. // $total = $educationModel->getCourse($keyword);
  34. //
  35. // // 封装响应数据
  36. // $data = [
  37. // 'data' => $courseList,
  38. // 'page' => $page,
  39. // 'pageSize' => $pageSize,
  40. // 'total' => $total,
  41. // ];
  42. //
  43. // // 返回分页数据
  44. // return app('json')->success($data);
  45. // }
  46. /**
  47. * 获取课程列表
  48. *
  49. * @return mixed
  50. */
  51. public function getCourseList()
  52. {
  53. $course_topic = Request::param('course_topic');
  54. $page = Request::param('page', 1, 'intval');
  55. $pageSize = Request::param('pageSize', 10, 'intval');
  56. $courseModel = new CourseModel();
  57. $query = $courseModel->order('course_id desc');
  58. if (!empty($course_topic)) {
  59. $query->whereLike('course_topic', '%' . $course_topic . '%');
  60. }
  61. $list = $query->paginate([
  62. 'page' => $page,
  63. 'list_rows' => $pageSize,
  64. ]);
  65. $data = [
  66. 'list' => $list->items(),
  67. 'total' => $list->total(),
  68. 'page' => $list->currentPage(),
  69. 'pagesize' => $list->listRows(),
  70. ];
  71. return app('json')->success($data);
  72. }
  73. /**
  74. * 添加课程
  75. */
  76. public function addCourse()
  77. {
  78. $data = Request::param();
  79. $courseModel = new CourseModel();
  80. $result = $courseModel->addCourse($data);
  81. if ($result) {
  82. return json(['code' => 200, 'msg' => '添加成功', 'data' => $result]);
  83. } else {
  84. return json(['code' => 500, 'msg' => '添加失败', 'data' => '']);
  85. }
  86. }
  87. /**
  88. * 删除课程
  89. */
  90. public function deleteCourse()
  91. {
  92. $course_id = Request::param('course_id');
  93. $courseModel = new CourseModel();
  94. $result = $courseModel->deleteCourse($course_id);
  95. if ($result) {
  96. return json(['code' => 200, 'msg' => '删除成功', 'data' => $result]);
  97. } else {
  98. return json(['code' => 500, 'msg' => '删除失败', 'data' => '']);
  99. }
  100. }
  101. /**
  102. * 获取课程详细信息
  103. */
  104. public function searchCourse()
  105. {
  106. $courseId = input('course_id');
  107. $courseModel = new CourseModel();
  108. $courseDetail = $courseModel->getCourseDetail($courseId);
  109. if ($courseDetail) {
  110. return json(['code' => 200, 'msg' => '查找成功', 'data' => $courseDetail]);
  111. } else {
  112. return json(['code' => 500, 'msg' => '查找失败', 'data' => '']);
  113. }
  114. }
  115. /**
  116. * 编辑课程信息
  117. */
  118. public function editCourse()
  119. {
  120. $courseId = input('course_id');
  121. $courseModel = new CourseModel();
  122. $courseDetail = $courseModel->getCourseDetail($courseId);
  123. if (!$courseDetail) {
  124. return json(['code' => 500, 'msg' => '查找失败', 'data' => '']);
  125. }
  126. $data = input('course');
  127. $result = $courseModel->updateCourse($courseId, $data);
  128. if ($result) {
  129. return json(['code' => 200, 'msg' => '编辑成功', 'data' => '']);
  130. } else {
  131. return json(['code' => 500, 'msg' => '编辑失败', 'data' => '']);
  132. }
  133. }
  134. /**
  135. * 修改课程状态
  136. */
  137. public function updateCourseStatus()
  138. {
  139. $course_id = Request::param('course_id');
  140. $course_status = Request::param('course_status');
  141. $courseModel = new CourseModel();
  142. $result = $courseModel->updateCourseStatus($course_id, $course_status);
  143. if ($result) {
  144. return json(['code' => 200, 'msg' => '修改成功', 'data' => $result]);
  145. } else {
  146. return json(['code' => 500, 'msg' => '修改失败', 'data' => '']);
  147. }
  148. }
  149. /**
  150. * 修改审核状态
  151. * @return mixed
  152. */
  153. public function updateCourseAudit()
  154. {
  155. $course_id = Request::param('course_id');
  156. $course = CourseModel::where('course_id', $course_id)->find();
  157. if (!$course) {
  158. return app('json')->fail('课程不存在');
  159. }
  160. $course->course_audit = !$course->course_audit;
  161. if ($course->save()) {
  162. return app('json')->success();
  163. } else {
  164. return app('json')->fail();
  165. }
  166. }
  167. /**
  168. * 课程是否轮播
  169. *
  170. */
  171. public function Carousel()
  172. {
  173. }
  174. /**
  175. * 修改课程信息
  176. */
  177. public function updateCourseInfo()
  178. {
  179. $course_id = Request::param('course_id');
  180. $data = Request::param();
  181. $courseModel = new CourseModel();
  182. $result = $courseModel->updateCourseInfo($course_id, $data);
  183. if ($result) {
  184. return json(['code' => 200, 'msg' => '修改成功', 'data' => $result]);
  185. } else {
  186. return json(['code' => 500, 'msg' => '修改失败', 'data' => '']);
  187. }
  188. }
  189. }