dev-tmp1
luotaiqian 2026-08-18 17:54:53 +08:00
parent 23fa4f5963
commit 38c3cf0a01
5 changed files with 29 additions and 17 deletions

View File

@ -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<Void> 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<PaperQuestionVO> page(@Validated PaperQuestionPageQueryDTO query) {
IPage<PaperQuestionVO> page = questionService.pagePaperQuestions(query);
return PageResponse.of(page.getRecords(), page.getTotal());
}
}

View File

@ -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")

View File

@ -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<PaperQuestionVO> page(@Validated PaperQuestionPageQueryDTO query) {
IPage<PaperQuestionVO> page = questionService.pagePaperQuestions(query);
return PageResponse.of(page.getRecords(), page.getTotal());
}
}

View File

@ -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;

View File

@ -299,7 +299,10 @@ public class QuestionExcelImporter {
}
QuestionDO questionDO = buildChoiceQuestion(row, questionType, answerLetters, coursewareManagementId);
questionDO.setQuestionNum(rowIndex - HEAD_ROW_NUMBER);
List<QuestionOptionDO> 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<String, String> optionTexts = new LinkedHashMap<>();
optionTexts.put(OPTION_KEY_A, JUDGE_CORRECT_OPTION_TEXT);
optionTexts.put(OPTION_KEY_B, JUDGE_WRONG_OPTION_TEXT);