src/main/java/com/ycl/jxkg/controller/admin/ExamPaperScoreController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/admin/paper/UserAnswerPageRequestVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/UserAnswerPageResponseVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ExamPaperScoreMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/controller/admin/ExamPaperScoreController.java
@@ -10,8 +10,10 @@ import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperMarkNavbarVO; import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperScoreVO; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerExportVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO; import com.ycl.jxkg.service.ExamPaperScoreService; import com.ycl.jxkg.service.UserService; import com.ycl.jxkg.utils.ExcelUtils; @@ -24,6 +26,9 @@ import java.util.List; import java.util.Objects; /** * @author gonghl */ @RequiredArgsConstructor @RestController("AdminExamPaperAnswerController") @RequestMapping(value = "/api/admin/examPaperAnswer") @@ -42,6 +47,11 @@ return Result.ok(examPaperScoreService.adminPage(model)); } @PostMapping("/pageUser") public Result<PageInfo<UserAnswerPageResponseVO>> pageUser(@RequestBody UserAnswerPageRequestVO model) { return Result.ok(examPaperScoreService.pageUser(model)); } @RequestMapping(value = "/exportExcel", method = RequestMethod.POST) @SneakyThrows public void exportExcel(ExamPaperAnswerPageRequestVO model, HttpServletResponse response) { src/main/java/com/ycl/jxkg/domain/vo/admin/paper/ExamPaperAnswerPageRequestVO.java
@@ -18,6 +18,8 @@ private String userName; private Integer userId; private String examName; } src/main/java/com/ycl/jxkg/domain/vo/admin/paper/UserAnswerPageRequestVO.java
New file @@ -0,0 +1,17 @@ package com.ycl.jxkg.domain.vo.admin.paper; import com.ycl.jxkg.base.BasePage; import lombok.Data; /** * @author gonghl */ @Data public class UserAnswerPageRequestVO extends BasePage { /** * 用户姓名 */ private String name; } src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/ExamPaperAnswerExportVO.java
@@ -16,6 +16,12 @@ @ContentStyle(horizontalAlignment= HorizontalAlignmentEnum.CENTER) public class ExamPaperAnswerExportVO { @ExcelProperty("考试名称") private String examName; @ExcelProperty("试卷名称") private String paperName; @ExcelProperty("姓名") private String userName; src/main/java/com/ycl/jxkg/domain/vo/student/exampaper/UserAnswerPageResponseVO.java
New file @@ -0,0 +1,17 @@ package com.ycl.jxkg.domain.vo.student.exampaper; import lombok.Data; /** * @author gonghl */ @Data public class UserAnswerPageResponseVO { private Integer id; private String userName; private Integer examCount; } src/main/java/com/ycl/jxkg/mapper/ExamPaperScoreMapper.java
@@ -4,8 +4,10 @@ import com.ycl.jxkg.domain.entity.ExamPaperScore; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO; import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -28,4 +30,6 @@ List<ExamPaperAnswerPageResponseVO> pageExamPaper(ExamPaperAnswerPageRequestVO model); ExamPaperScore getByExamIdUserId(@Param("examId") Integer examId, @Param("userId") Integer userId); List<UserAnswerPageResponseVO> pageUser(UserAnswerPageRequestVO model); } src/main/java/com/ycl/jxkg/service/ExamPaperScoreService.java
@@ -6,9 +6,11 @@ import com.ycl.jxkg.domain.entity.ExamPaperScore; import com.ycl.jxkg.domain.entity.User; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO; import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO; import java.util.List; @@ -68,4 +70,11 @@ * @return 数据 */ PageInfo<ExamPaperAnswerPageResponseVO> pageExamPaper(ExamPaperAnswerPageRequestVO model); /** * 用户列表 * @param model 查询条件 * @return 数据 */ PageInfo<UserAnswerPageResponseVO> pageUser(UserAnswerPageRequestVO model); } src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java
@@ -7,10 +7,12 @@ import com.ycl.jxkg.domain.entity.*; import com.ycl.jxkg.domain.other.KeyValue; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitItemVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO; import com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageVO; import com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO; import com.ycl.jxkg.enums.ExamPaperTypeEnum; import com.ycl.jxkg.enums.QuestionTypeEnum; import com.ycl.jxkg.mapper.ExamPaperMapper; @@ -284,4 +286,10 @@ return PageHelper.startPage(model.getPageIndex(), model.getPageSize()).doSelectPageInfo(() -> examPaperScoreMapper.pageExamPaper(model)); } @Override public PageInfo<UserAnswerPageResponseVO> pageUser(UserAnswerPageRequestVO model) { return PageHelper.startPage(model.getPageIndex(), model.getPageSize()).doSelectPageInfo(() -> examPaperScoreMapper.pageUser(model)); } } src/main/resources/mapper/ExamPaperScoreMapper.xml
@@ -97,14 +97,22 @@ <select id="adminPage" resultType="com.ycl.jxkg.domain.vo.student.exampaper.ExamPaperAnswerPageResponseVO"> SELECT a.id, a.exam_name, a.score, a.total_score, a.question_correct, a.question_count, a.do_time, a.status, a.submit_time, b.real_name AS userName, c.name as paperName a.id, a.exam_name, a.score, a.total_score, a.question_correct, a.question_count, a.do_time, a.status, IF(a.status = 0, a.submit_time, '缺考') AS submitTime, b.real_name AS userName, c.name AS paperName FROM t_exam_paper_score a INNER JOIN t_user b ON a.user_id = b.id AND b.deleted = 0 INNER JOIN t_exam_paper c ON a.paper_id = c.id AND c.deleted = 0 <where> exam_id = #{examId} <if test="examId != null and examId != ''"> AND a.exam_id = #{examId} </if> <if test="userId != null and userId != ''"> AND a.user_id = #{userId} </if> <if test="userName != null and userName != ''"> AND INSTR(b.real_name, #{userName}) </if> <if test="examName != null and examName != ''"> AND INSTR(a.exam_name, #{examName}) </if> </where> </select> @@ -146,4 +154,17 @@ ORDER BY t.id DESC </select> <select id="pageUser" resultType="com.ycl.jxkg.domain.vo.student.exampaper.UserAnswerPageResponseVO"> SELECT a.id, a.real_name AS userName, COUNT(b.id) AS examCount FROM t_user a LEFT JOIN t_exam_paper_score b ON a.id = b.user_id AND b.deleted = 0 <where> a.deleted = 0 AND a.role = 1 <if test="name != null and name != ''"> AND INSTR(a.real_name, #{name}) </if> </where> GROUP BY a.id </select> </mapper>