CourseEvaluationController.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.constant.ApiConstant;
  3. import com.qmth.distributed.print.business.bean.params.CourseEvaluationParam;
  4. import com.qmth.distributed.print.business.bean.result.CourseEvaluationResult;
  5. import com.qmth.distributed.print.business.enums.CourseEvaluationTypeEnum;
  6. import com.qmth.distributed.print.business.service.CourseEvaluationService;
  7. import com.qmth.teachcloud.common.annotation.OperationLogDetail;
  8. import com.qmth.teachcloud.common.contant.SystemConstant;
  9. import com.qmth.teachcloud.common.entity.SysUser;
  10. import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
  11. import com.qmth.teachcloud.common.util.Result;
  12. import com.qmth.teachcloud.common.util.ResultUtil;
  13. import com.qmth.teachcloud.common.util.ServletUtil;
  14. import io.swagger.annotations.*;
  15. import org.springframework.validation.BindingResult;
  16. import org.springframework.web.bind.annotation.*;
  17. import javax.annotation.Resource;
  18. import javax.validation.Valid;
  19. import java.util.Objects;
  20. /**
  21. * <p>
  22. * 课程评价方式 前端控制器
  23. * </p>
  24. *
  25. * @author CaoZixuan
  26. * @since 2024-02-22
  27. */
  28. @Api(tags = "评价方式管理controller")
  29. @RestController
  30. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_TEACH + "/course_evaluation")
  31. public class CourseEvaluationController {
  32. @Resource
  33. private CourseEvaluationService courseEvaluationService;
  34. @ApiOperation(value = "评价方式管理-列表查询")
  35. @RequestMapping(value = "/list", method = RequestMethod.POST)
  36. @ApiResponses({ @ApiResponse(code = 200, message = "查询成功", response = CourseEvaluationResult.class) })
  37. public Result findCourseEvaluation(@ApiParam(value = "学期id") @RequestParam(required = false) String examId,
  38. @ApiParam(value = "考试id") @RequestParam(required = false) String courseCode) {
  39. SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
  40. return ResultUtil.ok(
  41. courseEvaluationService.findCourseEvaluationList(SystemConstant.convertIdToLong(examId), courseCode,
  42. requestUser.getId()));
  43. }
  44. @ApiOperation(value = "评价方式管理-新增/编辑")
  45. @RequestMapping(value = "/save", method = RequestMethod.POST)
  46. @ApiResponses({ @ApiResponse(code = 200, message = "更新成功", response = Result.class) })
  47. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EDIT)
  48. public Result saveCourseEvaluation(@Valid @RequestBody CourseEvaluationParam courseEvaluationParam, BindingResult bindingResult) {
  49. if (bindingResult.hasErrors()) {
  50. return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
  51. }
  52. SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
  53. if (Objects.nonNull(courseEvaluationParam)){
  54. // 设置为自定义评价方式
  55. courseEvaluationParam.setType(CourseEvaluationTypeEnum.CUSTOM);
  56. }
  57. courseEvaluationService.saveCourseEvaluation(courseEvaluationParam, sysUser.getId());
  58. return ResultUtil.ok();
  59. }
  60. @ApiOperation(value = "评价方式管理-删除")
  61. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  62. @ApiResponses({ @ApiResponse(code = 200, message = "删除成功", response = Result.class) })
  63. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.DELETE)
  64. public Result deleteCourseEvaluation(@ApiParam(value = "选择要删除的评价方式id", required = true) @RequestParam String id) {
  65. courseEvaluationService.deleteCourseEvaluation(SystemConstant.convertIdToLong(id));
  66. return ResultUtil.ok();
  67. }
  68. }