CourseController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package com.zhongzheng.controller.course;
  2. import java.util.List;
  3. import java.util.Arrays;
  4. import com.zhongzheng.modules.course.bo.*;
  5. import com.zhongzheng.modules.course.service.ICourseService;
  6. import com.zhongzheng.modules.course.vo.CourseVo;
  7. import com.zhongzheng.modules.user.service.IUserStudyRecordService;
  8. import lombok.RequiredArgsConstructor;
  9. import org.springframework.security.access.prepost.PreAuthorize;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.GetMapping;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.PutMapping;
  14. import org.springframework.web.bind.annotation.DeleteMapping;
  15. import org.springframework.web.bind.annotation.PathVariable;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RequestMapping;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import com.zhongzheng.common.annotation.Log;
  20. import com.zhongzheng.common.core.controller.BaseController;
  21. import com.zhongzheng.common.core.domain.AjaxResult;
  22. import com.zhongzheng.common.enums.BusinessType;
  23. import com.zhongzheng.common.utils.poi.ExcelUtil;
  24. import com.zhongzheng.common.core.page.TableDataInfo;
  25. import io.swagger.annotations.Api;
  26. import io.swagger.annotations.ApiOperation;
  27. /**
  28. * 课程Controller
  29. *
  30. * @author hjl
  31. * @date 2021-10-09
  32. */
  33. @Api(value = "课程控制器", tags = {"课程管理"})
  34. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  35. @RestController
  36. @RequestMapping("/course")
  37. public class CourseController extends BaseController {
  38. private final ICourseService iCourseService;
  39. private final IUserStudyRecordService iUserStudyRecordService;
  40. /**
  41. * 查询课程列表
  42. */
  43. @ApiOperation("查询课程列表")
  44. @PreAuthorize("@ss.hasPermi('system:course:list')")
  45. @GetMapping("/list")
  46. public TableDataInfo<CourseVo> list(CourseQueryBo bo) {
  47. startPage();
  48. List<CourseVo> list = iCourseService.selectList(bo);
  49. return getDataTable(list);
  50. }
  51. /**
  52. * 导出课程列表
  53. */
  54. /* @ApiOperation("导出课程列表")
  55. @PreAuthorize("@ss.hasPermi('system:course:export')")
  56. @Log(title = "课程", businessType = BusinessType.EXPORT)
  57. @GetMapping("/export")
  58. public AjaxResult<CourseVo> export(CourseQueryBo bo) {
  59. List<CourseVo> list = iCourseService.queryList(bo);
  60. ExcelUtil<CourseVo> util = new ExcelUtil<CourseVo>(CourseVo.class);
  61. return util.exportExcel(list, "课程");
  62. }*/
  63. /**
  64. * 获取课程详细信息
  65. */
  66. @ApiOperation("获取课程详细信息")
  67. @PreAuthorize("@ss.hasPermi('system:course:query')")
  68. @GetMapping("/{courseId}")
  69. public AjaxResult<CourseVo> getInfo(@PathVariable("courseId" ) Long courseId) {
  70. return AjaxResult.success(iCourseService.selectById(courseId));
  71. }
  72. /**
  73. * 新增课程
  74. */
  75. @ApiOperation("新增课程")
  76. @PreAuthorize("@ss.hasPermi('system:course:add')")
  77. @Log(title = "课程", businessType = BusinessType.INSERT)
  78. @PostMapping()
  79. public AjaxResult<Long> add(@RequestBody CourseAddBo bo) {
  80. return AjaxResult.success(iCourseService.insertByAddBo(bo));
  81. }
  82. /**
  83. * 修改课程
  84. */
  85. @ApiOperation("修改课程")
  86. @PreAuthorize("@ss.hasPermi('system:course:edit')")
  87. @Log(title = "课程", businessType = BusinessType.UPDATE)
  88. @PostMapping("/edit")
  89. public AjaxResult<Void> edit(@RequestBody CourseEditBo bo) {
  90. return toAjax(iCourseService.updateByEditBo(bo) ? 1 : 0);
  91. }
  92. /**
  93. * 课程统计报表
  94. */
  95. @ApiOperation("课程统计报表")
  96. @GetMapping("/statement")
  97. public TableDataInfo<CourseStatementVo> getCourseStatement(CourseStatementBo bo) {
  98. TableDataInfo<CourseStatementVo> list = iUserStudyRecordService.getCourseStatement(bo);
  99. return list;
  100. }
  101. /**
  102. * 课程详情统计
  103. */
  104. @ApiOperation("课程详情统计")
  105. @GetMapping("/detail/statistics")
  106. public TableDataInfo<CourseSectionDetailVo> getCourseDetailStatistics(CourseSectionDetailBo bo) {
  107. startPage();
  108. List<CourseSectionDetailVo> list = iUserStudyRecordService.getCourseDetailStatistics(bo);
  109. return getDataTable(list);
  110. }
  111. /**
  112. * 删除课程
  113. */
  114. /* @ApiOperation("删除课程")
  115. @PreAuthorize("@ss.hasPermi('system:course:remove')")
  116. @Log(title = "课程" , businessType = BusinessType.DELETE)
  117. @DeleteMapping("/{courseIds}")
  118. public AjaxResult<Void> remove(@PathVariable Long[] courseIds) {
  119. return toAjax(iCourseService.deleteWithValidByIds(Arrays.asList(courseIds), true) ? 1 : 0);
  120. }*/
  121. }