소스 검색

Merge branch 'dev' into release
111

wangliang 4 년 전
부모
커밋
0c44ba5b5d

+ 60 - 0
logs/themis-backend.log

@@ -0,0 +1,60 @@
+2020-09-15 18:06:13.372| main | INFO |  -  | Starting ThemisBackendApplication on kingdeMacBook-Air.local with PID 9068 (/Users/king/git/themis-server/themis-backend/target/classes started by king in /Users/king/git/themis-server) | [org.springframework.boot.StartupInfoLogger:55]
+2020-09-15 18:06:13.418| main | INFO |  -  | No active profile set, falling back to default profiles: default | [org.springframework.boot.SpringApplication:651]
+2020-09-15 18:06:18.407| main | INFO |  -  | Multiple Spring Data modules found, entering strict repository configuration mode! | [org.springframework.data.repository.config.RepositoryConfigurationDelegate:249]
+2020-09-15 18:06:18.427| main | INFO |  -  | Bootstrapping Spring Data Redis repositories in DEFAULT mode. | [org.springframework.data.repository.config.RepositoryConfigurationDelegate:127]
+2020-09-15 18:06:18.581| main | INFO |  -  | Finished Spring Data repository scanning in 43ms. Found 0 Redis repository interfaces. | [org.springframework.data.repository.config.RepositoryConfigurationDelegate:187]
+2020-09-15 18:06:18.933| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBAppMapper' and 'com.qmth.themis.business.dao.TBAppMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.934| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBAttachmentMapper' and 'com.qmth.themis.business.dao.TBAttachmentMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.935| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBClientVersionMapper' and 'com.qmth.themis.business.dao.TBClientVersionMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.935| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBExamInvigilateUserMapper' and 'com.qmth.themis.business.dao.TBExamInvigilateUserMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.935| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBOrgMapper' and 'com.qmth.themis.business.dao.TBOrgMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.936| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBPrivilegeMapper' and 'com.qmth.themis.business.dao.TBPrivilegeMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.936| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBRoleMapper' and 'com.qmth.themis.business.dao.TBRoleMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.936| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBRolePrivilegeMapper' and 'com.qmth.themis.business.dao.TBRolePrivilegeMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.936| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBSessionMapper' and 'com.qmth.themis.business.dao.TBSessionMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.936| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBTaskHistoryMapper' and 'com.qmth.themis.business.dao.TBTaskHistoryMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.937| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBUserMapper' and 'com.qmth.themis.business.dao.TBUserMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.937| main | WARN |  -  | Skipping MapperFactoryBean with name 'TBUserRoleMapper' and 'com.qmth.themis.business.dao.TBUserRoleMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.937| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEConfigMapper' and 'com.qmth.themis.business.dao.TEConfigMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.938| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamActivityMapper' and 'com.qmth.themis.business.dao.TEExamActivityMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.939| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamBreachLogMapper' and 'com.qmth.themis.business.dao.TEExamBreachLogMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.939| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamCourseMapper' and 'com.qmth.themis.business.dao.TEExamCourseMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.939| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamMapper' and 'com.qmth.themis.business.dao.TEExamMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.939| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamPaperMapper' and 'com.qmth.themis.business.dao.TEExamPaperMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.939| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamReexamAuditingMapper' and 'com.qmth.themis.business.dao.TEExamReexamAuditingMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.940| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamReexamMapper' and 'com.qmth.themis.business.dao.TEExamReexamMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.940| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamStudentLogMapper' and 'com.qmth.themis.business.dao.TEExamStudentLogMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.940| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEExamStudentMapper' and 'com.qmth.themis.business.dao.TEExamStudentMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.941| main | WARN |  -  | Skipping MapperFactoryBean with name 'TESimulatePaperMapper' and 'com.qmth.themis.business.dao.TESimulatePaperMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.941| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEStudentMapper' and 'com.qmth.themis.business.dao.TEStudentMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.941| main | WARN |  -  | Skipping MapperFactoryBean with name 'TEUserLogMapper' and 'com.qmth.themis.business.dao.TEUserLogMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.941| main | WARN |  -  | Skipping MapperFactoryBean with name 'TIeExamInvigilateCallLogMapper' and 'com.qmth.themis.business.dao.TIeExamInvigilateCallLogMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.942| main | WARN |  -  | Skipping MapperFactoryBean with name 'TIeExamInvigilateCallMapper' and 'com.qmth.themis.business.dao.TIeExamInvigilateCallMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.942| main | WARN |  -  | Skipping MapperFactoryBean with name 'TIeExamInvigilateNoticeMapper' and 'com.qmth.themis.business.dao.TIeExamInvigilateNoticeMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.943| main | WARN |  -  | Skipping MapperFactoryBean with name 'TIeInvigilateExceptionInfoMapper' and 'com.qmth.themis.business.dao.TIeInvigilateExceptionInfoMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.943| main | WARN |  -  | Skipping MapperFactoryBean with name 'TIeInvigilateWarnInfoMapper' and 'com.qmth.themis.business.dao.TIeInvigilateWarnInfoMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.943| main | WARN |  -  | Skipping MapperFactoryBean with name 'TMRocketMessageMapper' and 'com.qmth.themis.business.dao.TMRocketMessageMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.944| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeExamAnswerMapper' and 'com.qmth.themis.business.dao.TOeExamAnswerMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.944| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeExamBreakHistoryMapper' and 'com.qmth.themis.business.dao.TOeExamBreakHistoryMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.944| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeExamRecordMapper' and 'com.qmth.themis.business.dao.TOeExamRecordMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.944| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeExamSimulateHistoryMapper' and 'com.qmth.themis.business.dao.TOeExamSimulateHistoryMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.945| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeFaceVerifyHistoryMapper' and 'com.qmth.themis.business.dao.TOeFaceVerifyHistoryMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.945| main | WARN |  -  | Skipping MapperFactoryBean with name 'TOeLivenessVerifyHistoryMapper' and 'com.qmth.themis.business.dao.TOeLivenessVerifyHistoryMapper' mapperInterface. Bean already defined with the same name! | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:18.946| main | WARN |  -  | No MyBatis mapper was found in '[com.qmth.themis.business.dao]' package. Please check your configuration. | [org.mybatis.logging.Logger:44]
+2020-09-15 18:06:22.927| main | INFO |  -  | Tomcat initialized with port(s): 6001 (http) | [org.springframework.boot.web.embedded.tomcat.TomcatWebServer:108]
+2020-09-15 18:06:23.031| main | INFO |  -  | Initializing ProtocolHandler ["http-nio-6001"] | [org.apache.juli.logging.DirectJDKLog:173]
+2020-09-15 18:06:23.033| main | INFO |  -  | Starting service [Tomcat] | [org.apache.juli.logging.DirectJDKLog:173]
+2020-09-15 18:06:23.034| main | INFO |  -  | Starting Servlet engine: [Apache Tomcat/9.0.35] | [org.apache.juli.logging.DirectJDKLog:173]
+2020-09-15 18:06:23.526| main | INFO |  -  | Initializing Spring embedded WebApplicationContext | [org.apache.juli.logging.DirectJDKLog:173]
+2020-09-15 18:06:23.528| main | INFO |  -  | Root WebApplicationContext: initialization completed in 9700 ms | [org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext:284]
+2020-09-15 18:08:16.723| main | INFO |  -  | Initializing ExecutorService | [org.springframework.scheduling.concurrent.ExecutorConfigurationSupport:181]
+2020-09-15 18:08:16.736| main | INFO |  -  | Initializing ExecutorService | [org.springframework.scheduling.concurrent.ExecutorConfigurationSupport:181]
+2020-09-15 18:08:16.738| main | INFO |  -  | Initializing ExecutorService 'arbitrateThreadPool' | [org.springframework.scheduling.concurrent.ExecutorConfigurationSupport:181]
+2020-09-15 18:08:17.047| main | INFO |  -  | Initializing ExecutorService 'myThreadPool' | [org.springframework.scheduling.concurrent.ExecutorConfigurationSupport:181]
+2020-09-15 18:09:51.241| main | INFO |  -  | Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)] | [springfox.documentation.spring.web.PropertySourcedRequestMappingHandlerMapping:69]
+2020-09-15 18:10:32.514| main | INFO |  -  | Starting ProtocolHandler ["http-nio-6001"] | [org.apache.juli.logging.DirectJDKLog:173]
+2020-09-15 18:10:32.673| main | INFO |  -  | Tomcat started on port(s): 6001 (http) with context path '' | [org.springframework.boot.web.embedded.tomcat.TomcatWebServer:220]
+2020-09-15 18:10:32.689| main | INFO |  -  | Context refreshed | [springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160]
+2020-09-15 18:10:32.792| main | INFO |  -  | Found 1 custom documentation plugin(s) | [springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163]
+2020-09-15 18:10:33.254| main | INFO |  -  | Scanning for api listing references | [springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41]
+2020-09-15 18:10:41.117| main | INFO |  -  | Generating unique operation named: listUsingPOST_1 | [springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40]

