he2802 3 роки тому
батько
коміт
4568395e76
30 змінених файлів з 337 додано та 28 видалено
  1. 16 5
      zhongzheng-api/src/main/java/com/zhongzheng/controller/collect/CollectQuestionController.java
  2. 51 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/exam/ExamPaperController.java
  3. 3 2
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserExamRecordController.java
  4. 3 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserExamWrongRecordController.java
  5. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamAddBo.java
  6. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamEditBo.java
  7. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Exam.java
  8. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/ExamQuestionVo.java
  9. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/ExamVo.java
  10. 3 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/mapper/CollectQuestionMapper.java
  11. 4 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/service/ICollectQuestionService.java
  12. 7 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/service/impl/CollectQuestionServiceImpl.java
  13. 3 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordAddBo.java
  14. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordEditBo.java
  15. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordQueryBo.java
  16. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamWrongRecordQueryBo.java
  17. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserExamRecord.java
  18. 7 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserExamRecordMapper.java
  19. 8 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserExamWrongRecordMapper.java
  20. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserExamRecordService.java
  21. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserExamWrongRecordService.java
  22. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamRecordServiceImpl.java
  23. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamWrongRecordServiceImpl.java
  24. 20 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserExamRecordVo.java
  25. 6 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserExamWrongRecordVo.java
  26. 2 0
      zhongzheng-system/src/main/resources/mapper/modules/bank/ExamMapper.xml
  27. 8 1
      zhongzheng-system/src/main/resources/mapper/modules/bank/ExamQuestionMapper.xml
  28. 30 9
      zhongzheng-system/src/main/resources/mapper/modules/collect/CollectQuestionMapper.xml
  29. 36 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserExamRecordMapper.xml
  30. 53 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserExamWrongRecordMapper.xml

+ 16 - 5
zhongzheng-api/src/main/java/com/zhongzheng/controller/collect/CollectQuestionController.java

@@ -12,6 +12,7 @@ import com.zhongzheng.modules.collect.bo.CollectQuestionAddBo;
 import com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo;
 import com.zhongzheng.modules.collect.domain.CollectQuestion;
 import com.zhongzheng.modules.collect.service.ICollectQuestionService;
