ExamPrintPlanSyncController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.constant.ApiConstant;
  3. import com.qmth.distributed.print.business.bean.params.SyncDataParam;
  4. import com.qmth.distributed.print.business.bean.result.EditResult;
  5. import com.qmth.distributed.print.business.service.ExamPrintPlanService;
  6. import com.qmth.teachcloud.common.annotation.OperationLogDetail;
  7. import com.qmth.teachcloud.common.contant.SystemConstant;
  8. import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
  9. import com.qmth.teachcloud.common.util.Result;
  10. import com.qmth.teachcloud.common.util.ResultUtil;
  11. import com.qmth.teachcloud.common.util.ServletUtil;
  12. import io.swagger.annotations.*;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.annotation.Resource;
  16. import javax.validation.constraints.Max;
  17. import javax.validation.constraints.Min;
  18. import java.util.List;
  19. /**
  20. * <p>
  21. * 印刷计划推送管理 前端控制器
  22. * </p>
  23. *
  24. * @author xf
  25. * @since 2021-03-23
  26. */
  27. @Api(tags = "印刷计划推送管理Controller")
  28. @RestController
  29. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_EXAM + "/print_sync")
  30. @Validated
  31. public class ExamPrintPlanSyncController {
  32. @Resource
  33. private ExamPrintPlanService examPrintPlanService;
  34. /**
  35. * 需要合并的计划查询
  36. *
  37. * @param printPlanId
  38. * @param startTime
  39. * @param endTime
  40. * @param pageNumber
  41. * @param pageSize
  42. * @return
  43. */
  44. @ApiOperation(value = "印刷计划推送管理-查询")
  45. @RequestMapping(value = "/list_sync", method = RequestMethod.POST)
  46. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  47. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
  48. public Result findPrintPlanPage(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId,
  49. @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
  50. @ApiParam(value = "印刷计划ID") @RequestParam(required = false) Long printPlanId,
  51. @ApiParam(value = "计划创建时间段开始时间") @RequestParam(required = false) Long startTime,
  52. @ApiParam(value = "计划创建时间段结束时间") @RequestParam(required = false) Long endTime,
  53. @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
  54. @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
  55. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  56. return ResultUtil.ok(examPrintPlanService.printPlanSyncPage(schoolId, semesterId, examId, printPlanId, startTime, endTime, pageNumber, pageSize));
  57. }
  58. /**
  59. * 查询计划下需要同步的命题任务
  60. * @param printPlanIds 印刷计划ID
  61. */
  62. @ApiOperation(value = "印刷计划推送管理-查询计划下需要同步的命题任务")
  63. @RequestMapping(value = "/list_sync_exam_task", method = RequestMethod.POST)
  64. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  65. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
  66. public Result listSyncExamTask(@ApiParam(value = "印刷计划ID集合") @RequestParam List<Long> printPlanIds) {
  67. return ResultUtil.ok(examPrintPlanService.listSyncExamTask(printPlanIds));
  68. }
  69. /**
  70. * 多计划合并同步
  71. *
  72. * @param syncDataParam
  73. * @return
  74. * @throws Exception
  75. */
  76. @ApiOperation(value = "印刷计划推送管理-推送")
  77. @RequestMapping(value = "/sync_data_cloud", method = RequestMethod.POST)
  78. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  79. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.PUSH)
  80. public Result syncDataCloud(@RequestBody SyncDataParam syncDataParam) {
  81. examPrintPlanService.syncDataCloud(syncDataParam);
  82. return ResultUtil.ok(true);
  83. }
  84. }