LessonCoursewareController.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.ym.mec.student.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.dayaedu.cbs.openfeign.client.CoursewareFeignService;
  5. import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareDetailWrapper;
  6. import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareWrapper;
  7. import com.microsvc.toolkit.common.response.paging.QueryInfo;
  8. import com.ym.mec.biz.dal.entity.Subject;
  9. import com.ym.mec.biz.dal.wrapper.LessonCoursewareWrapper;
  10. import com.ym.mec.biz.service.LessonCoursewareService;
  11. import com.ym.mec.common.controller.BaseController;
  12. import com.ym.mec.common.entity.HttpResponseResult;
  13. import com.ym.mec.common.page.PageInfo;
  14. import com.ym.mec.common.page.PageUtil;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import org.apache.commons.collections.CollectionUtils;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.GetMapping;
  20. import org.springframework.web.bind.annotation.PathVariable;
  21. import org.springframework.web.bind.annotation.PostMapping;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import javax.annotation.Resource;
  26. import java.util.ArrayList;
  27. import java.util.List;
  28. @RequestMapping("${app-config.url.student:}/lessonCourseware")
  29. @Api(tags = "课件教材")
  30. @RestController
  31. public class LessonCoursewareController extends BaseController {
  32. @Autowired
  33. private CoursewareFeignService coursewareFeignService;
  34. @Resource
  35. private LessonCoursewareService lessonCoursewareService;
  36. @ApiOperation(value = "分页查询已添加的课件")
  37. @PostMapping("/queryLessonCourseware")
  38. public HttpResponseResult<PageInfo<LessonCoursewareWrapper.LessonCoursewareDto>> queryLessonCourseware(@RequestBody LessonCoursewareWrapper.LessonCoursewareQuery query){
  39. query.setEnable(true);
  40. IPage<LessonCoursewareWrapper.LessonCoursewareDto> pages = lessonCoursewareService.selectPage(QueryInfo.getPage(query), query);
  41. return succeed(PageUtil.pageInfo(pages));
  42. }
  43. @ApiOperation(value = "获取课件详情")
  44. @GetMapping("/getLessonCoursewareDetail/{id}")
  45. public HttpResponseResult<CbsLessonCoursewareWrapper.LessonCourseware> getLessonCoursewareDetail(@PathVariable("id") Long id){
  46. return succeed(coursewareFeignService.lessonCoursewareDetail(id).feignData());
  47. }
  48. @ApiOperation(value = "获取课件关联的课程列表")
  49. @GetMapping("/getLessonCoursewareCourseList/{id}")
  50. public HttpResponseResult<List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail>> getLessonCoursewareCourseList(@PathVariable("id") Long id){
  51. List<CbsLessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetails = coursewareFeignService.coursewareDetail(id).feignData();
  52. if (CollectionUtils.isNotEmpty(courseScheduleCoursewareDetails)) {
  53. String jsonString = JSONObject.toJSONString(courseScheduleCoursewareDetails);
  54. List<LessonCoursewareWrapper.CourseScheduleCoursewareDetail> courseScheduleCoursewareDetailList = JSONObject.parseArray(jsonString, LessonCoursewareWrapper.CourseScheduleCoursewareDetail.class);
  55. return succeed(courseScheduleCoursewareDetailList);
  56. }
  57. return succeed(new ArrayList<>());
  58. }
  59. @ApiOperation(value = "获取课程详情")
  60. @GetMapping("/getLessonCourseDetail/{id}")
  61. public HttpResponseResult<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> getLessonCourseDetail(@PathVariable("id") String id){
  62. return succeed(coursewareFeignService.lessonCoursewareDetailDetail(Long.parseLong(id)).feignData());
  63. }
  64. @ApiOperation(value = "获取课件关联的声部列表")
  65. @GetMapping("/getLessonCoursewareSubjectList")
  66. public HttpResponseResult<List<Subject>> getLessonCoursewareSubjectList(){
  67. return succeed(lessonCoursewareService.getDao().getLessonCoursewareSubjectList());
  68. }
  69. }