Prechádzať zdrojové kódy

在线考试防切屏功能

yangfeng 2 rokov pred
rodič
commit
1bce07e0c5
32 zmenil súbory, kde vykonal 124 pridanie a 182 odobranie
  1. 0 1
      web/src/main/java/com/yntravelsky/buss/exam/exam/dto/AnswerCardDTO.java
  2. 12 0
      web/src/main/java/com/yntravelsky/buss/exam/exam/entity/Exam.java
  3. 7 1
      web/src/main/java/com/yntravelsky/buss/exam/exam/mapper/xml/ExamMapper.xml
  4. 1 1
      web/src/main/java/com/yntravelsky/buss/exam/examstatistics/service/IExamStatisticsService.java
  5. 12 28
      web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/controller/ExamUserStatisticsController.java
  6. 6 10
      web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/entity/ExamUserStatistics.java
  7. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/mapper/ExamUserStatisticsMapper.java
  8. 1 1
      web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/service/IExamUserStatisticsService.java
  9. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/service/impl/ExamUserStatisticsServiceImpl.java
  10. 7 10
      web/src/main/java/com/yntravelsky/buss/exam/paper/entity/Paper.java
  11. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/paper/mapper/PaperMapper.java
  12. 4 11
      web/src/main/java/com/yntravelsky/buss/exam/paperquestion/entity/PaperQuestion.java
  13. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/paperquestion/mapper/PaperQuestionMapper.java
  14. 8 11
      web/src/main/java/com/yntravelsky/buss/exam/paperruledetail/entity/PaperRuleDetail.java
  15. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/paperruledetail/mapper/PaperRuleDetailMapper.java
  16. 8 11
      web/src/main/java/com/yntravelsky/buss/exam/questionanswer/entity/QuestionAnswer.java
  17. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/questionanswer/mapper/QuestionAnswerMapper.java
  18. 1 1
      web/src/main/java/com/yntravelsky/buss/exam/questionanswer/service/IQuestionAnswerService.java
  19. 1 2
      web/src/main/java/com/yntravelsky/buss/exam/questionanswer/service/impl/QuestionAnswerServiceImpl.java
  20. 6 10
      web/src/main/java/com/yntravelsky/buss/exam/repository/entity/Repository.java
  21. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/repository/mapper/RepositoryMapper.java
  22. 1 1
      web/src/main/java/com/yntravelsky/buss/exam/repository/service/IRepositoryService.java
  23. 1 2
      web/src/main/java/com/yntravelsky/buss/exam/repository/service/impl/RepositoryServiceImpl.java
  24. 9 0
      web/src/main/java/com/yntravelsky/buss/exam/userexam/entity/UserExam.java
  25. 7 0
      web/src/main/java/com/yntravelsky/buss/exam/userexam/mapper/xml/UserExamMapper.xml
  26. 1 4
      web/src/main/java/com/yntravelsky/buss/exam/userexamquestion/mapper/UserExamQuestionMapper.java
  27. 0 2
      web/src/main/java/com/yntravelsky/buss/exam/userexamquestion/service/impl/UserExamQuestionServiceImpl.java
  28. 11 29
      web/src/main/java/com/yntravelsky/buss/exam/userexamresult/controller/UserExamResultController.java
  29. 11 10
      web/src/main/java/com/yntravelsky/buss/exam/userexamresult/entity/UserExamResult.java
  30. 2 4
      web/src/main/java/com/yntravelsky/buss/exam/userexamresult/mapper/UserExamResultMapper.java
  31. 0 2
      web/src/main/java/com/yntravelsky/buss/exam/userexamresult/service/IUserExamResultService.java
  32. 0 2
      web/src/main/java/com/yntravelsky/buss/exam/userexamresult/service/impl/UserExamResultServiceImpl.java

+ 0 - 1
web/src/main/java/com/yntravelsky/buss/exam/exam/dto/AnswerCardDTO.java

@@ -1,6 +1,5 @@
 package com.yntravelsky.buss.exam.exam.dto;
 
-import com.yntravelsky.buss.exam.userexamquestion.entity.UserExamQuestion;
 import lombok.Data;
 
 import java.util.List;

+ 12 - 0
web/src/main/java/com/yntravelsky/buss/exam/exam/entity/Exam.java

