ExamPaperStructureController.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.qmth.distributed.print.api;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.qmth.boot.api.constant.ApiConstant;
  4. import com.qmth.distributed.print.business.entity.ExamPaperStructure;
  5. import com.qmth.distributed.print.business.service.DataSyncService;
  6. import com.qmth.distributed.print.business.service.ExamPaperStructureService;
  7. import com.qmth.teachcloud.common.contant.SystemConstant;
  8. import com.qmth.teachcloud.common.util.Result;
  9. import com.qmth.teachcloud.common.util.ResultUtil;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import org.springframework.web.multipart.MultipartFile;
  18. import javax.validation.constraints.Max;
  19. import javax.validation.constraints.Min;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * <p>
  24. * 试卷结构 前端控制器
  25. * </p>
  26. *
  27. * @author xf
  28. */
  29. @Api(tags = "试卷结构Controller")
  30. @RestController
  31. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.exam}/structure")
  32. public class ExamPaperStructureController {
  33. @Autowired
  34. private ExamPaperStructureService examPaperStructureService;
  35. @Autowired
  36. private DataSyncService dataSyncService;
  37. /**
  38. * 查询
  39. *
  40. * @return
  41. */
  42. @ApiOperation(value = "查询")
  43. @RequestMapping(value = "/list", method = RequestMethod.POST)
  44. public Result list(@RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
  45. @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
  46. IPage<ExamPaperStructure> examPaperStructureIPage = examPaperStructureService.listByPropositionTeacherId(pageNumber, pageSize, null);
  47. return ResultUtil.ok(examPaperStructureIPage);
  48. }
  49. /**
  50. * 上传
  51. *
  52. * @param md5 文件md5
  53. * @param files 文件数组
  54. * @return
  55. */
  56. @ApiOperation(value = "上传试卷结构、标答")
  57. @RequestMapping(value = "/upload", method = RequestMethod.POST)
  58. public Result upload(@RequestParam("examPaperStructure") String examPaperStructure,
  59. @RequestParam("md5") String md5,
  60. @RequestParam("files") MultipartFile[] files) {
  61. ExamPaperStructure examPaper = examPaperStructureService.upload(examPaperStructure, md5, files);
  62. // 推送云阅卷
  63. dataSyncService.syncPaperStructure(examPaper);
  64. return ResultUtil.ok(String.valueOf(examPaper.getId()), null);
  65. }
  66. /**
  67. * 试卷结构预览
  68. *
  69. * @param id id
  70. * @return
  71. */
  72. @ApiOperation(value = "试卷结构预览")
  73. @RequestMapping(value = "/preview_structure", method = RequestMethod.POST)
  74. public Result preStructure(@RequestParam("id") Long id) {
  75. List<Map> list = examPaperStructureService.preStructure(id);
  76. return ResultUtil.ok(list);
  77. }
  78. }