src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
@@ -3,6 +3,7 @@ import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.entity.ExamPaper; import com.ycl.jxkg.mapper.ExamPaperMapper; import com.ycl.jxkg.service.ExamPaperService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.PageInfoHelper; @@ -21,8 +22,9 @@ @RequestMapping(value = "/api/admin/exam/paper") public class ExamPaperController extends BaseApiController { private final ExamPaperService examPaperService; private final ExamPaperService examPaperService; private final ExamPaperMapper baseMapper; @RequestMapping(value = "/page", method = RequestMethod.POST) public Result<PageInfo<ExamResponseVO>> pageList(@RequestBody ExamPaperPageRequestVO model) { PageInfo<ExamPaper> pageInfo = examPaperService.page(model); @@ -66,8 +68,7 @@ @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public Result delete(@PathVariable Integer id) { ExamPaper examPaper = examPaperService.getById(id); examPaperService.updateById(examPaper); baseMapper.deleteById(id); return Result.ok(); } } src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
@@ -27,19 +27,13 @@ private Integer subjectId; /** * 试卷类型( 1固定试卷 4.时段试卷 6.任务试卷) * 试卷类型( 1固定试卷 2.随即试卷 3.随序试卷) */ @TableField("paper_type") private Integer paperType; /** * 年级 */ @TableField("grade_level") private Integer gradeLevel; /** * 试卷总分(千分制) * 试卷总分 */ @TableField("score") private Integer score; @@ -51,43 +45,16 @@ private Integer questionCount; /** * 题目分数 */ @TableField("question_score") private Integer questionScore; /** * 建议时长(分钟) */ @TableField("suggest_time") private Integer suggestTime; /** * 时段试卷 开始时间 */ @TableField("limit_start_time") private Date limitStartTime; /** * 时段试卷 结束时间 */ @TableField("limit_end_time") private Date limitEndTime; /** * 试卷框架 内容为JSON */ @TableField("frame_text_content_id") private Integer frameTextContentId; @TableField("create_user") private Integer createUser; @TableField("create_time") private Date createTime; @TableField("task_exam_id") private Integer taskExamId; /** * 可见性,公开/私有 src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java
@@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.ycl.jxkg.domain.base.AbsEntity; import io.swagger.models.auth.In; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * 随机试卷模板表 @@ -13,22 +15,10 @@ @TableName("t_exam_template") public class ExamTemplate extends AbsEntity { /** * 模板名 * 试卷id * */ @TableField("name") private String name; /** * 学科 * */ @TableField("subject_id") private Integer subjectId; /** * 建议考试时长 * */ @TableField("suggest_time") private Integer suggestTime; @TableField("exam_paper_id") private Integer examPaperId; /** * 单选题数量 @@ -66,27 +56,27 @@ @TableField("calculation") private Integer calculation; /** * 总分 * */ @TableField("score") private Integer score; /** 单选每题分数 */ @TableField("single_score") private BigDecimal singleScore; /** * 多选扣分类型 * */ @TableField("deduct_type") private String deductType; /** 多选每题分数 */ @TableField("multiple_score") private BigDecimal multipleScore; /** * 创建时间 * */ @TableField("create_time") private Date createTime; /** 填空每题分数 */ @TableField("gap_score") private BigDecimal gapScore; /** * 创建人 * */ @TableField("create_user") private Integer createUser; /** 判断每题分数 */ @TableField("trueFalse_score") private BigDecimal trueFalseScore; /** 简答每题分数 */ @TableField("shortAnswer_score") private BigDecimal shortAnswerScore; /** 计算每题分数 */ @TableField("calculation_score") private BigDecimal calculationScore; } src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java
@@ -9,6 +9,8 @@ private Integer id; private String name; private Integer subjectId; private Integer level; src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java
@@ -3,6 +3,8 @@ import lombok.Data; import java.util.Date; @Data public class ExamResponseVO { @@ -22,6 +24,5 @@ private Integer paperType; private Integer frameTextContentId; private Integer suggestTime; } src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamTemplateVO.java
@@ -18,14 +18,8 @@ @Data public class ExamTemplateVO extends AbsVo { /** 模板名称 */ private String name; /** 试卷科目 */ private Integer subjectId; /** 考试时长(分钟) */ private Integer suggestTime; /** 试卷id */ private Integer examPaperId; /** 单选题数量 */ private Integer singleChoice; @@ -45,34 +39,22 @@ /** 计算题数量 */ private Integer calculation; /** 试卷总分 */ private Integer score; /** 多选题扣分方式 */ private String deductType; /** 创建人 */ private Integer createUser; /** 创建时间 */ private Date createTime; /** */ /** 单选每题分数 */ private BigDecimal singleScore; /** */ /** 多选每题分数 */ private BigDecimal multipleScore; /** */ /** 填空每题分数 */ private BigDecimal gapScore; /** */ /** 判断每题分数 */ private BigDecimal trueFalseScore; /** */ /** 简答每题分数 */ private BigDecimal shortAnswerScore; /** */ /** 计算每题分数 */ private BigDecimal calculationScore; public static ExamTemplateVO getVoByEntity(@NonNull ExamTemplate entity, ExamTemplateVO vo) { src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
@@ -66,27 +66,28 @@ if (null != examPaperAnswer) return null; } String frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()).getContent(); List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent, ExamPaperTitleItemObject.class); List<Integer> questionIds = examPaperTitleItemObjects.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList()); List<Question> questions = questionMapper.selectByIds(questionIds); //将题目结构的转化为题目答案 List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperTitleItemObjects.stream() .flatMap(t -> t.getQuestionItems().stream() .map(q -> { Question question = questions.stream().filter(tq -> tq.getId().equals(q.getId())).findFirst().get(); ExamPaperSubmitItemVO customerQuestionAnswer = examPaperSubmitVO.getAnswerItems().stream() .filter(tq -> tq.getQuestionId().equals(q.getId())) .findFirst() .orElse(null); return ExamPaperQuestionCustomerAnswerFromVM(question, customerQuestionAnswer, examPaper, q.getItemOrder(), user, now); }) ).collect(Collectors.toList()); ExamPaperAnswer examPaperAnswer = ExamPaperAnswerFromVM(examPaperSubmitVO, examPaper, examPaperQuestionCustomerAnswers, user, now); examPaperAnswerInfo.setExamPaper(examPaper); examPaperAnswerInfo.setExamPaperAnswer(examPaperAnswer); examPaperAnswerInfo.setExamPaperQuestionCustomerAnswers(examPaperQuestionCustomerAnswers); //TODO:待完成 // String frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()).getContent(); // List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent, ExamPaperTitleItemObject.class); // List<Integer> questionIds = examPaperTitleItemObjects.stream().flatMap(t -> t.getQuestionItems().stream().map(q -> q.getId())).collect(Collectors.toList()); // List<Question> questions = questionMapper.selectByIds(questionIds); // //将题目结构的转化为题目答案 // List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers = examPaperTitleItemObjects.stream() // .flatMap(t -> t.getQuestionItems().stream() // .map(q -> { // Question question = questions.stream().filter(tq -> tq.getId().equals(q.getId())).findFirst().get(); // ExamPaperSubmitItemVO customerQuestionAnswer = examPaperSubmitVO.getAnswerItems().stream() // .filter(tq -> tq.getQuestionId().equals(q.getId())) // .findFirst() // .orElse(null); // return ExamPaperQuestionCustomerAnswerFromVM(question, customerQuestionAnswer, examPaper, q.getItemOrder(), user, now); // }) // ).collect(Collectors.toList()); // // ExamPaperAnswer examPaperAnswer = ExamPaperAnswerFromVM(examPaperSubmitVO, examPaper, examPaperQuestionCustomerAnswers, user, now); // examPaperAnswerInfo.setExamPaper(examPaper); // examPaperAnswerInfo.setExamPaperAnswer(examPaperAnswer); // examPaperAnswerInfo.setExamPaperQuestionCustomerAnswers(examPaperQuestionCustomerAnswers); return examPaperAnswerInfo; } @@ -119,18 +120,19 @@ ExamPaperTypeEnum examPaperTypeEnum = ExamPaperTypeEnum.fromCode(examPaperAnswer.getPaperType()); switch (examPaperTypeEnum) { case RandomOrder: //TODO:待完成 //任务试卷批改完成后,需要更新任务的状态 ExamPaper examPaper = examPaperMapper.selectById(examPaperAnswer.getExamPaperId()); Integer taskId = examPaper.getTaskExamId(); Integer userId = examPaperAnswer.getCreateUser(); TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId); TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId()); List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class); taskItemAnswerObjects.stream() .filter(d -> d.getExamPaperAnswerId().equals(examPaperAnswer.getId())) .findFirst().ifPresent(taskItemAnswerObject -> taskItemAnswerObject.setStatus(examPaperAnswer.getStatus())); textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null); textContentService.updateById(textContent); // ExamPaper examPaper = examPaperMapper.selectById(examPaperAnswer.getExamPaperId()); // Integer taskId = examPaper.getTaskExamId(); // Integer userId = examPaperAnswer.getCreateUser(); // TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId); // TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId()); // List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class); // taskItemAnswerObjects.stream() // .filter(d -> d.getExamPaperAnswerId().equals(examPaperAnswer.getId())) // .findFirst().ifPresent(taskItemAnswerObject -> taskItemAnswerObject.setStatus(examPaperAnswer.getStatus())); // textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null); // textContentService.updateById(textContent); break; default: break; @@ -239,25 +241,26 @@ Integer systemScore = examPaperQuestionCustomerAnswers.stream().mapToInt(a -> a.getCustomerScore()).sum(); long questionCorrect = examPaperQuestionCustomerAnswers.stream().filter(a -> a.getCustomerScore().equals(a.getQuestionScore())).count(); ExamPaperAnswer examPaperAnswer = new ExamPaperAnswer(); examPaperAnswer.setPaperName(examPaper.getName()); examPaperAnswer.setDoTime(examPaperSubmitVO.getDoTime()); examPaperAnswer.setExamPaperId(examPaper.getId()); examPaperAnswer.setCreateUser(user.getId()); examPaperAnswer.setCreateTime(now); examPaperAnswer.setSubjectId(examPaper.getSubjectId()); examPaperAnswer.setQuestionCount(examPaper.getQuestionCount()); examPaperAnswer.setPaperScore(examPaper.getScore()); examPaperAnswer.setPaperType(examPaper.getPaperType()); examPaperAnswer.setSystemScore(systemScore); examPaperAnswer.setUserScore(systemScore); examPaperAnswer.setTaskExamId(examPaper.getTaskExamId()); examPaperAnswer.setQuestionCorrect((int) questionCorrect); boolean needJudge = examPaperQuestionCustomerAnswers.stream().anyMatch(d -> QuestionTypeEnum.needSaveTextContent(d.getQuestionType())); if (needJudge) { examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.WaitJudge.getCode()); } else { examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.Complete.getCode()); } //TODO:待完成 // examPaperAnswer.setPaperName(examPaper.getName()); // examPaperAnswer.setDoTime(examPaperSubmitVO.getDoTime()); // examPaperAnswer.setExamPaperId(examPaper.getId()); // examPaperAnswer.setCreateUser(user.getId()); // examPaperAnswer.setCreateTime(now); // examPaperAnswer.setSubjectId(examPaper.getSubjectId()); // examPaperAnswer.setQuestionCount(examPaper.getQuestionCount()); // examPaperAnswer.setPaperScore(examPaper.getScore()); // examPaperAnswer.setPaperType(examPaper.getPaperType()); // examPaperAnswer.setSystemScore(systemScore); // examPaperAnswer.setUserScore(systemScore); // examPaperAnswer.setTaskExamId(examPaper.getTaskExamId()); // examPaperAnswer.setQuestionCorrect((int) questionCorrect); // boolean needJudge = examPaperQuestionCustomerAnswers.stream().anyMatch(d -> QuestionTypeEnum.needSaveTextContent(d.getQuestionType())); // if (needJudge) { // examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.WaitJudge.getCode()); // } else { // examPaperAnswer.setStatus(ExamPaperAnswerStatusEnum.Complete.getCode()); // } return examPaperAnswer; } src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java
@@ -85,16 +85,16 @@ frameTextContent.setContent(frameTextContentStr); frameTextContent.setCreateTime(now); textContentService.save(frameTextContent); examPaper.setFrameTextContentId(frameTextContent.getId()); examPaper.setCreateTime(now); examPaper.setCreateUser(user.getId()); examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM); examPaperMapper.insert(examPaper); } else { examPaper = examPaperMapper.selectById(examPaperEditRequestVO.getId()); TextContent frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()); frameTextContent.setContent(frameTextContentStr); textContentService.updateById(frameTextContent); //TODO:待完成 // TextContent frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()); // frameTextContent.setContent(frameTextContentStr); // textContentService.updateById(frameTextContent); examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM); examPaperMapper.updateById(examPaper); } @@ -106,32 +106,32 @@ ExamPaper examPaper = examPaperMapper.selectById(id); ExamPaperEditRequestVO vo = new ExamPaperEditRequestVO(); BeanUtils.copyProperties(examPaper, vo); vo.setLevel(examPaper.getGradeLevel()); TextContent frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()); List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent.getContent(), ExamPaperTitleItemObject.class); List<Integer> questionIds = examPaperTitleItemObjects.stream() .flatMap(t -> t.getQuestionItems().stream() .map(q -> q.getId())) .collect(Collectors.toList()); List<Question> questions = questionMapper.selectByIds(questionIds); List<ExamPaperTitleItemVO> examPaperTitleItemVOS = examPaperTitleItemObjects.stream().map(t -> { ExamPaperTitleItemVO tTitleVM = new ExamPaperTitleItemVO(); BeanUtils.copyProperties(t, tTitleVM); List<QuestionEditRequestVO> questionItemsVM = t.getQuestionItems().stream().map(i -> { Question question = questions.stream().filter(q -> q.getId().equals(i.getId())).findFirst().get(); QuestionEditRequestVO questionEditRequestVO = questionService.getQuestionEditRequestVM(question); questionEditRequestVO.setItemOrder(i.getItemOrder()); return questionEditRequestVO; }).collect(Collectors.toList()); tTitleVM.setQuestionItems(questionItemsVM); return tTitleVM; }).collect(Collectors.toList()); vo.setTitleItems(examPaperTitleItemVOS); vo.setScore(ExamUtil.scoreToVM(examPaper.getScore())); if (ExamPaperTypeEnum.Random == ExamPaperTypeEnum.fromCode(examPaper.getPaperType())) { List<String> limitDateTime = Arrays.asList(DateTimeUtil.dateFormat(examPaper.getLimitStartTime()), DateTimeUtil.dateFormat(examPaper.getLimitEndTime())); vo.setLimitDateTime(limitDateTime); } //TODO:待完成 // TextContent frameTextContent = textContentService.getById(examPaper.getFrameTextContentId()); // List<ExamPaperTitleItemObject> examPaperTitleItemObjects = JsonUtil.toJsonListObject(frameTextContent.getContent(), ExamPaperTitleItemObject.class); // List<Integer> questionIds = examPaperTitleItemObjects.stream() // .flatMap(t -> t.getQuestionItems().stream() // .map(q -> q.getId())) // .collect(Collectors.toList()); // List<Question> questions = questionMapper.selectByIds(questionIds); // List<ExamPaperTitleItemVO> examPaperTitleItemVOS = examPaperTitleItemObjects.stream().map(t -> { // ExamPaperTitleItemVO tTitleVM = new ExamPaperTitleItemVO(); // BeanUtils.copyProperties(t, tTitleVM); // List<QuestionEditRequestVO> questionItemsVM = t.getQuestionItems().stream().map(i -> { // Question question = questions.stream().filter(q -> q.getId().equals(i.getId())).findFirst().get(); // QuestionEditRequestVO questionEditRequestVO = questionService.getQuestionEditRequestVM(question); // questionEditRequestVO.setItemOrder(i.getItemOrder()); // return questionEditRequestVO; // }).collect(Collectors.toList()); // tTitleVM.setQuestionItems(questionItemsVM); // return tTitleVM; // }).collect(Collectors.toList()); // vo.setTitleItems(examPaperTitleItemVOS); // vo.setScore(ExamUtil.scoreToVM(examPaper.getScore())); // if (ExamPaperTypeEnum.Random == ExamPaperTypeEnum.fromCode(examPaper.getPaperType())) { // List<String> limitDateTime = Arrays.asList(DateTimeUtil.dateFormat(examPaper.getLimitStartTime()), DateTimeUtil.dateFormat(examPaper.getLimitEndTime())); // vo.setLimitDateTime(limitDateTime); // } return vo; } @@ -159,21 +159,22 @@ } private void examPaperFromVM(ExamPaperEditRequestVO examPaperEditRequestVO, ExamPaper examPaper, List<ExamPaperTitleItemVO> titleItemsVM) { Integer gradeLevel = subjectService.levelBySubjectId(examPaperEditRequestVO.getSubjectId()); Integer questionCount = titleItemsVM.stream() .mapToInt(t -> t.getQuestionItems().size()).sum(); Integer score = titleItemsVM.stream(). flatMapToInt(t -> t.getQuestionItems().stream() .mapToInt(q -> ExamUtil.scoreFromVM(q.getScore())) ).sum(); examPaper.setQuestionCount(questionCount); examPaper.setScore(score); examPaper.setGradeLevel(gradeLevel); List<String> dateTimes = examPaperEditRequestVO.getLimitDateTime(); if (ExamPaperTypeEnum.Random == ExamPaperTypeEnum.fromCode(examPaper.getPaperType())) { examPaper.setLimitStartTime(DateTimeUtil.parse(dateTimes.get(0), DateTimeUtil.STANDER_FORMAT)); examPaper.setLimitEndTime(DateTimeUtil.parse(dateTimes.get(1), DateTimeUtil.STANDER_FORMAT)); } //TODO:待完成 // Integer gradeLevel = subjectService.levelBySubjectId(examPaperEditRequestVO.getSubjectId()); // Integer questionCount = titleItemsVM.stream() // .mapToInt(t -> t.getQuestionItems().size()).sum(); // Integer score = titleItemsVM.stream(). // flatMapToInt(t -> t.getQuestionItems().stream() // .mapToInt(q -> ExamUtil.scoreFromVM(q.getScore())) // ).sum(); // examPaper.setQuestionCount(questionCount); // examPaper.setScore(score); // examPaper.setGradeLevel(gradeLevel); // List<String> dateTimes = examPaperEditRequestVO.getLimitDateTime(); // if (ExamPaperTypeEnum.Random == ExamPaperTypeEnum.fromCode(examPaper.getPaperType())) { // examPaper.setLimitStartTime(DateTimeUtil.parse(dateTimes.get(0), DateTimeUtil.STANDER_FORMAT)); // examPaper.setLimitEndTime(DateTimeUtil.parse(dateTimes.get(1), DateTimeUtil.STANDER_FORMAT)); // } } private List<ExamPaperTitleItemObject> frameTextContentFromVM(List<ExamPaperTitleItemVO> titleItems) { src/main/java/com/ycl/jxkg/service/impl/TaskExamCustomerAnswerImpl.java
@@ -26,34 +26,35 @@ @Override public void insertOrUpdate(ExamPaper examPaper, ExamPaperAnswer examPaperAnswer, Date now) { Integer taskId = examPaper.getTaskExamId(); Integer userId = examPaperAnswer.getCreateUser(); TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId); if (null == taskExamCustomerAnswer) { taskExamCustomerAnswer = new TaskExamCustomerAnswer(); taskExamCustomerAnswer.setCreateTime(now); taskExamCustomerAnswer.setCreateUser(userId); taskExamCustomerAnswer.setTaskExamId(taskId); TaskItemAnswerObject taskItemAnswerObject = new TaskItemAnswerObject(); taskItemAnswerObject.setExamPaperId(examPaperAnswer.getExamPaperId()); taskItemAnswerObject.setExamPaperAnswerId(examPaperAnswer.getId()); taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()); List<TaskItemAnswerObject> taskItemAnswerObjects = Arrays.asList(taskItemAnswerObject); TextContent textContent = textContentService.jsonConvertInsert(taskItemAnswerObjects, now, null); textContentService.save(textContent); taskExamCustomerAnswer.setTextContentId(textContent.getId()); baseMapper.insert(taskExamCustomerAnswer); } else { TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId()); List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class); TaskItemAnswerObject taskItemAnswerObject = new TaskItemAnswerObject(); taskItemAnswerObject.setExamPaperId(examPaperAnswer.getExamPaperId()); taskItemAnswerObject.setExamPaperAnswerId(examPaperAnswer.getId()); taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()); taskItemAnswerObjects.add(taskItemAnswerObject); textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null); textContentService.updateById(textContent); } //TODO:待完成 // Integer taskId = examPaper.getTaskExamId(); // Integer userId = examPaperAnswer.getCreateUser(); // TaskExamCustomerAnswer taskExamCustomerAnswer = taskExamCustomerAnswerMapper.getByTUid(taskId, userId); // if (null == taskExamCustomerAnswer) { // taskExamCustomerAnswer = new TaskExamCustomerAnswer(); // taskExamCustomerAnswer.setCreateTime(now); // taskExamCustomerAnswer.setCreateUser(userId); // taskExamCustomerAnswer.setTaskExamId(taskId); // TaskItemAnswerObject taskItemAnswerObject = new TaskItemAnswerObject(); // taskItemAnswerObject.setExamPaperId(examPaperAnswer.getExamPaperId()); // taskItemAnswerObject.setExamPaperAnswerId(examPaperAnswer.getId()); // taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()); // List<TaskItemAnswerObject> taskItemAnswerObjects = Arrays.asList(taskItemAnswerObject); // TextContent textContent = textContentService.jsonConvertInsert(taskItemAnswerObjects, now, null); // textContentService.save(textContent); // taskExamCustomerAnswer.setTextContentId(textContent.getId()); // baseMapper.insert(taskExamCustomerAnswer); // } else { // TextContent textContent = textContentService.getById(taskExamCustomerAnswer.getTextContentId()); // List<TaskItemAnswerObject> taskItemAnswerObjects = JsonUtil.toJsonListObject(textContent.getContent(), TaskItemAnswerObject.class); // TaskItemAnswerObject taskItemAnswerObject = new TaskItemAnswerObject(); // taskItemAnswerObject.setExamPaperId(examPaperAnswer.getExamPaperId()); // taskItemAnswerObject.setExamPaperAnswerId(examPaperAnswer.getId()); // taskItemAnswerObject.setStatus(examPaperAnswer.getStatus()); // taskItemAnswerObjects.add(taskItemAnswerObject); // textContentService.jsonConvertUpdate(textContent, taskItemAnswerObjects, null); // textContentService.updateById(textContent); // } } @Override src/main/resources/mapper/ExamPaperMapper.xml
@@ -6,31 +6,25 @@ <result column="name" jdbcType="VARCHAR" property="name"/> <result column="subject_id" jdbcType="INTEGER" property="subjectId"/> <result column="paper_type" jdbcType="INTEGER" property="paperType"/> <result column="grade_level" jdbcType="INTEGER" property="gradeLevel"/> <result column="score" jdbcType="INTEGER" property="score"/> <result column="question_count" jdbcType="INTEGER" property="questionCount"/> <result column="suggest_time" jdbcType="INTEGER" property="suggestTime"/> <result column="limit_start_time" jdbcType="TIMESTAMP" property="limitStartTime"/> <result column="limit_end_time" jdbcType="TIMESTAMP" property="limitEndTime"/> <result column="frame_text_content_id" jdbcType="INTEGER" property="frameTextContentId"/> <result column="visibility" jdbcType="INTEGER" property="visibility"/> <result column="deduct_type" jdbcType="INTEGER" property="deductType"/> <result column="create_user" jdbcType="INTEGER" property="createUser"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> <result column="deleted" jdbcType="BIT" property="deleted"/> <result column="task_exam_id" jdbcType="INTEGER" property="taskExamId"/> </resultMap> <sql id="Base_Column_List"> id , name, subject_id, paper_type, grade_level, score, question_count, suggest_time, limit_start_time, limit_end_time, frame_text_content_id, create_user, create_time, deleted, task_exam_id id, name, subject_id, paper_type, score, question_count, suggest_time,visibility ,deduct_type,create_user, create_time,deleted </sql> <resultMap id="PaperInfoResultMap" type="com.ycl.jxkg.domain.vo.student.dashboard.PaperInfo"> <id column="id" jdbcType="INTEGER" property="id"/> <result column="name" jdbcType="VARCHAR" property="name"/> <result column="limit_start_time" jdbcType="TIMESTAMP" property="limitStartTime"/> <result column="limit_end_time" jdbcType="TIMESTAMP" property="limitEndTime"/> </resultMap> @@ -43,8 +37,8 @@ <if test="id != null "> and id= #{id} </if> <if test="level != null "> and grade_level= #{level} <if test="name != null and name != ''"> and name like concat('%',#{name},'%') </if> <if test="subjectId != null "> and subject_id= #{subjectId} @@ -62,8 +56,6 @@ FROM t_exam_paper <where> and deleted=0 and task_exam_id is null and grade_level= #{level} and paper_type=#{paperType} </where> </select> src/main/resources/mapper/ExamTemplateMapper.xml
@@ -4,25 +4,19 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.vo.admin.exam.ExamTemplateVO"> <result column="name" property="name" /> <result column="subject_id" property="subjectId" /> <result column="suggest_time" property="suggestTime" /> <result column="exam_paper_id" property="examPaperId" /> <result column="single_choice" property="singleChoice" /> <result column="multiple_choice" property="multipleChoice" /> <result column="gap_filling" property="gapFilling" /> <result column="true_false" property="trueFalse" /> <result column="short_answer" property="shortAnswer" /> <result column="calculation" property="calculation" /> <result column="score" property="score" /> <result column="deduct_type" property="deductType" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <result column="single_score" property="singleScore" /> <result column="multiple_score" property="multipleScore" /> <result column="gap_score" property="gapScore" /> <result column="true_false_score" property="trueFalseScore" /> <result column="short_answer_score" property="shortAnswerScore" /> <result column="calculation__score" property="calculationScore" /> <result column="calculation_score" property="calculationScore" /> </resultMap> @@ -33,19 +27,13 @@ <select id="getById" resultMap="BaseResultMap"> SELECT TET.name, TET.subject_id, TET.suggest_time, TET.exam_paper_id, TET.single_choice, TET.multiple_choice, TET.gap_filling, TET.true_false, TET.short_answer, TET.calculation, TET.score, TET.deduct_type, TET.create_user, TET.create_time, TET.single_score, TET.multiple_score, TET.gap_score, @@ -62,19 +50,13 @@ <select id="getPage" resultMap="BaseResultMap"> SELECT TET.name, TET.subject_id, TET.suggest_time, TET.exam_paper_id, TET.single_choice, TET.multiple_choice, TET.gap_filling, TET.true_false, TET.short_answer, TET.calculation, TET.score, TET.deduct_type, TET.create_user, TET.create_time, TET.single_score, TET.multiple_score, TET.gap_score,