diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/ExamWordsController.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/ExamWordsController.java index a90374c..e417b13 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/ExamWordsController.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/ExamWordsController.java @@ -8,9 +8,7 @@ import com.yinlihupo.enlish.service.domain.dataobject.ExamWordsDO; import com.yinlihupo.enlish.service.domain.dataobject.ExamWordsJudgeResultDO; import com.yinlihupo.enlish.service.domain.dataobject.VocabularyBankDO; import com.yinlihupo.enlish.service.model.bo.Word; -import com.yinlihupo.enlish.service.model.vo.exam.ExamWordsResultReqVO; -import com.yinlihupo.enlish.service.model.vo.exam.ExamWordsResultRspVO; -import com.yinlihupo.enlish.service.model.vo.exam.GenerateExamWordsReqVO; +import com.yinlihupo.enlish.service.model.vo.exam.*; import com.yinlihupo.enlish.service.service.ExamWordsJudgeService; import com.yinlihupo.enlish.service.service.ExamWordsService; import com.yinlihupo.enlish.service.service.VocabularyService; @@ -142,4 +140,25 @@ public class ExamWordsController { ).toList(); return PageResponse.success(list, page, total, size); } + + @PostMapping("detail") + @ApiOperationLog(description = "获取试卷结果详情") + Response getExamWordsResultDetail(@RequestBody ExamWordsDetailResultReqVO examWordsDetailResultReqVO) { + Integer id = examWordsDetailResultReqVO.getId(); + ExamWordsJudgeResultDO examWordsJudgeResultDO = examWordsJudgeService.getExamWordsJudgeResultDOById(id); + ExamWordsDetailResultRspVO examWordsDetailResultRspVO = ExamWordsDetailResultRspVO.builder() + .id(id) + .studentId(examWordsJudgeResultDO.getStudentId()) + .examWordsId(examWordsJudgeResultDO.getExamWordsId()) + .startDate(examWordsJudgeResultDO.getStartDate()) + .correctWordCount(examWordsJudgeResultDO.getCorrectWordCount()) + .wrongWordCount(examWordsJudgeResultDO.getWrongWordCount()) + .isFinished(examWordsJudgeResultDO.getIsFinished()) + .errorMsg(examWordsJudgeResultDO.getErrorMsg()) + .correctWordIds(examWordsJudgeResultDO.getCorrectWordIds()) + .wrongWordIds(examWordsJudgeResultDO.getWrongWordIds()) + .build(); + + return Response.success(examWordsDetailResultRspVO); + } } diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java index 73c1e74..c4cee3b 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java @@ -18,4 +18,6 @@ public interface ExamWordsJudgeResultDOMapper { List selectByPage(@Param("startIndex") Integer startIndex, @Param("pageSize") Integer pageSize); Integer selectCount(); + + ExamWordsJudgeResultDO selectDetailById(@Param("id") Integer id); } \ No newline at end of file diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultReqVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultReqVO.java new file mode 100644 index 0000000..85a4c8d --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultReqVO.java @@ -0,0 +1,14 @@ +package com.yinlihupo.enlish.service.model.vo.exam; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class ExamWordsDetailResultReqVO { + private Integer id; +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultRspVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultRspVO.java new file mode 100644 index 0000000..9d88af2 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/exam/ExamWordsDetailResultRspVO.java @@ -0,0 +1,34 @@ +package com.yinlihupo.enlish.service.model.vo.exam; + +import lombok.*; + +import java.time.LocalDateTime; +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class ExamWordsDetailResultRspVO { + private Integer id; + + private String ansSheetPath; + + private Integer studentId; + + private Integer examWordsId; + + private Integer correctWordCount; + + private Integer wrongWordCount; + + private Integer isFinished; + + private LocalDateTime startDate; + + private List correctWordIds; + + private List wrongWordIds; + + private String errorMsg; +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java index ef2ab81..3bf55b1 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java @@ -11,4 +11,6 @@ public interface ExamWordsJudgeService { List getExamWordsJudgeResult(Integer page, Integer pageSize); Integer getExamWordsJudgeResultCount(); + + ExamWordsJudgeResultDO getExamWordsJudgeResultDOById(Integer id); } diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java index 737fa02..a98f87a 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java @@ -139,4 +139,9 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { public Integer getExamWordsJudgeResultCount() { return examWordsJudgeResultDOMapper.selectCount(); } + + @Override + public ExamWordsJudgeResultDO getExamWordsJudgeResultDOById(Integer id) { + return examWordsJudgeResultDOMapper.selectDetailById(id); + } } diff --git a/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml b/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml index 6c7516e..bfee8d3 100644 --- a/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml +++ b/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml @@ -61,5 +61,10 @@ select count(1) from exam_words_judge_result + \ No newline at end of file diff --git a/enlish-vue/src/api/exam.js b/enlish-vue/src/api/exam.js index b40794e..cbdd2b4 100644 --- a/enlish-vue/src/api/exam.js +++ b/enlish-vue/src/api/exam.js @@ -9,4 +9,10 @@ export function getExamWordsResult(page, size) { page: page, size: size }) -} \ No newline at end of file +} + +export function getExamWordsDetailResult(id) { + return axios.post('/exam/words/detail', { + id: id + }) +} diff --git a/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue b/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue new file mode 100644 index 0000000..1347b01 --- /dev/null +++ b/enlish-vue/src/layouts/components/ExamWordsDetailCard.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/enlish-vue/src/pages/uploadpng.vue b/enlish-vue/src/pages/uploadpng.vue index 834c077..2829bff 100644 --- a/enlish-vue/src/pages/uploadpng.vue +++ b/enlish-vue/src/pages/uploadpng.vue @@ -24,6 +24,7 @@ border class="w-full" v-loading="loading" + @row-click="handleRowClick" > @@ -53,6 +54,7 @@ + @@ -62,6 +64,7 @@