ExamPrintPlanSyncController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. /**
  19. * <p>
  20. * 印刷计划管理 前端控制器
  21. * </p>
  22. *
  23. * @author xf
  24. * @since 2021-03-23
  25. */
  26. @Api(tags = "印刷计划管理Controller")
  27. @RestController
  28. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_EXAM + "/print_sync")
  29. @Validated
  30. public class ExamPrintPlanSyncController {
  31. @Resource
  32. private ExamPrintPlanService examPrintPlanService;
  33. /**
  34. * 需要合并的计划查询
  35. *
  36. * @param printPlanId
  37. * @param startTime
  38. * @param endTime
  39. * @param pageNumber
  40. * @param pageSize
  41. * @return
  42. */
  43. @ApiOperation(value = "印刷计划合并管理-计划查询")
  44. @RequestMapping(value = "/list_sync", method = RequestMethod.POST)
  45. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  46. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
  47. public Result findPrintPlanPage(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId,
  48. @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId,
  49. @ApiParam(value = "印刷计划ID") @RequestParam(required = false) Long printPlanId,
  50. @ApiParam(value = "计划创建时间段开始时间") @RequestParam(required = false) Long startTime,
  51. @ApiParam(value = "计划创建时间段结束时间") @RequestParam(required = false) Long endTime,
  52. @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
  53. @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
  54. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  55. return ResultUtil.ok(examPrintPlanService.printPlanSyncPage(schoolId, semesterId, examId, printPlanId, startTime, endTime, pageNumber, pageSize));
  56. }
  57. /**
  58. * 已同步过的云阅卷考试列表
  59. * @param semesterId 学期ID
  60. * @param examId 考试ID
  61. */
  62. @ApiOperation(value = "印刷计划合并管理-合并推送-云阅卷考试ID列表")
  63. @RequestMapping(value = "/list_relate_ids", method = RequestMethod.POST)
  64. @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
  65. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
  66. public Result findPrintPlanPage(@ApiParam(value = "学期ID") @RequestParam(required = false) Long semesterId,
  67. @ApiParam(value = "考试ID") @RequestParam(required = false) Long examId) {
  68. Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
  69. return ResultUtil.ok(examPrintPlanService.printSyncPlan(schoolId, semesterId, examId));
  70. }
  71. /**
  72. * 多计划合并同步
  73. *
  74. * @param syncDataParam
  75. * @return
  76. * @throws Exception
  77. */
  78. @ApiOperation(value = "印刷计划合并管理-合并推送-多计划合并同步")
  79. @RequestMapping(value = "/sync_data_merge", method = RequestMethod.POST)
  80. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  81. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.PUSH)
  82. public Result syncDataCloud(@RequestBody SyncDataParam syncDataParam) {
  83. examPrintPlanService.syncDataMerge(syncDataParam);
  84. return ResultUtil.ok(true);
  85. }
  86. /**
  87. * 批量同步
  88. *
  89. * @param syncDataParam
  90. * @return
  91. * @throws Exception
  92. */
  93. @ApiOperation(value = "印刷计划合并管理-批量同步")
  94. @RequestMapping(value = "/sync_data_cloud_batch", method = RequestMethod.POST)
  95. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  96. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.PUSH)
  97. public Result syncDataCloudBatch(@RequestBody SyncDataParam syncDataParam) {
  98. examPrintPlanService.syncDataCloudBatch(syncDataParam);
  99. return ResultUtil.ok(true);
  100. }
  101. /**
  102. * 单个手动同步
  103. *
  104. * @param printPlanId
  105. * @param thirdRelateId
  106. * @return
  107. * @throws Exception
  108. */
  109. @ApiOperation(value = "印刷计划合并管理-同步失败-单个手动同步")
  110. @RequestMapping(value = "/sync_data_cloud", method = RequestMethod.POST)
  111. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  112. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.PUSH)
  113. public Result syncDataCloud(@RequestParam(value = "printPlanId") Long printPlanId,
  114. @RequestParam(value = "thirdRelateId", required = false) Long thirdRelateId) {
  115. examPrintPlanService.syncDataCloud(printPlanId, thirdRelateId);
  116. return ResultUtil.ok(true);
  117. }
  118. }