+ 5 - 4
themis-business/src/main/java/com/qmth/themis/business/dto/response/TEExamActivityDto.java

@@ -5,6 +5,7 @@ import com.qmth.themis.business.cache.bean.ExamCacheBean;
 import com.qmth.themis.business.cache.bean.ExamCourseCacheBean;
 import com.qmth.themis.business.cache.bean.ExamCourseCacheBean;
 import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.enums.EntryAuthenticationPolicyEnum;
 import com.qmth.themis.business.enums.EntryAuthenticationPolicyEnum;
+import com.qmth.themis.business.enums.ExamModeEnum;
 import com.qmth.themis.business.enums.HardwareTestEnum;
 import com.qmth.themis.business.enums.HardwareTestEnum;
 import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
 import com.qmth.themis.business.enums.MonitorVideoSourceEnum;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
@@ -151,10 +152,10 @@ public class TEExamActivityDto implements Serializable {
         } else if (Objects.nonNull(ec.getMaxDurationSeconds())) {
         } else if (Objects.nonNull(ec.getMaxDurationSeconds())) {
             this.maxStartTime = examActivityCacheBean.getStartTime().getTime() + (ec.getOpeningSeconds() * 1000);
             this.maxStartTime = examActivityCacheBean.getStartTime().getTime() + (ec.getOpeningSeconds() * 1000);
         }
         }