+import com.zhongzheng.modules.collect.vo.CollectQuestionVo;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -43,23 +44,33 @@ public class CollectQuestionController extends BaseController {
      */
     @ApiOperation("查询收藏题目列表,按题型")
     @GetMapping("/list")
-    public TableDataInfo<QuestionVo> list(CollectQuestionQueryBo bo) {
+    public TableDataInfo<CollectQuestionVo> list(CollectQuestionQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         startPage();
-        List<QuestionVo> list = iCollectQuestionService.selectList(bo);
+        List<CollectQuestionVo> list = iCollectQuestionService.selectList(bo);
         return getDataTable(list);
     }
     /**
      * 查询收藏题目列表
      */
-    @ApiOperation("查询收藏题目列表,按试卷")
+    @ApiOperation("查询收藏列表,按试卷")
     @GetMapping("/exam_list")
-    public TableDataInfo<QuestionVo> exam_list(CollectQuestionQueryBo bo) {
+    public TableDataInfo<CollectQuestionVo> exam_list(CollectQuestionQueryBo bo) {
         ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
         bo.setUserId(loginUser.getUser().getUserId());
         startPage();
-        List<QuestionVo> list = iCollectQuestionService.selectExamList(bo);
+        List<CollectQuestionVo> list = iCollectQuestionService.selectExamList(bo);
+        return getDataTable(list);
+    }
+
+    @ApiOperation("按试卷获取收藏题目列表详情")
+    @GetMapping("/exam_question_list")
+    public TableDataInfo<QuestionVo> exam_question_list(CollectQuestionQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        startPage();
+        List<QuestionVo> list = iCollectQuestionService.selectExamQuestionList(bo);
         return getDataTable(list);
     }
 

+ 51 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/exam/ExamPaperController.java

@@ -0,0 +1,51 @@
+package com.zhongzheng.controller.exam;
+
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.exam.bo.ExamPaperAddBo;
+import com.zhongzheng.modules.exam.bo.ExamPaperEditBo;
+import com.zhongzheng.modules.exam.bo.ExamPaperQueryBo;
+import com.zhongzheng.modules.exam.service.IExamPaperService;
+import com.zhongzheng.modules.exam.vo.ExamPaperVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 试卷类型Controller
+ *
+ * @author ruoyi
+ * @date 2021-10-18
+ */
+@Api(value = "试卷类型控制器", tags = {"试卷类型管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/exam/paper")
+public class ExamPaperController extends BaseController {
+
+    private final IExamPaperService iExamPaperService;
+
+    /**
+     * 查询试卷类型列表
+     */
+    @ApiOperation("查询试卷类型列表")
+    @GetMapping("/list")
+    public TableDataInfo<ExamPaperVo> list(ExamPaperQueryBo bo) {
+        bo.setStatus(new ArrayList<Integer>(Arrays.asList(1)));
+        startPage();
+        List<ExamPaperVo> list = iExamPaperService.queryList(bo);
+        return getDataTable(list);
+    }
+
+
+}

+ 3 - 2
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserExamRecordController.java

@@ -51,11 +51,12 @@ public class UserExamRecordController extends BaseController {
      * 查询用户的题库试卷做题历史列表
      */
     @ApiOperation("查询用户的题库试卷做题历史列表")
-    @PreAuthorize("@ss.hasPermi('system:record:list')")
     @GetMapping("/list")
     public TableDataInfo<UserExamRecordVo> list(UserExamRecordQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
         startPage();
-        List<UserExamRecordVo> list = iUserExamRecordService.queryList(bo);
+        List<UserExamRecordVo> list = iUserExamRecordService.selectList(bo);
         return getDataTable(list);
     }
 

+ 3 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserExamWrongRecordController.java

@@ -53,8 +53,10 @@ public class UserExamWrongRecordController extends BaseController {
     @ApiOperation("查询用户我的题库错题记录列表")
     @GetMapping("/list")
     public TableDataInfo<UserExamWrongRecordVo> list(UserExamWrongRecordQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
         startPage();
-        List<UserExamWrongRecordVo> list = iUserExamWrongRecordService.queryList(bo);
+        List<UserExamWrongRecordVo> list = iUserExamWrongRecordService.selectList(bo);
         return getDataTable(list);
     }
 

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamAddBo.java

@@ -72,4 +72,7 @@ public class ExamAddBo {
     /** 排序 */
     @ApiModelProperty("排序")
     private Integer sort;
+    /** 做卷类型  1测试 2考试 */
+    @ApiModelProperty("做卷类型  1测试 2考试")
+    private Integer doType;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/bo/ExamEditBo.java

@@ -91,4 +91,8 @@ public class ExamEditBo {
     @ApiModelProperty("排序")
     private Integer sort;
 
+    /** 做卷类型  1测试 2考试 */
+    @ApiModelProperty("做卷类型  1测试 2考试")
+    private Integer doType;
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Exam.java

@@ -58,4 +58,7 @@ private static final long serialVersionUID=1L;
     private Long answerNum;
 
     private Integer sort;
+
+    /** 做卷类型  1测试 2考试 */
+    private Integer doType;
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/ExamQuestionVo.java

@@ -111,6 +111,18 @@ public class ExamQuestionVo {
 	@Excel(name = "编码")
 	@ApiModelProperty("编码")
 	private String code;
+	/** 答题时长 分钟数 默认0无限 */
+	@Excel(name = "答题时长 分钟数 默认0无限")
+	@ApiModelProperty("答题时长 分钟数 默认0无限")
+	private Long answerTime;
+	/** 答题次数 0无限 */
+	@Excel(name = "答题次数 0无限")
+	@ApiModelProperty("答题次数 0无限")
+	private Long answerNum;
+	/** 及格分 */
+	@Excel(name = "及格分")
+	@ApiModelProperty("及格分")
+	private BigDecimal passScore;
 
 	/** 业务层级列表 */
 	@ApiModelProperty("业务层级列表")

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/vo/ExamVo.java

@@ -119,4 +119,9 @@ public class ExamVo {
 
 	@ApiModelProperty("商品列表")
 	private List<ExamGoodsVo> goodsList;
+
+	/** 做卷类型  1测试 2考试 */
+	@Excel(name = "做卷类型  1测试 2考试")
+	@ApiModelProperty("做题类型  1测试 2考试")
+	private Integer doType;
 }

+ 3 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/mapper/CollectQuestionMapper.java

@@ -16,8 +16,9 @@ import java.util.List;
  */
 public interface CollectQuestionMapper extends BaseMapper<CollectQuestion> {
 
-    List<QuestionVo> selectList(CollectQuestionQueryBo bo);
+    List<CollectQuestionVo> selectList(CollectQuestionQueryBo bo);
 
-    List<QuestionVo> selectExamList(CollectQuestionQueryBo bo);
+    List<CollectQuestionVo> selectExamList(CollectQuestionQueryBo bo);
 
+    List<QuestionVo> selectExamQuestionList(CollectQuestionQueryBo bo);
 }

+ 4 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/service/ICollectQuestionService.java

@@ -28,14 +28,16 @@ public interface ICollectQuestionService extends IService<CollectQuestion> {
 
 	CollectQuestion queryQuestionById(Long userID, Long questionId, Long examId,Long goodsId);
 
-	List<QuestionVo> selectExamList(CollectQuestionQueryBo bo);
+	List<CollectQuestionVo> selectExamList(CollectQuestionQueryBo bo);
 
 	/**
 	 * 查询列表
 	 */
 	List<CollectQuestionVo> queryList(CollectQuestionQueryBo bo);
 
-	List<QuestionVo> selectList(CollectQuestionQueryBo bo);
+	List<CollectQuestionVo> selectList(CollectQuestionQueryBo bo);
+
+	List<QuestionVo> selectExamQuestionList(CollectQuestionQueryBo bo);
 
 
 

+ 7 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/collect/service/impl/CollectQuestionServiceImpl.java

@@ -62,7 +62,7 @@ public class CollectQuestionServiceImpl extends ServiceImpl<CollectQuestionMappe
     }
 
     @Override
-    public List<QuestionVo> selectExamList(CollectQuestionQueryBo bo) {
+    public List<CollectQuestionVo> selectExamList(CollectQuestionQueryBo bo) {
         return collectQuestionMapper.selectExamList(bo);
     }
 
@@ -75,10 +75,15 @@ public class CollectQuestionServiceImpl extends ServiceImpl<CollectQuestionMappe
     }
 
     @Override
-    public List<QuestionVo> selectList(CollectQuestionQueryBo bo) {
+    public List<CollectQuestionVo> selectList(CollectQuestionQueryBo bo) {
         return collectQuestionMapper.selectList(bo);
     }
 
+    @Override
+    public List<QuestionVo> selectExamQuestionList(CollectQuestionQueryBo bo) {
+        return collectQuestionMapper.selectExamQuestionList(bo);
+    }
+
 
     /**
     * 实体类转化成视图对象

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordAddBo.java

@@ -46,5 +46,7 @@ public class UserExamRecordAddBo {
     /** 历史做题JSON */
     @ApiModelProperty("历史做题JSON")
     private String historyExamJson;
-
+    /** 试卷总题数 */
+    @ApiModelProperty("试卷总题数")
+    private Long totalQuestionNum;
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordEditBo.java

@@ -54,4 +54,10 @@ public class UserExamRecordEditBo {
     @ApiModelProperty("历史做题JSON")
     private String historyExamJson;
 
+    /** 试卷总题数 */
+    @ApiModelProperty("试卷总题数")
+    private Long totalQuestionNum;
+    /** 做对总题数 */
+    @ApiModelProperty("做对总题数")
+    private Long rightQuestionNum;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamRecordQueryBo.java

@@ -54,5 +54,8 @@ public class UserExamRecordQueryBo extends BaseEntity {
 	/** 分数 */
 	@ApiModelProperty("分数")
 	private Long performance;
+	@ApiModelProperty("试卷类型ID")
+	private Long paperId;
+
 
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserExamWrongRecordQueryBo.java

@@ -51,4 +51,8 @@ public class UserExamWrongRecordQueryBo extends BaseEntity {
 	/** 试卷ID */
 	@ApiModelProperty("试卷ID")
 	private Integer examId;
+
+	/** 类型 1单选 2多选 3判断题  4案列题  5简答题*/
+	@ApiModelProperty("类型 1单选 2多选 3判断题 4案列题  5简答题")
+	private Integer type;
 }

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserExamRecord.java

@@ -46,5 +46,8 @@ private static final long serialVersionUID=1L;
     private Long performance;
     /** 历史做题JSON */
     private String historyExamJson;
-
+    /** 试卷总题数 */
+    private Long totalQuestionNum;
+    /** 做对总题数 */
+    private Long rightQuestionNum;
 }

+ 7 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserExamRecordMapper.java

@@ -1,7 +1,13 @@
 package com.zhongzheng.modules.user.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamRecord;
+import com.zhongzheng.modules.user.vo.UserExamRecordVo;
+
+import java.util.List;
 
 /**
  * 用户的题库试卷做题历史Mapper接口
@@ -10,5 +16,5 @@ import com.zhongzheng.modules.user.domain.UserExamRecord;
  * @date 2021-12-15
  */
 public interface UserExamRecordMapper extends BaseMapper<UserExamRecord> {
-
+    List<UserExamRecordVo> selectList(UserExamRecordQueryBo bo);
 }

+ 8 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserExamWrongRecordMapper.java

@@ -1,7 +1,13 @@
 package com.zhongzheng.modules.user.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
+import com.zhongzheng.modules.user.bo.UserExamWrongRecordQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamWrongRecord;
+import com.zhongzheng.modules.user.vo.UserExamRecordVo;
+import com.zhongzheng.modules.user.vo.UserExamWrongRecordVo;
+
+import java.util.List;
 
 /**
  * 用户我的题库错题记录Mapper接口
@@ -10,5 +16,6 @@ import com.zhongzheng.modules.user.domain.UserExamWrongRecord;
  * @date 2021-12-15
  */
 public interface UserExamWrongRecordMapper extends BaseMapper<UserExamWrongRecord> {
-
+    List<UserExamWrongRecordVo> selectList(UserExamWrongRecordQueryBo bo);
+    List<UserExamWrongRecordVo> selectQuestionList(UserExamWrongRecordQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserExamRecordService.java

@@ -28,6 +28,8 @@ public interface IUserExamRecordService extends IService<UserExamRecord> {
 	 */
 	List<UserExamRecordVo> queryList(UserExamRecordQueryBo bo);
 
+	List<UserExamRecordVo> selectList(UserExamRecordQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入用户的题库试卷做题历史
 	 * @param bo 用户的题库试卷做题历史新增业务对象

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserExamWrongRecordService.java

@@ -1,10 +1,12 @@
 package com.zhongzheng.modules.user.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
 import com.zhongzheng.modules.user.bo.UserExamWrongRecordAddBo;
 import com.zhongzheng.modules.user.bo.UserExamWrongRecordEditBo;
 import com.zhongzheng.modules.user.bo.UserExamWrongRecordQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamWrongRecord;
+import com.zhongzheng.modules.user.vo.UserExamRecordVo;
 import com.zhongzheng.modules.user.vo.UserExamWrongRecordVo;
 
 import java.util.Collection;
@@ -28,6 +30,10 @@ public interface IUserExamWrongRecordService extends IService<UserExamWrongRecor
 	 */
 	List<UserExamWrongRecordVo> queryList(UserExamWrongRecordQueryBo bo);
 
+	List<UserExamWrongRecordVo> selectList(UserExamWrongRecordQueryBo bo);
+
+	List<UserExamWrongRecordVo> selectQuestionList(UserExamWrongRecordQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入用户我的题库错题记录
 	 * @param bo 用户我的题库错题记录新增业务对象

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamRecordServiceImpl.java

@@ -8,8 +8,10 @@ import com.zhongzheng.modules.user.bo.UserExamRecordEditBo;
 import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamRecord;
 import com.zhongzheng.modules.user.mapper.UserExamRecordMapper;
+import com.zhongzheng.modules.user.mapper.UserSubscribeMapper;
 import com.zhongzheng.modules.user.service.IUserExamRecordService;
 import com.zhongzheng.modules.user.vo.UserExamRecordVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -30,6 +32,9 @@ import java.util.stream.Collectors;
 @Service
 public class UserExamRecordServiceImpl extends ServiceImpl<UserExamRecordMapper, UserExamRecord> implements IUserExamRecordService {
 
+    @Autowired
+    private UserExamRecordMapper userExamRecordMapper;
+
     @Override
     public UserExamRecordVo queryById(Long recordId){
         UserExamRecord db = this.baseMapper.selectById(recordId);
@@ -48,6 +53,11 @@ public class UserExamRecordServiceImpl extends ServiceImpl<UserExamRecordMapper,
         return entity2Vo(this.list(lqw));
     }
 
+    @Override
+    public List<UserExamRecordVo> selectList(UserExamRecordQueryBo bo) {
+        return userExamRecordMapper.selectList(bo);
+    }
+
     /**
     * 实体类转化成视图对象
     *

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamWrongRecordServiceImpl.java

@@ -7,9 +7,11 @@ import com.zhongzheng.modules.user.bo.UserExamWrongRecordAddBo;
 import com.zhongzheng.modules.user.bo.UserExamWrongRecordEditBo;
 import com.zhongzheng.modules.user.bo.UserExamWrongRecordQueryBo;
 import com.zhongzheng.modules.user.domain.UserExamWrongRecord;
+import com.zhongzheng.modules.user.mapper.UserExamRecordMapper;
 import com.zhongzheng.modules.user.mapper.UserExamWrongRecordMapper;
 import com.zhongzheng.modules.user.service.IUserExamWrongRecordService;
 import com.zhongzheng.modules.user.vo.UserExamWrongRecordVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -30,6 +32,9 @@ import java.util.stream.Collectors;
 @Service
 public class UserExamWrongRecordServiceImpl extends ServiceImpl<UserExamWrongRecordMapper, UserExamWrongRecord> implements IUserExamWrongRecordService {
 
+    @Autowired
+    private UserExamWrongRecordMapper userExamWrongRecordMapper;
+
     @Override
     public UserExamWrongRecordVo queryById(Long wrongId){
         UserExamWrongRecord db = this.baseMapper.selectById(wrongId);
@@ -47,6 +52,16 @@ public class UserExamWrongRecordServiceImpl extends ServiceImpl<UserExamWrongRec
         return entity2Vo(this.list(lqw));
     }
 
+    @Override
+    public List<UserExamWrongRecordVo> selectList(UserExamWrongRecordQueryBo bo) {
+        return userExamWrongRecordMapper.selectList(bo);
+    }
+
+    @Override
+    public List<UserExamWrongRecordVo> selectQuestionList(UserExamWrongRecordQueryBo bo) {
+        return userExamWrongRecordMapper.selectQuestionList(bo);
+    }
+
     /**
     * 实体类转化成视图对象
     *

+ 20 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserExamRecordVo.java

@@ -1,5 +1,7 @@
 package com.zhongzheng.modules.user.vo;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -52,4 +54,22 @@ public class UserExamRecordVo {
 	@Excel(name = "历史做题JSON")
 	@ApiModelProperty("历史做题JSON")
 	private String historyExamJson;
+
+	@ApiModelProperty("试卷名")
+	private String examName;
+
+	@ApiModelProperty("试卷类型")
+	private String paperName;
+
+	/** 更新时间 */
+	@ApiModelProperty("更新时间")
+	private Long updateTime;
+	@Excel(name = "试卷总题数")
+	@ApiModelProperty("试卷总题数")
+	private Long totalQuestionNum;
+
+	/** 做对总题数 */
+	@Excel(name = "做对总题数")
+	@ApiModelProperty("做对总题数")
+	private Long rightQuestionNum;
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserExamWrongRecordVo.java

@@ -44,4 +44,10 @@ public class UserExamWrongRecordVo {
 	@Excel(name = "试卷ID")
 	@ApiModelProperty("试卷ID")
 	private Integer examId;
+
+	@ApiModelProperty("试卷名")
+	private String examName;
+
+	@ApiModelProperty("错题题数")
+	private Long wrongQuestionNum;
 }

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/ExamMapper.xml

@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="answerNum" column="answer_num"/>
         <result property="sort" column="sort"/>
         <result property="createBy" column="create_by"/>
+        <result property="doType" column="do_type"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.bank.vo.ExamVo" id="ExamVoResult">
@@ -49,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="subjectId" column="subject_id"/>
         <result property="projectId" column="project_id"/>
         <result property="subjectName" column="subject_name"/>
+        <result property="doType" column="do_type"/>
         <collection property="goodsList" column="exam_id" select="findGoodsList"/>
     </resultMap>
 

+ 8 - 1
zhongzheng-system/src/main/resources/mapper/modules/bank/ExamQuestionMapper.xml

@@ -31,6 +31,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="knowledgeIds" column="knowledge_ids"/>
         <result property="publishStatus" column="publish_status"/>
         <result property="code" column="code"/>
+        <result property="answerTime" column="answer_time"/>
+        <result property="examPaperId" column="exam_paper_id"/>
+        <result property="answerNum" column="answer_num"/>
         <collection property="businessList" javaType="java.util.List" resultMap="QuestionBusiness"/>
         <collection property="knowledgeList" javaType="java.util.List" resultMap="ExamKnowledge"/>
     </resultMap>
@@ -70,7 +73,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cb.business_name,
         cs.subject_name,
         ek.knowledge_name,
-        ek.knowledge_id
+        ek.knowledge_id,
+        e.pass_score,
+        e.answer_time,
+        e.answer_num
         FROM
         exam_question eq
         LEFT JOIN question q ON eq.question_id = q.question_id
@@ -79,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN course_project_type cpt ON qb.project_id = cpt.id
         LEFT JOIN course_business cb ON qb.business_id = cb.id
         LEFT JOIN course_subject cs ON cs.id = qb.subject_id
+        LEFT JOIN exam e ON e.exam_id = eq.exam_id
         LEFT JOIN exam_knowledge ek ON FIND_IN_SET( ek.knowledge_id, q.knowledge_ids )
         WHERE
               eq.exam_id =#{examId}

+ 30 - 9
zhongzheng-system/src/main/resources/mapper/modules/collect/CollectQuestionMapper.xml

@@ -24,6 +24,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="goodsId" column="goods_id"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.bank.vo.QuestionVo" id="QuestionResultVo">
+        <result property="questionId" column="question_id"/>
+        <result property="content" column="content"/>
+        <result property="type" column="type"/>
+        <result property="answerQuestion" column="answer_question"/>
+        <result property="status" column="status"/>
+        <result property="analysisContent" column="analysis_content"/>
+        <result property="imgUrl" column="img_url"/>
+        <result property="jsonStr" column="json_str"/>
+        <result property="prefixName" column="prefix_name"/>
+        <result property="knowledgeIds" column="knowledge_ids"/>
+        <result property="publishStatus" column="publish_status"/>
+        <result property="code" column="code"/>
+    </resultMap>
+
     <select id="selectList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo"  resultMap="CollectQuestionVoResult">
         SELECT
         q.*
@@ -32,9 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN question q ON cq.question_id = q.question_id
         WHERE
         1 = 1
-        <if test="userId != null and userId != ''">
-            AND user_id = #{userId}
-        </if>
+        AND cq.user_id = #{userId}
         <if test="type != null and type != ''">
             AND q.type = #{type}
         </if>
@@ -50,15 +63,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN exam e ON cq.exam_id = e.exam_id
         WHERE
         1 = 1
-        <if test="userId != null and userId != ''">
-            AND user_id = #{userId}
-        </if>
-        <if test="examId != null and examId != ''">
-            AND e.exam_id = #{examId}
-        </if>
+        AND cq.user_id = #{userId}
         GROUP BY
         e.exam_id
 
     </select>
 
+    <select id="selectExamQuestionList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo"  resultMap="QuestionResultVo">
+        SELECT
+        q.*
+        FROM
+        collect_question cq
+        LEFT JOIN question q ON q.question_id = cq.question_id
+        WHERE
+        1 = 1
+        AND cq.exam_id = #{examId}
+        AND cq.user_id = #{userId}
+
+    </select>
+
 </mapper>

+ 36 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserExamRecordMapper.xml

@@ -15,7 +15,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="reportStatus" column="report_status"/>
         <result property="performance" column="performance"/>
         <result property="historyExamJson" column="history_exam_json"/>
+        <result property="totalQuestionNum" column="total_question_num"/>
+        <result property="rightQuestionNum" column="right_question_num"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.user.vo.UserExamRecordVo" id="UserExamRecordVoResult">
+        <result property="recordId" column="record_id"/>
+        <result property="examId" column="exam_id"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="userId" column="user_id"/>
+        <result property="status" column="status"/>
+        <result property="goodsId" column="goods_id"/>
+        <result property="reportStatus" column="report_status"/>
+        <result property="performance" column="performance"/>
+        <result property="historyExamJson" column="history_exam_json"/>
+        <result property="totalQuestionNum" column="total_question_num"/>
+        <result property="rightQuestionNum" column="right_question_num"/>
+
+        <result property="examName" column="exam_name"/>
+        <result property="paperName" column="paper_name"/>
+    </resultMap>
 
+    <select id="selectList" parameterType="com.zhongzheng.modules.user.bo.UserExamRecordQueryBo" resultMap="UserExamRecordVoResult">
+        SELECT
+            ue.*,
+            e.exam_name,
+            ep.paper_name
+        FROM
+            user_exam_record ue
+                LEFT JOIN exam e ON ue.exam_id = e.exam_id
+                LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
+        WHERE
+            ue.user_id = #{userId}
+        <if test="paperId != null and paperId != ''">
+            AND ep.paper_id = #{paperId}
+        </if>
+        <if test="goodsId != null and goodsId != ''">
+            AND ue.goods_id = #{goodsId}
+        </if>
+    </select>
 </mapper>

+ 53 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserExamWrongRecordMapper.xml

@@ -15,5 +15,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.user.vo.UserExamWrongRecordVo" id="UserExamWrongRecordVoResult">
+        <result property="wrongId" column="wrong_id"/>
+        <result property="recordId" column="record_id"/>
+        <result property="questionId" column="question_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="goodsId" column="goods_id"/>
+        <result property="examId" column="exam_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+
+        <result property="examName" column="exam_name"/>
+        <result property="wrongQuestionNum" column="wrong_question_num"/>
+    </resultMap>
+
+    <select id="selectList" parameterType="com.zhongzheng.modules.user.bo.UserExamWrongRecordQueryBo" resultMap="UserExamWrongRecordVoResult">
+        SELECT
+        e.exam_name,
+        COUNT( DISTINCT uew.question_id ) AS question_num
+        FROM
+        user_exam_wrong_record uew
+        LEFT JOIN exam e ON uew.exam_id = e.exam_id
+        LEFT JOIN question q ON q.question_id = uew.question_id
+        WHERE
+        uew.user_id = #{userId}
+        <if test="type != null and type != ''">
+            AND q.type = #{type}
+        </if>
+        <if test="goodsId != null and goodsId != ''">
+            AND uew.goods_id = #{goodsId}
+        </if>
+        GROUP BY
+        e.exam_id
+    </select>
 
+    <select id="selectQuestionList" parameterType="com.zhongzheng.modules.user.bo.UserExamWrongRecordQueryBo" resultMap="UserExamWrongRecordVoResult">
+        SELECT
+        q.*
+        FROM
+        user_exam_wrong_record uew
+        LEFT JOIN question q ON q.question_id = uew.question_id
+        WHERE
+        uew.user_id = #{userId}
+        <if test="type != null and type != ''">
+            AND q.type = #{type}
+        </if>
+        <if test="goodsId != null and goodsId != ''">
+            AND uew.goods_id = #{goodsId}
+        </if>
+        <if test="examId != null and examId != ''">
+            AND uew.exam_id = #{examId}
+        </if>
+        GROUP BY
+        q.question_id
+    </select>
 </mapper>