src/main/java/com/ycl/jxkg/controller/admin/ExamPaperAnswerController.java
@@ -3,19 +3,12 @@ import com.github.pagehelper.PageInfo; import com.ycl.jxkg.base.BaseApiController; import com.ycl.jxkg.base.Result; import com.ycl.jxkg.domain.entity.ExamPaperAnswer; import com.ycl.jxkg.domain.entity.Subject; import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.service.ExamPaperAnswerService; import com.ycl.jxkg.service.SubjectService; import com.ycl.jxkg.service.UserService; import com.ycl.jxkg.utils.DateTimeUtil; import com.ycl.jxkg.utils.ExamUtil; import com.ycl.jxkg.utils.PageInfoHelper; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @RequiredArgsConstructor @@ -34,22 +27,7 @@ @RequestMapping(value = "/page", method = RequestMethod.POST) public Result<PageInfo<ExamPaperAnswerPageResponseVO>> pageJudgeList(@RequestBody ExamPaperAnswerPageRequestVO model) { PageInfo<ExamPaperAnswer> pageInfo = examPaperAnswerService.adminPage(model); PageInfo<ExamPaperAnswerPageResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> { ExamPaperAnswerPageResponseVO vo = new ExamPaperAnswerPageResponseVO(); BeanUtils.copyProperties(e, vo); Subject subject = subjectService.getById(vo.getSubjectId()); vo.setDoTime(ExamUtil.secondToVM(e.getDoTime())); vo.setSystemScore(ExamUtil.scoreToVM(e.getSystemScore())); vo.setUserScore(ExamUtil.scoreToVM(e.getUserScore())); vo.setPaperScore(ExamUtil.scoreToVM(e.getPaperScore())); vo.setSubjectName(subject.getName()); vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); User user = userService.getById(e.getCreateUser()); vo.setUserName(user.getUserName()); return vo; }); return Result.ok(page); return Result.ok(examPaperAnswerService.adminPage(model)); } src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java
@@ -14,4 +14,6 @@ private String name; private String userName; } src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerPageResponseVO.java
@@ -43,4 +43,9 @@ */ private Integer personAnswerNum; /** * 建议时长 */ private Integer suggestTime; } src/main/java/com/ycl/jxkg/mapper/ExamPaperAnswerMapper.java
@@ -23,7 +23,7 @@ ExamPaperAnswer getByPidUid(@Param("pid") Integer paperId, @Param("uid") Integer uid); List<ExamPaperAnswer> adminPage(ExamPaperAnswerPageRequestVO requestVM); List<ExamPaperAnswerPageResponseVO> adminPage(ExamPaperAnswerPageRequestVO requestVM); List<ExamPaperAnswerPageResponseVO> pageExamPaper(ExamPaperAnswerPageRequestVO model); } src/main/java/com/ycl/jxkg/service/ExamPaperAnswerService.java
@@ -52,7 +52,7 @@ List<Integer> selectMothCount(); PageInfo<ExamPaperAnswer> adminPage(ExamPaperAnswerPageRequestVO requestVM); PageInfo<ExamPaperAnswerPageResponseVO> adminPage(ExamPaperAnswerPageRequestVO requestVM); /** * 答卷列表 src/main/java/com/ycl/jxkg/service/impl/ExamPaperAnswerServiceImpl.java
@@ -265,8 +265,8 @@ @Override public PageInfo<ExamPaperAnswer> adminPage(ExamPaperAnswerPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() -> public PageInfo<ExamPaperAnswerPageResponseVO> adminPage(ExamPaperAnswerPageRequestVO requestVM) { return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize()).doSelectPageInfo(() -> examPaperAnswerMapper.adminPage(requestVM)); } src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -65,17 +65,18 @@ </select> <select id="adminPage" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO"> <select id="adminPage" resultType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO"> SELECT <include refid="Base_Column_List"/> FROM t_exam_paper_answer a.id , exam_paper_id, paper_name, paper_type, system_score, user_score DIV 10 AS user_score, paper_score DIV 10 AS paper_score, question_correct, question_count, do_time, a.status, create_user, a.create_time, b.real_name AS userName FROM t_exam_paper_answer a LEFT JOIN t_user b ON a.create_user = b.id <where> <if test="subjectId != null and subjectId.size() > 0"> AND subject_id IN <foreach collection="subjectId" item="item" open="(" separator="," close=")">#{item}</foreach> </if> <if test="examPaperId != null"> AND exam_paper_id = #{examPaperId} </if> <if test="userName != null and userName != ''"> AND INSTR(b.real_name, #{userName}) </if> </where> </select> @@ -84,10 +85,11 @@ SELECT a.id, a.name AS paperName, a.score AS systemScore, a.score DIV 10 AS systemScore, a.question_count, a.subject_id, a.paper_type, a.suggest_time, b.name AS subjectName, c.real_name AS userName, IFNULL(COUNT(d.id), 0) AS personAnswerNum,