-        if (Objects.nonNull(examActivityCacheBean.getFinishTime()) && ec.getForceFinish() == 1) {
-            this.maxFinishTime = examActivityCacheBean.getFinishTime().getTime();
-        } else if (Objects.nonNull(ec.getEndTime())) {
-            this.maxFinishTime = ec.getEndTime().getTime();
+        if (Objects.equals(ec.getMode(), ExamModeEnum.ANYTIME) || (Objects.equals(ec.getMode(), ExamModeEnum.TOGETHER) && ec.getForceFinish() == 0)) {
+            this.maxFinishTime = null;
+        } else {
+            this.maxFinishTime = Objects.nonNull(examActivityCacheBean.getFinishTime()) ? examActivityCacheBean.getFinishTime().getTime() : ec.getEndTime().getTime();
         }
         }
         this.cameraPhotoUpload = ec.getCameraPhotoUpload();
         this.cameraPhotoUpload = ec.getCameraPhotoUpload();
         this.entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();
         this.entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();

+ 0 - 3
themis-exam/src/main/java/com/qmth/themis/exam/api/TEStudentController.java

@@ -304,9 +304,6 @@ public class TEStudentController {
         TEExamActivityDto teExamActivityDto = new TEExamActivityDto(ec, examActivityCacheBean, examStudentCacheBean, examStudentId, examCourseCacheBean);
         TEExamActivityDto teExamActivityDto = new TEExamActivityDto(ec, examActivityCacheBean, examStudentCacheBean, examStudentId, examCourseCacheBean);
         Gson gson = new Gson();
         Gson gson = new Gson();
         ExamActivityUnFinishBean examActivityUnFinishBean = gson.fromJson(gson.toJson(teExamActivityDto), ExamActivityUnFinishBean.class);
         ExamActivityUnFinishBean examActivityUnFinishBean = gson.fromJson(gson.toJson(teExamActivityDto), ExamActivityUnFinishBean.class);
-        if (Objects.equals(ec.getMode(), ExamModeEnum.ANYTIME) || (Objects.equals(ec.getMode(), ExamModeEnum.TOGETHER) && ec.getForceFinish() == 0)) {
-            examActivityUnFinishBean.setMaxFinishTime(null);
-        }
         examActivityUnFinishBean.setRecordId(recordId);
         examActivityUnFinishBean.setRecordId(recordId);
         return new ExamUnFinishBean(ec.getId(), ec.getName(), ec.getPreNotice(), ec.getPreNoticeStaySeconds(), ec.getPostNotice(), examActivityUnFinishBean);
         return new ExamUnFinishBean(ec.getId(), ec.getName(), ec.getPreNotice(), ec.getPreNoticeStaySeconds(), ec.getPostNotice(), examActivityUnFinishBean);
     }
     }