AssignedCheckController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package cn.com.qmth.scancentral.controller.admin;
  2. import cn.com.qmth.scancentral.bean.AssignedQueryDomain;
  3. import cn.com.qmth.scancentral.bean.User;
  4. import cn.com.qmth.scancentral.controller.BaseController;
  5. import cn.com.qmth.scancentral.service.StudentService;
  6. import cn.com.qmth.scancentral.vo.answerquery.AnswerQueryVo;
  7. import cn.com.qmth.scancentral.vo.assginedcheck.AssginedTaskResult;
  8. import cn.com.qmth.scancentral.vo.assginedcheck.AssignedCheckExport;
  9. import cn.com.qmth.scancentral.vo.assginedcheck.AssignedTaskSaveVo;
  10. import cn.com.qmth.scancentral.vo.task.TaskStatusVo;
  11. import com.qmth.boot.api.annotation.Aac;
  12. import com.qmth.boot.api.constant.ApiConstant;
  13. import com.qmth.boot.core.collection.PageResult;
  14. import com.qmth.boot.tools.excel.ExcelWriter;
  15. import com.qmth.boot.tools.excel.enums.ExcelType;
  16. import com.qmth.boot.tools.iterator.PageListIterator;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.validation.annotation.Validated;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.io.IOException;
  24. import java.net.URLEncoder;
  25. import java.util.Collection;
  26. import java.util.List;
  27. @RestController
  28. @Api(tags = "人工绑定校验接口")
  29. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/admin/assigned/check")
  30. @Aac(strict = false, auth = true)
  31. public class AssignedCheckController extends BaseController {
  32. @Autowired
  33. private StudentService studentService;
  34. @ApiOperation(value = "列表")
  35. @RequestMapping(value = "/list", method = RequestMethod.POST)
  36. public PageResult<AnswerQueryVo> list(@Validated AssignedQueryDomain query) {
  37. if (query.getAssignedCheckCount() == null || query.getAssignedCheckCount() <= 1) {
  38. query.setAssignedCheckCount(1);
  39. }
  40. query.setAssigned(true);
  41. return studentService.queryAssignedCheckPage(query);
  42. }
  43. @ApiOperation(value = "导出")
  44. @RequestMapping(value = "/export", method = RequestMethod.POST)
  45. public void export(@Validated AssignedQueryDomain query, HttpServletResponse response) throws IOException {
  46. AssignedQueryDomain query1 = new AssignedQueryDomain();
  47. query1.setExamId(query.getExamId());
  48. query1.setAssigned(true);
  49. query1.setAssignedSuspect(true);
  50. String fileName = URLEncoder.encode("人工绑定", "UTF-8");
  51. response.setHeader("Content-Disposition", "inline; filename=" + fileName + ".xlsx");
  52. response.setContentType("application/vnd.ms-excel");
  53. User user = getAccessUser();
  54. ExcelWriter writer = ExcelWriter.create(ExcelType.XLSX);
  55. PageListIterator<AssignedCheckExport> iterator = new PageListIterator<AssignedCheckExport>(100) {
  56. @Override
  57. public Collection<AssignedCheckExport> getPageList(int pageNumber, int pageSize) {
  58. query1.setPageNumber(pageNumber);
  59. query1.setPageSize(pageSize);
  60. return studentService.exportAssignedCheckPage(query1);
  61. }
  62. };
  63. writer.writeObjects("用户", null, AssignedCheckExport.class, iterator);
  64. writer.output(response.getOutputStream());
  65. }
  66. @ApiOperation(value = "审核员任务获取")
  67. @RequestMapping(value = "task/get", method = RequestMethod.POST)
  68. public AnswerQueryVo get(@RequestParam Long examId) {
  69. User user = getAccessUser();
  70. return studentService.getAssignedCheckTask(examId, user.getAccount());
  71. }
  72. @ApiOperation(value = "审核员任务历史")
  73. @RequestMapping(value = "task/history", method = RequestMethod.POST)
  74. public List<AnswerQueryVo> history(@RequestParam Long id, @RequestParam Long pageSize) {
  75. User user = getAccessUser();
  76. return studentService.getAssignedCheckTaskHistory(id, pageSize, user);
  77. }
  78. @ApiOperation(value = "审核员任务提交")
  79. @RequestMapping(value = "task/save", method = RequestMethod.POST)
  80. public AssignedTaskSaveVo submit(@Validated @RequestBody AssginedTaskResult result) {
  81. User user = getAccessUser();
  82. return studentService.submitAssignedCheckTask(result, user);
  83. }
  84. @ApiOperation(value = "答题卡扫描图片检查任务状态")
  85. @PostMapping("task/status")
  86. public TaskStatusVo status(@RequestParam Long examId) {
  87. User user = getAccessUser();
  88. return studentService.getAssignedCheckTaskStatus(examId, user);
  89. }
  90. @ApiOperation(value = "审核员任务释放")
  91. @PostMapping("task/release")
  92. public Object release(@RequestParam Long examId) {
  93. User user = getAccessUser();
  94. studentService.releaseAssignedCheckTaskByUser(examId, user.getAccount());
  95. return success(true);
  96. }
  97. }