@@ -126,6 +126,18 @@ public class Exam implements Serializable {
     @ApiModelProperty(value = "考试者")
     private String examiner;
 
+    @Excel(name = "是否切屏检测", width = 15)
+    @ApiModelProperty(value = "是否切屏检测")
+    private Boolean leaveOn;
+
+    @Excel(name = "可以切屏的次数", width = 15)
+    @ApiModelProperty(value = "可以切屏的次数")
+    private Integer totalLeaveTimes;
+
+    @Excel(name = "切换到其他页面多长时间判定为切屏", width = 15)
+    @ApiModelProperty(value = "切换到其他页面多长时间判定为切屏")
+    private Integer leaveTime;
+
     @TableField(exist = false)
     private Paper paper;
 

+ 7 - 1
web/src/main/java/com/yntravelsky/buss/exam/exam/mapper/xml/ExamMapper.xml

@@ -11,6 +11,9 @@
                 e.total_score as exam_total_score,
                 e.qualify_score,
                 e.total_time,
+                e.leave_on,
+                e.total_leave_times,
+                e.leave_time,
                 p.id as exam_paper_id,
                 e.limit_count,
                 e.examiner,
@@ -42,6 +45,9 @@
         <result column="exam_paper_id" property="paperId" jdbcType="VARCHAR"/>
         <result column="limit_count" property="limitCount" jdbcType="INTEGER"/>
         <result column="examiner" property="examiner" jdbcType="VARCHAR"/>
+        <result column="leave_on" property="leaveOn" jdbcType="BOOLEAN"/>
+        <result column="total_leave_times" property="totalLeaveTimes" jdbcType="INTEGER"/>
+        <result column="leave_time" property="leaveTime" jdbcType="INTEGER"/>
 
         <association property="paper" javaType="com.yntravelsky.buss.exam.paper.entity.Paper">
             <id column="paper_id" property="id" jdbcType="VARCHAR"/>
@@ -100,6 +106,6 @@
             exam
         WHERE
             start_time &lt; now()
-            AND now() &lt; DATE_ADD(end_time , INTERVAL 3 HOUR)
+          AND now() &lt; DATE_ADD(end_time , INTERVAL 3 HOUR)
     </select>
 </mapper>

+ 1 - 1
web/src/main/java/com/yntravelsky/buss/exam/examstatistics/service/IExamStatisticsService.java

@@ -1,8 +1,8 @@
 package com.yntravelsky.buss.exam.examstatistics.service;
 
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.yntravelsky.buss.exam.examstatistics.dto.ExamStatisticsDTO;
 import com.yntravelsky.buss.exam.examstatistics.entity.ExamStatistics;
-import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
 

+ 12 - 28
web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/controller/ExamUserStatisticsController.java

@@ -1,41 +1,25 @@
 package com.yntravelsky.buss.exam.examuserstatistics.controller;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
-import com.yntravelsky.buss.exam.examuserstatistics.service.IExamUserStatisticsService;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
+import com.yntravelsky.buss.exam.examuserstatistics.service.IExamUserStatisticsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
 
  /**
  * @Description: 考试用户统计

+ 6 - 10
web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/entity/ExamUserStatistics.java

@@ -1,23 +1,19 @@
 package com.yntravelsky.buss.exam.examuserstatistics.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 考试用户统计

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/mapper/ExamUserStatisticsMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.examuserstatistics.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
 
 /**
  * @Description: 考试用户统计

+ 1 - 1
web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/service/IExamUserStatisticsService.java

@@ -1,7 +1,7 @@
 package com.yntravelsky.buss.exam.examuserstatistics.service;
 
-import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
 
 /**
  * @Description: 考试用户统计

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/examuserstatistics/service/impl/ExamUserStatisticsServiceImpl.java

@@ -1,15 +1,12 @@
 package com.yntravelsky.buss.exam.examuserstatistics.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.yntravelsky.buss.exam.examstatistics.entity.ExamStatistics;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yntravelsky.buss.exam.examuserstatistics.entity.ExamUserStatistics;
 import com.yntravelsky.buss.exam.examuserstatistics.mapper.ExamUserStatisticsMapper;
 import com.yntravelsky.buss.exam.examuserstatistics.service.IExamUserStatisticsService;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
 /**
  * @Description: 考试用户统计
  * @Author: jeecg-boot

+ 7 - 10
web/src/main/java/com/yntravelsky/buss/exam/paper/entity/Paper.java

@@ -1,23 +1,20 @@
 package com.yntravelsky.buss.exam.paper.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: paper

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/paper/mapper/PaperMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.paper.mapper;
 
-import java.util.List;
-
-import com.yntravelsky.buss.exam.paper.entity.Paper;
-import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.paper.entity.Paper;
 
 /**
  * @Description: paper

+ 4 - 11
web/src/main/java/com/yntravelsky/buss/exam/paperquestion/entity/PaperQuestion.java

@@ -1,23 +1,16 @@
 package com.yntravelsky.buss.exam.paperquestion.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
 
 /**
  * @Description: paper_question

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/paperquestion/mapper/PaperQuestionMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.paperquestion.mapper;
 
-import java.util.List;
-
-import com.yntravelsky.buss.exam.paperquestion.entity.PaperQuestion;
-import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.paperquestion.entity.PaperQuestion;
 
 /**
  * @Description: paper_question

+ 8 - 11
web/src/main/java/com/yntravelsky/buss/exam/paperruledetail/entity/PaperRuleDetail.java

@@ -1,20 +1,17 @@
 package com.yntravelsky.buss.exam.paperruledetail.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
 
 /**
  * @Description: paper_rule_detail

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/paperruledetail/mapper/PaperRuleDetailMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.paperruledetail.mapper;
 
-import java.util.List;
-
-import com.yntravelsky.buss.exam.paperruledetail.entity.PaperRuleDetail;
-import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.paperruledetail.entity.PaperRuleDetail;
 
 /**
  * @Description: paper_rule_detail

+ 8 - 11
web/src/main/java/com/yntravelsky/buss/exam/questionanswer/entity/QuestionAnswer.java

@@ -1,20 +1,17 @@
 package com.yntravelsky.buss.exam.questionanswer.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
 
 /**
  * @Description: question_answer

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/questionanswer/mapper/QuestionAnswerMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.questionanswer.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import com.yntravelsky.buss.exam.questionanswer.entity.QuestionAnswer;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.questionanswer.entity.QuestionAnswer;
 
 /**
  * @Description: question_answer

+ 1 - 1
web/src/main/java/com/yntravelsky/buss/exam/questionanswer/service/IQuestionAnswerService.java

@@ -1,7 +1,7 @@
 package com.yntravelsky.buss.exam.questionanswer.service;
 
-import com.yntravelsky.buss.exam.questionanswer.entity.QuestionAnswer;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yntravelsky.buss.exam.questionanswer.entity.QuestionAnswer;
 
 import java.util.List;
 

+ 1 - 2
web/src/main/java/com/yntravelsky/buss/exam/questionanswer/service/impl/QuestionAnswerServiceImpl.java

@@ -2,12 +2,11 @@ package com.yntravelsky.buss.exam.questionanswer.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yntravelsky.buss.exam.questionanswer.entity.QuestionAnswer;
 import com.yntravelsky.buss.exam.questionanswer.mapper.QuestionAnswerMapper;
 import com.yntravelsky.buss.exam.questionanswer.service.IQuestionAnswerService;
 import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;

+ 6 - 10
web/src/main/java/com/yntravelsky/buss/exam/repository/entity/Repository.java

@@ -1,23 +1,19 @@
 package com.yntravelsky.buss.exam.repository.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: repository

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/repository/mapper/RepositoryMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.repository.mapper;
 
-import java.util.List;
-
-import com.yntravelsky.buss.exam.repository.entity.Repository;
-import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.repository.entity.Repository;
 
 /**
  * @Description: repository

+ 1 - 1
web/src/main/java/com/yntravelsky/buss/exam/repository/service/IRepositoryService.java

@@ -1,7 +1,7 @@
 package com.yntravelsky.buss.exam.repository.service;
 
-import com.yntravelsky.buss.exam.repository.entity.Repository;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yntravelsky.buss.exam.repository.entity.Repository;
 
 /**
  * @Description: repository

+ 1 - 2
web/src/main/java/com/yntravelsky/buss/exam/repository/service/impl/RepositoryServiceImpl.java

@@ -1,12 +1,11 @@
 package com.yntravelsky.buss.exam.repository.service.impl;
 
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yntravelsky.buss.exam.repository.entity.Repository;
 import com.yntravelsky.buss.exam.repository.mapper.RepositoryMapper;
 import com.yntravelsky.buss.exam.repository.service.IRepositoryService;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
 /**
  * @Description: repository
  * @Author: jeecg-boot

+ 9 - 0
web/src/main/java/com/yntravelsky/buss/exam/userexam/entity/UserExam.java

@@ -140,4 +140,13 @@ public class UserExam implements Serializable {
 
     @TableField(exist = false)
     private List<UserExamQuestion> userExamQuestionList;
+
+    @TableField(exist = false)
+    private Boolean leaveOn;
+
+    @TableField(exist = false)
+    private Integer totalLeaveTimes;
+
+    @TableField(exist = false)
+    private Integer leaveTime;
 }

+ 7 - 0
web/src/main/java/com/yntravelsky/buss/exam/userexam/mapper/xml/UserExamMapper.xml

@@ -15,6 +15,9 @@
         <result column="total_score" property="totalScore" jdbcType="INTEGER"/>
         <result column="passed" property="passed" jdbcType="INTEGER"/>
         <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+        <result column="leave_on" property="leaveOn" jdbcType="BOOLEAN"/>
+        <result column="total_leave_times" property="totalLeaveTimes" jdbcType="INTEGER"/>
+        <result column="leave_time" property="leaveTime" jdbcType="INTEGER"/>
 
         <collection property="userExamQuestionList" ofType="com.yntravelsky.buss.exam.userexamquestion.entity.UserExamQuestion">
             <id column="ueq_id" property="id" jdbcType="VARCHAR"/>
@@ -45,6 +48,9 @@
             ue.total_score,
             ue.passed,
             ue.create_time,
+            e.leave_on,
+            e.total_leave_times,
+            e.leave_time,
             ueq.ID as ueq_id,
             ueq.user_exam_id,
             ueq.question_id,
@@ -58,6 +64,7 @@
             ueq.actual_score
         FROM
             user_exam ue
+        LEFT JOIN exam e ON ue.exam_id = e.id
         LEFT JOIN user_exam_question ueq ON ue.ID = ueq.user_exam_id
         WHERE
             ue.id =  #{id}

+ 1 - 4
web/src/main/java/com/yntravelsky/buss/exam/userexamquestion/mapper/UserExamQuestionMapper.java

@@ -1,10 +1,7 @@
 package com.yntravelsky.buss.exam.userexamquestion.mapper;
 
-import java.util.List;
-
-import com.yntravelsky.buss.exam.userexamquestion.entity.UserExamQuestion;
-import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yntravelsky.buss.exam.userexamquestion.entity.UserExamQuestion;
 
 /**
  * @Description: 用户考试试题

+ 0 - 2
web/src/main/java/com/yntravelsky/buss/exam/userexamquestion/service/impl/UserExamQuestionServiceImpl.java

@@ -1,7 +1,5 @@
 package com.yntravelsky.buss.exam.userexamquestion.service.impl;
 
-import cn.hutool.core.math.MathUtil;
-import cn.hutool.core.util.NumberUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yntravelsky.buss.exam.userexamquestion.entity.UserExamQuestion;

+ 11 - 29
web/src/main/java/com/yntravelsky/buss/exam/userexamresult/controller/UserExamResultController.java

@@ -1,41 +1,23 @@
 package com.yntravelsky.buss.exam.userexamresult.controller;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import com.yntravelsky.buss.exam.userexamresult.entity.UserExamResult;
-import com.yntravelsky.buss.exam.userexamresult.service.IUserExamResultService;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yntravelsky.buss.exam.userexamresult.entity.UserExamResult;
+import com.yntravelsky.buss.exam.userexamresult.service.IUserExamResultService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
 
  /**
  * @Description: 用户考试成绩

+ 11 - 10
web/src/main/java/com/yntravelsky/buss/exam/userexamresult/entity/UserExamResult.java

@@ -1,20 +1,21 @@
 package com.yntravelsky.buss.exam.userexamresult.entity;
 
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.math.BigDecimal;
-
-import com.baomidou.mybatisplus.annotation.*;
-import lombok.Data;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * @Description: 用户考试成绩

+ 2 - 4
web/src/main/java/com/yntravelsky/buss/exam/userexamresult/mapper/UserExamResultMapper.java

@@ -1,11 +1,9 @@
 package com.yntravelsky.buss.exam.userexamresult.mapper;
 
-import java.util.List;
-
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Param;
 import com.yntravelsky.buss.exam.userexamresult.entity.UserExamResult;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @Description: 用户考试成绩

+ 0 - 2
web/src/main/java/com/yntravelsky/buss/exam/userexamresult/service/IUserExamResultService.java

@@ -2,9 +2,7 @@ package com.yntravelsky.buss.exam.userexamresult.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yntravelsky.buss.exam.paperruledetail.entity.PaperRuleDetail;
 import com.yntravelsky.buss.exam.userexamresult.entity.UserExamResult;
-import org.jeecg.modules.system.entity.SysUser;
 
 import java.util.List;
 

+ 0 - 2
web/src/main/java/com/yntravelsky/buss/exam/userexamresult/service/impl/UserExamResultServiceImpl.java

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yntravelsky.buss.exam.paperruledetail.entity.PaperRuleDetail;
 import com.yntravelsky.buss.exam.userexamresult.entity.UserExamResult;
 import com.yntravelsky.buss.exam.userexamresult.mapper.UserExamResultMapper;
 import com.yntravelsky.buss.exam.userexamresult.service.IUserExamResultService;
-import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;