src/main/java/com/ycl/jxkg/controller/admin/QuestionController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/entity/Question.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/enums/QuestionStatusEnum.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/enums/general/StatusEnum.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionEditRequestVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionResponseVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/QuestionServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/controller/admin/QuestionController.java
@@ -4,21 +4,21 @@ import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.base.SystemCode; import com.ycl.jxkg.domain.entity.Question; import com.ycl.jxkg.domain.enums.QuestionTypeEnum; import com.ycl.jxkg.domain.question.QuestionObject; import com.ycl.jxkg.domain.vo.admin.question.QuestionEditRequestVO; import com.ycl.jxkg.domain.vo.admin.question.QuestionPageRequestVO; import com.ycl.jxkg.domain.vo.admin.question.QuestionResponseVO; import com.ycl.jxkg.service.QuestionService; import com.ycl.jxkg.service.TextContentService; import com.ycl.jxkg.utils.*; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.Objects; @RequiredArgsConstructor @RestController("AdminQuestionController") @@ -26,7 +26,6 @@ public class QuestionController extends BaseApiController { private final QuestionService questionService; private final TextContentService textContentService; @RequestMapping(value = "/page", method = RequestMethod.POST) public Result<PageInfo<QuestionResponseVO>> pageList(@RequestBody QuestionPageRequestVO model) { @@ -34,7 +33,6 @@ PageInfo<QuestionResponseVO> page = PageInfoHelper.copyMap(pageInfo, q -> { QuestionResponseVO vo = new QuestionResponseVO(); BeanUtils.copyProperties(q, vo); vo.setScore(ExamUtil.scoreToVM(Integer.valueOf(q.getScore()))); QuestionObject questionObject = JsonUtil.toJsonObject(q.getContent(), QuestionObject.class); String clearHtml = HtmlUtil.clear(questionObject.getTitleContent()); vo.setShortTitle(clearHtml); @@ -68,8 +66,7 @@ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { Question question = questionService.getById(id); questionService.updateById(question); questionService.removeById(id); return Result.ok(); } @@ -79,15 +76,6 @@ if (requireCorrect) { if (StringUtils.isBlank(model.getCorrect())) { String errorMsg = ErrorUtil.parameterErrorFormat("correct", "不能为空"); return new Result<>(SystemCode.ParameterValidError.getCode(), errorMsg); } } if (qType == QuestionTypeEnum.GapFilling.getCode()) { Integer fillSumScore = model.getItems().stream().mapToInt(d -> ExamUtil.scoreFromVM(d.getScore())).sum(); Integer questionScore = ExamUtil.scoreFromVM(model.getScore()); if (!fillSumScore.equals(questionScore)) { String errorMsg = ErrorUtil.parameterErrorFormat("score", "空分数和与题目总分不相等"); return new Result<>(SystemCode.ParameterValidError.getCode(), errorMsg); } } src/main/java/com/ycl/jxkg/domain/entity/Question.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.ycl.jxkg.domain.base.AbsEntity; import com.ycl.jxkg.domain.enums.QuestionTypeEnum; import com.ycl.jxkg.domain.enums.general.StatusEnum; import com.ycl.jxkg.utils.ExamUtil; import lombok.Data; @@ -28,18 +29,6 @@ */ @TableField("subject_id") private Integer subjectId; /** * 题目总分(千分制) */ @TableField("score") private Integer score; /** * 级别 */ @TableField("grade_level") private Integer gradeLevel; /** * 题目难度 @@ -66,10 +55,10 @@ private Integer createUser; /** * 1.正常 * 1.启用、2.禁用 */ @TableField("status") private Integer status; private StatusEnum status; /** * 创建时间 src/main/java/com/ycl/jxkg/domain/enums/QuestionStatusEnum.java
File was deleted src/main/java/com/ycl/jxkg/domain/enums/general/StatusEnum.java
New file @@ -0,0 +1,27 @@ package com.ycl.jxkg.domain.enums.general; import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; /** * @author gonghl * @since 2024/6/5 上午 10:54 */ @Getter public enum StatusEnum { ENABLE("1", "启用"), DISABLE("2", "禁用"), ; @EnumValue final String value; @JsonValue final String desc; StatusEnum(String value, String desc) { this.value = value; this.desc = desc; } } src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionEditRequestVO.java
@@ -34,9 +34,6 @@ private String correct; @NotBlank private String score; @Range(min = 1, max = 5, message = "请选择题目难度") private Integer difficult; src/main/java/com/ycl/jxkg/domain/vo/admin/question/QuestionResponseVO.java
@@ -24,8 +24,6 @@ private String createUserName; private String score; private Integer status; private String correct; src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
@@ -188,7 +188,7 @@ ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = new ExamPaperQuestionCustomerAnswer(); examPaperQuestionCustomerAnswer.setQuestionId(question.getId()); examPaperQuestionCustomerAnswer.setExamPaperId(examPaper.getId()); examPaperQuestionCustomerAnswer.setQuestionScore(question.getScore()); examPaperQuestionCustomerAnswer.setQuestionScore(null); examPaperQuestionCustomerAnswer.setSubjectId(examPaper.getSubjectId()); examPaperQuestionCustomerAnswer.setItemOrder(itemOrder); examPaperQuestionCustomerAnswer.setCreateTime(now); @@ -217,13 +217,13 @@ case TrueFalse: examPaperQuestionCustomerAnswer.setAnswer(customerQuestionAnswer.getContent()); examPaperQuestionCustomerAnswer.setDoRight(question.getCorrect().equals(customerQuestionAnswer.getContent())); examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? question.getScore() : 0); examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? null : 0); break; case MultipleChoice: String customerAnswer = ExamUtil.contentToString(customerQuestionAnswer.getContentArray()); examPaperQuestionCustomerAnswer.setAnswer(customerAnswer); examPaperQuestionCustomerAnswer.setDoRight(customerAnswer.equals(question.getCorrect())); examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? question.getScore() : 0); examPaperQuestionCustomerAnswer.setCustomerScore(examPaperQuestionCustomerAnswer.getDoRight() ? null : 0); break; case GapFilling: String correctAnswer = JsonUtil.toJsonStr(customerQuestionAnswer.getContentArray()); src/main/java/com/ycl/jxkg/service/impl/QuestionServiceImpl.java
@@ -1,10 +1,9 @@ package com.ycl.jxkg.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.jxkg.domain.enums.general.StatusEnum; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.domain.entity.Question; import com.ycl.jxkg.domain.entity.TextContent; import com.ycl.jxkg.domain.enums.QuestionStatusEnum; import com.ycl.jxkg.domain.enums.QuestionTypeEnum; import com.ycl.jxkg.domain.question.QuestionItemObject; import com.ycl.jxkg.domain.question.QuestionObject; @@ -28,6 +27,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @Service @@ -51,19 +51,16 @@ @Transactional public Question insertFullQuestion(QuestionEditRequestVO model, Integer userId) { Date now = new Date(); Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId()); //题干、解析、选项等 插入 String questionObject = setQuestionInfoFromVM(model); Question question = new Question(); question.setSubjectId(model.getSubjectId()); question.setGradeLevel(gradeLevel); question.setCreateTime(now); question.setQuestionType(model.getQuestionType()); question.setStatus(QuestionStatusEnum.OK.getCode()); question.setStatus(StatusEnum.ENABLE); question.setCorrectFromVM(model.getCorrect(), model.getCorrectArray()); question.setScore(ExamUtil.scoreFromVM(model.getScore())); question.setDifficult(model.getDifficult()); question.setContent(questionObject); question.setCreateUser(userId); @@ -74,11 +71,8 @@ @Override @Transactional public Question updateFullQuestion(QuestionEditRequestVO model) { Integer gradeLevel = subjectService.levelBySubjectId(model.getSubjectId()); Question question = questionMapper.selectById(model.getId()); question.setSubjectId(model.getSubjectId()); question.setGradeLevel(gradeLevel); question.setScore(ExamUtil.scoreFromVM(model.getScore())); question.setDifficult(model.getDifficult()); question.setCorrectFromVM(model.getCorrect(), model.getCorrectArray()); //题干、解析、选项等 更新 @@ -123,7 +117,6 @@ default: break; } questionEditRequestVO.setScore(ExamUtil.scoreToVM(question.getScore())); questionEditRequestVO.setAnalyze(questionObject.getAnalyze());