TeachCourseController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.constant.ApiConstant;
  3. import com.qmth.distributed.print.business.bean.params.TeachCourseParams;
  4. import com.qmth.distributed.print.business.bean.result.EditResult;
  5. import com.qmth.distributed.print.business.service.TeachCourseService;
  6. import com.qmth.teachcloud.common.annotation.OperationLogDetail;
  7. import com.qmth.teachcloud.common.contant.SystemConstant;
  8. import com.qmth.teachcloud.common.entity.SysUser;
  9. import com.qmth.teachcloud.common.enums.log.LevelEnum;
  10. import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
  11. import com.qmth.teachcloud.common.enums.log.OperationUnitEnum;
  12. import com.qmth.teachcloud.common.util.Result;
  13. import com.qmth.teachcloud.common.util.ResultUtil;
  14. import com.qmth.teachcloud.common.util.ServletUtil;
  15. import io.swagger.annotations.*;
  16. import org.springframework.validation.BindingResult;
  17. import org.springframework.validation.annotation.Validated;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.annotation.Resource;
  20. import javax.validation.Valid;
  21. import javax.validation.constraints.Max;
  22. import javax.validation.constraints.Min;
  23. import java.util.List;
  24. /**
  25. * @Description: 教学课程 前端控制器
  26. * @Author: CaoZixuan
  27. * @Date: 2022-02-10
  28. */
  29. @Api(tags = "教学课程Controller")
  30. @RestController
  31. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_TEACH + "/course")
  32. @Validated
  33. //@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
  34. public class TeachCourseController {
  35. @Resource
  36. private TeachCourseService teachCourseService;
  37. @ApiOperation(value = "教学课程-查询")
  38. @RequestMapping(value = "/page", method = RequestMethod.POST)
  39. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  40. @OperationLogDetail(detail = "根据查询条件课程名称[{{courseName}}]模糊查询教学课程,查询第[{{pageNumber}}]页,每页查[{{pageSize}}]个", operationType = OperationTypeEnum.SELECT, operationUnit = OperationUnitEnum.TEACH_COURSE)
  41. public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) String courseName,
  42. @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
  43. @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
  44. SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
  45. return ResultUtil.ok(teachCourseService.teachCoursePage(courseName, pageNumber, pageSize, requestUser.getId()));
  46. }
  47. @ApiOperation(value = "教学课程-创建教学课程")
  48. @RequestMapping(value = "/create", method = RequestMethod.POST)
  49. @ApiResponses({@ApiResponse(code = 200, message = "创建成功", response = EditResult.class)})
  50. @OperationLogDetail(detail = "创建教学课程,参数[{{teachCourseParams}}]", level = LevelEnum.TERTIARY, operationType = OperationTypeEnum.EDIT, operationUnit = OperationUnitEnum.TEACH_COURSE)
  51. public Result createTeachCourse(@Valid @RequestBody TeachCourseParams teachCourseParams, BindingResult bindingResult) throws IllegalAccessException {
  52. SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
  53. if (bindingResult.hasErrors()) {
  54. return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
  55. }
  56. SystemConstant.verifyDBFields(teachCourseParams, teachCourseParams.getClass());
  57. return ResultUtil.ok(teachCourseService.createTeachCourse(teachCourseParams.getBasicCourseId(), requestUser));
  58. }
  59. @ApiOperation(value = "教学课程-查找基础课程")
  60. @RequestMapping(value = "/find_basic_course", method = RequestMethod.POST)
  61. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  62. @OperationLogDetail(detail = "用户查找可被创建课程的基础课程信息", operationType = OperationTypeEnum.SELECT)
  63. public Result findBasicCourse() {
  64. SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
  65. return ResultUtil.ok(teachCourseService.findBasicCourseByUser(requestUser));
  66. }
  67. @ApiOperation(value = "教学课程-批量删除")
  68. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  69. @ApiResponses({@ApiResponse(code = 200, message = "删除成功", response = EditResult.class)})
  70. @OperationLogDetail(detail = "用户根据教学课程id集合[{{idList}}]批量删除教学课程", level = LevelEnum.TERTIARY, operationType = OperationTypeEnum.DELETE, operationUnit = OperationUnitEnum.TEACH_COURSE)
  71. public Result deleteTeachCourse(@ApiParam(value = "选择的要删除的课程id集合", required = true) @RequestParam List<Long> idList) {
  72. return ResultUtil.ok(teachCourseService.deleteTeachCourseBatch(idList));
  73. }
  74. }