diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java index cd1464eb..013cfdf7 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperController.java @@ -3,13 +3,13 @@ package org.qinan.cedu.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.qinan.cedu.model.dto.PaperCopyDTO; -import org.qinan.cedu.model.dto.PaperImportDTO; -import org.qinan.cedu.model.dto.PaperPageQueryDTO; -import org.qinan.cedu.model.dto.PaperUpdateDTO; +import lombok.RequiredArgsConstructor; +import org.qinan.cedu.model.dto.*; import org.qinan.cedu.model.vo.PaperImportVO; import org.qinan.cedu.model.vo.PaperPageVO; +import org.qinan.cedu.model.vo.PaperQuestionVO; import org.qinan.cedu.service.PaperService; +import org.qinan.cedu.service.QuestionService; import org.qinan.safetyeval.client.dto.PageResponse; import org.qinan.safetyeval.client.dto.SingleResponse; import org.springframework.beans.factory.annotation.Autowired; @@ -21,11 +21,12 @@ import org.springframework.web.bind.annotation.*; */ @Api(tags = "试卷管理") @RestController +@RequiredArgsConstructor @RequestMapping("/safetyEval/paper") public class PaperController { - @Autowired - private PaperService paperService; + private final PaperService paperService; + private final QuestionService questionService; @ApiOperation("分页查询试卷") @GetMapping("/page") @@ -35,7 +36,7 @@ public class PaperController { } @ApiOperation("修改试卷基本信息") - @PutMapping + @PutMapping("/update/basic") public SingleResponse update(@Validated @RequestBody PaperUpdateDTO updateDTO) { paperService.updatePaper(updateDTO); return SingleResponse.success(); @@ -61,4 +62,11 @@ public class PaperController { public PaperImportVO importQuestions(@Validated PaperImportDTO paperImportDTO) { return paperService.importQuestions(paperImportDTO); } + + @ApiOperation("试卷试题分页查询") + @GetMapping("/paper/question/page") + public PageResponse page(@Validated PaperQuestionPageQueryDTO query) { + IPage page = questionService.pagePaperQuestions(query); + return PageResponse.of(page.getRecords(), page.getTotal()); + } } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperQuestionRelController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperQuestionRelController.java index 024c7e3c..11c47e0a 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperQuestionRelController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperQuestionRelController.java @@ -2,6 +2,7 @@ package org.qinan.cedu.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; import org.qinan.cedu.model.dto.PaperQuestionDeleteDTO; import org.qinan.cedu.model.dto.PaperQuestionSaveDTO; import org.qinan.cedu.service.PaperQuestionRelService; @@ -18,11 +19,11 @@ import org.springframework.web.bind.annotation.RestController; */ @Api(tags = "试卷试题管理") @RestController +@RequiredArgsConstructor @RequestMapping("/safetyEval/paperQuestionRel") public class PaperQuestionRelController { - @Autowired - private PaperQuestionRelService paperQuestionRelService; + private final PaperQuestionRelService paperQuestionRelService; @ApiOperation("新增试卷试题(习题)") @PostMapping("/save") diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java index 849a4c45..93cae64e 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/QuestionController.java @@ -3,6 +3,7 @@ package org.qinan.cedu.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; import org.qinan.cedu.model.dto.PaperQuestionPageQueryDTO; import org.qinan.cedu.model.dto.QuestionUpdateDTO; import org.qinan.cedu.model.vo.PaperQuestionVO; @@ -23,10 +24,10 @@ import org.springframework.web.bind.annotation.RestController; @Api(tags = "试题管理") @RestController @RequestMapping("/safetyEval/question") +@RequiredArgsConstructor public class QuestionController { - @Autowired - private QuestionService questionService; + private final QuestionService questionService; @ApiOperation("编辑习题") @PostMapping("/modify") @@ -35,10 +36,4 @@ public class QuestionController { return SingleResponse.success(); } - @ApiOperation("试卷试题分页查询") - @GetMapping("/page") - public PageResponse page(@Validated PaperQuestionPageQueryDTO query) { - IPage page = questionService.pagePaperQuestions(query); - return PageResponse.of(page.getRecords(), page.getTotal()); - } } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperPageVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperPageVO.java index 6fc8fd02..08d04710 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperPageVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperPageVO.java @@ -27,6 +27,9 @@ public class PaperPageVO { @ApiModelProperty("合格分数") private BigDecimal paperPassScore; + @ApiModelProperty("试卷状态 normal 正常") + private String status; + @ApiModelProperty("创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/support/QuestionExcelImporter.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/support/QuestionExcelImporter.java index 0a0f6816..503e9be0 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/support/QuestionExcelImporter.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/support/QuestionExcelImporter.java @@ -299,7 +299,10 @@ public class QuestionExcelImporter { } QuestionDO questionDO = buildChoiceQuestion(row, questionType, answerLetters, coursewareManagementId); + questionDO.setQuestionNum(rowIndex - HEAD_ROW_NUMBER); List questionOptionDOS = buildOptions(questionDO.getId(), options, answerLetters); + questionDO.setAnswerQuestionOptionIds(joinCorrectOptionIds(questionOptionDOS)); + parseResult.getQuestions().add(questionDO); parseResult.getOptions().addAll(questionOptionDOS); } @@ -377,6 +380,8 @@ public class QuestionExcelImporter { question.setAnalysis(row.getAnalysis().trim()); question.setTagType(row.getTagType().trim()); question.setCoursewareManagementId(coursewareManagementId); + question.setQuestionNum(rowIndex - HEAD_ROW_NUMBER); + InsertFieldDefaults.applyIgnoreOrgId(question); Map optionTexts = new LinkedHashMap<>(); optionTexts.put(OPTION_KEY_A, JUDGE_CORRECT_OPTION_TEXT); optionTexts.put(OPTION_KEY_B, JUDGE_WRONG_OPTION_TEXT);