PaperController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package cn.com.qmth.mps.controller;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.apache.commons.collections4.CollectionUtils;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.PostMapping;
  7. import org.springframework.web.bind.annotation.RequestBody;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11. import org.springframework.web.bind.annotation.RestController;
  12. import org.springframework.web.multipart.MultipartFile;
  13. import com.qmth.boot.api.annotation.Aac;
  14. import com.qmth.boot.api.annotation.BOOL;
  15. import com.qmth.boot.api.constant.ApiConstant;
  16. import com.qmth.boot.core.collection.PageResult;
  17. import cn.com.qmth.mps.bean.ImportMsg;
  18. import cn.com.qmth.mps.bean.PaperGroup;
  19. import cn.com.qmth.mps.service.PaperService;
  20. import cn.com.qmth.mps.util.ResouceUtil;
  21. import cn.com.qmth.mps.vo.paper.GroupVo;
  22. import cn.com.qmth.mps.vo.paper.PaperInfoVo;
  23. import cn.com.qmth.mps.vo.paper.PaperQuery;
  24. import cn.com.qmth.mps.vo.paper.PaperVo;
  25. import cn.com.qmth.mps.vo.paper.StructDomain;
  26. import io.swagger.annotations.Api;
  27. import io.swagger.annotations.ApiOperation;
  28. @RestController
  29. @Api(tags = "试卷结构接口")
  30. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/paper")
  31. @Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
  32. public class PaperController extends BaseController {
  33. @Autowired
  34. private PaperService paperService;
  35. @PostMapping("import-course")
  36. @ApiOperation(value = "导入科目")
  37. public ImportMsg importPaper(@RequestParam Long examId, @RequestParam MultipartFile file) {
  38. List<String> failRecords = paperService.importPaper(examId, getAccessUser(), file);
  39. ImportMsg msg = new ImportMsg();
  40. msg.setHasError(CollectionUtils.isNotEmpty(failRecords));
  41. msg.setErrMsg(failRecords);
  42. return msg;
  43. }
  44. @PostMapping("import-struct-subject")
  45. @ApiOperation(value = "导入主观题试卷结构")
  46. public ImportMsg importSubjectStruct(@RequestParam Long examId, @RequestParam MultipartFile file) {
  47. List<String> failRecords = paperService.importPaper(examId, getAccessUser(), file);
  48. ImportMsg msg = new ImportMsg();
  49. msg.setHasError(CollectionUtils.isNotEmpty(failRecords));
  50. msg.setErrMsg(failRecords);
  51. return msg;
  52. }
  53. @ApiOperation(value = "下载科目导入模板")
  54. @PostMapping("template-course")
  55. public void getImportTemplate() {
  56. exportFile("科目导入模板.xlsx", ResouceUtil.getStream("importtemplates/courseImport.xlsx"));
  57. }
  58. @ApiOperation(value = "下载试卷结构导入模板")
  59. @PostMapping("template-struct")
  60. public void getStructImportTemplate() {
  61. exportFile("试卷结构导入模板.xlsx", ResouceUtil.getStream("importtemplates/structImport.xlsx"));
  62. }
  63. @ApiOperation(value = "导出主观题")
  64. @PostMapping("export-subjective")
  65. public void exportSubjective(PaperQuery query, HttpServletResponse response) {
  66. }
  67. @ApiOperation(value = "获取分页")
  68. @RequestMapping(value = "page", method = RequestMethod.POST)
  69. public PageResult<PaperVo> page(PaperQuery query) {
  70. return paperService.page(query, getAccessUser());
  71. }
  72. @ApiOperation(value = "获取列表")
  73. @RequestMapping(value = "list", method = RequestMethod.POST)
  74. public List<PaperVo> list(@RequestParam Long examId) {
  75. return null;
  76. }
  77. @ApiOperation(value = "获取信息")
  78. @RequestMapping(value = "info", method = RequestMethod.POST)
  79. public PaperInfoVo info(@RequestParam Long id) {
  80. return null;
  81. }
  82. @ApiOperation(value = "设置满分")
  83. @RequestMapping(value = "total-score", method = RequestMethod.POST)
  84. public PaperVo totalScore(@RequestParam Long paperId, @RequestParam Double totalScore) {
  85. return null;
  86. }
  87. @ApiOperation(value = "试卷结构提交")
  88. @RequestMapping(value = "struct/submit ", method = RequestMethod.POST)
  89. public PaperVo structSubmit(@RequestBody StructDomain domain) {
  90. return null;
  91. }
  92. @ApiOperation(value = "试卷结构暂存")
  93. @RequestMapping(value = "struct/save ", method = RequestMethod.POST)
  94. public PaperVo structSave(@RequestBody StructDomain domain) {
  95. return null;
  96. }
  97. @ApiOperation(value = "获取分组列表")
  98. @RequestMapping(value = "group/list", method = RequestMethod.POST)
  99. public List<GroupVo> groupList(@RequestParam Long paperId) {
  100. return null;
  101. }
  102. @ApiOperation(value = "获取分组信息")
  103. @RequestMapping(value = "group/info", method = RequestMethod.POST)
  104. public GroupVo groupInfo(@RequestParam Long paperId, @RequestParam Integer groupNumber) {
  105. return null;
  106. }
  107. @ApiOperation(value = "保存分组信息")
  108. @RequestMapping(value = "group/save", method = RequestMethod.POST)
  109. public void groupInfo(@RequestBody PaperGroup domain) {
  110. }
  111. }