wangliang 4 years ago
parent
commit
ce81f208fb
30 changed files with 66 additions and 465 deletions
  1. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBAppController.java
  2. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBClientVersionController.java
  3. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBPrivilegeController.java
  4. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBRoleController.java
  5. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBRolePrivilegeController.java
  6. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBSessionController.java
  7. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserRoleController.java
  8. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEConfigController.java
  9. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamBreachLogController.java
  10. 1 1
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java
  11. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamStudentLogController.java
  12. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TESimulatePaperController.java
  13. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TEUserLogController.java
  14. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TIeExamInvigilateNoticeController.java
  15. 10 10
      themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateCallMobileController.java
  16. 6 6
      themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java
  17. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateExceptionInfoController.java
  18. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamAnswerController.java
  19. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamBreakHistoryController.java
  20. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamRecordController.java
  21. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamSimulateHistoryController.java
  22. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeFaceVerifyHistoryController.java
  23. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeLivenessVerifyHistoryController.java
  24. 0 19
      themis-backend/src/main/java/com/qmth/themis/backend/api/TOeTaskHistoryController.java
  25. 12 12
      themis-business/src/main/java/com/qmth/themis/business/cache/ExamRecordCacheUtil.java
  26. 4 4
      themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java
  27. 12 12
      themis-exam/src/main/java/com/qmth/themis/exam/api/TIeInvigilateCallMobileController.java
  28. 12 12
      themis-exam/src/main/java/com/qmth/themis/exam/api/TIeInvigilateCallOeController.java
  29. 1 1
      themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketMobileServer.java
  30. 8 8
      themis-mq/src/main/java/com/qmth/themis/mq/service/impl/MqLogicServiceImpl.java

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBAppController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: app信息 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "app信息Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/app")
-public class TBAppController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBClientVersionController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 客户端版本 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "客户端版本Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/client")
-public class TBClientVersionController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBPrivilegeController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 菜单和权限 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "菜单和权限Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/privilege")
-public class TBPrivilegeController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBRoleController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 角色 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "角色Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/role")
-public class TBRoleController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBRolePrivilegeController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 角色权限 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "角色权限Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/rolePrivilege")
-public class TBRolePrivilegeController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBSessionController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 会话信息
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "会话信息Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/session")
-public class TBSessionController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserRoleController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 用户角色 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "用户角色Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/userRole")
-public class TBUserRoleController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TEConfigController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 全局配置 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "全局配置Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/config")
-public class TEConfigController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamBreachLogController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 考生违纪处理 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "考生违纪处理Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examBreachLog")
-public class TEExamBreachLogController {
-
-}

+ 1 - 1
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -438,7 +438,7 @@ public class TEExamController {
                                 } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrlMobileSecond(recordId))) {
                                 } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrlMobileSecond(recordId))) {
                                     source = MonitorVideoSourceEnum.MOBILE_SECOND;
                                     source = MonitorVideoSourceEnum.MOBILE_SECOND;
                                 }
                                 }
-                                MonitorStatusSourceEnum status = Objects.isNull(source) ? null : ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+                                MonitorStatusSourceEnum status = Objects.isNull(source) ? null : ExamRecordCacheUtil.getMonitorStatus(recordId, source);
                                 if (Objects.nonNull(status) && Objects.equals(status, MonitorStatusSourceEnum.STOP)) {
                                 if (Objects.nonNull(status) && Objects.equals(status, MonitorStatusSourceEnum.STOP)) {
                                     monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
                                     monitorStatusSourceCount.getAndSet(monitorStatusSourceCount.get() + 1);
                                 }
                                 }

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamStudentLogController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 考生轨迹 前端控制器
- * @Param:
- * @returnß:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "考生轨迹Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examStudentLog")
-public class TEExamStudentLogController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TESimulatePaperController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 模拟试卷 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "模拟试卷Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/simulatePaper")
-public class TESimulatePaperController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TEUserLogController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 用户轨迹 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/7/2
- */
-@Api(tags = "用户轨迹Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/userLog")
-public class TEUserLogController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeExamInvigilateNoticeController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 监考通知消息记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "监考通知消息记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examInvigilateNotice")
-public class TIeExamInvigilateNoticeController {
-
-}

+ 10 - 10
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateCallMobileController.java

@@ -159,12 +159,12 @@ public class TIeInvigilateCallMobileController {
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         //获取考试记录缓存
         //获取考试记录缓存
         String liveUrl = null;
         String liveUrl = null;
-        if (Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.CALLING);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.CALLING);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.CALLING);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.CALLING);
         //监考监控通话信息 发送mq start
         //监考监控通话信息 发送mq start
         MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.MONITOR_LOG.name(), tIeExamInvigilateCallLog, MqTagEnum.MONITOR_LOG, String.valueOf(tIeExamInvigilateCallLog.getId()), source.name());
         MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.MONITOR_LOG.name(), tIeExamInvigilateCallLog, MqTagEnum.MONITOR_LOG, String.valueOf(tIeExamInvigilateCallLog.getId()), source.name());
@@ -191,12 +191,12 @@ public class TIeInvigilateCallMobileController {
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         //获取考试记录缓存
         //获取考试记录缓存
         String liveUrl = null;
         String liveUrl = null;
-        if (Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.STOP);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.STOP);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());
         //监考监控通话信息 发送mq start
         //监考监控通话信息 发送mq start
@@ -262,10 +262,10 @@ public class TIeInvigilateCallMobileController {
                     String sessionId = SessionUtil.digest(examStudentCacheBean.getIdentity(), Math.abs(Sets.newHashSet(RoleEnum.STUDENT.name()).toString().hashCode()), s.name());
                     String sessionId = SessionUtil.digest(examStudentCacheBean.getIdentity(), Math.abs(Sets.newHashSet(RoleEnum.STUDENT.name()).toString().hashCode()), s.name());
                     TBSession tbSessionClient = (TBSession) redisUtil.getUserSession(sessionId);
                     TBSession tbSessionClient = (TBSession) redisUtil.getUserSession(sessionId);
                     if (Objects.nonNull(tbSessionClient) && tbSessionClient.getExpireTime() > System.currentTimeMillis() && (Objects.equals(tbSessionClient.getSource(), Source.OE_CLIENT.name()) || Objects.equals(tbSessionClient.getSource(), Source.ADMIN_CLIENT.name())) && (Objects.equals(tbSessionClient.getPlatform(), Platform.WIN.name()) || Objects.equals(tbSessionClient.getPlatform(), Platform.MAC.name()))) {
                     if (Objects.nonNull(tbSessionClient) && tbSessionClient.getExpireTime() > System.currentTimeMillis() && (Objects.equals(tbSessionClient.getSource(), Source.OE_CLIENT.name()) || Objects.equals(tbSessionClient.getSource(), Source.ADMIN_CLIENT.name())) && (Objects.equals(tbSessionClient.getPlatform(), Platform.WIN.name()) || Objects.equals(tbSessionClient.getPlatform(), Platform.MAC.name()))) {
-                        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name()))) {
+                        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA))) {
                             sourceUserId = "s_" + tbSessionClient.getId();
                             sourceUserId = "s_" + tbSessionClient.getId();
                             break;
                             break;
-                        } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name()))) {
+                        } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN))) {
                             sourceUserId = "s_" + tbSessionClient.getId();
                             sourceUserId = "s_" + tbSessionClient.getId();
                             break;
                             break;
                         }
                         }
@@ -276,10 +276,10 @@ public class TIeInvigilateCallMobileController {
                     String sessionId = SessionUtil.digest(examStudentCacheBean.getIdentity(), Math.abs(Sets.newHashSet(RoleEnum.STUDENT.name()).toString().hashCode()), s.name());
                     String sessionId = SessionUtil.digest(examStudentCacheBean.getIdentity(), Math.abs(Sets.newHashSet(RoleEnum.STUDENT.name()).toString().hashCode()), s.name());
                     TBSession tbSessionPhone = (TBSession) redisUtil.getUserSession(sessionId);
                     TBSession tbSessionPhone = (TBSession) redisUtil.getUserSession(sessionId);
                     if (Objects.nonNull(tbSessionPhone) && tbSessionPhone.getExpireTime() > System.currentTimeMillis() && (Objects.equals(tbSessionPhone.getSource(), Source.MOBILE_FIRST.name()) || Objects.equals(tbSessionPhone.getSource(), Source.MOBILE_SECOND.name())) && (Objects.equals(tbSessionPhone.getPlatform(), Platform.ANDROID.name()) || Objects.equals(tbSessionPhone.getPlatform(), Platform.IOS.name()))) {
                     if (Objects.nonNull(tbSessionPhone) && tbSessionPhone.getExpireTime() > System.currentTimeMillis() && (Objects.equals(tbSessionPhone.getSource(), Source.MOBILE_FIRST.name()) || Objects.equals(tbSessionPhone.getSource(), Source.MOBILE_SECOND.name())) && (Objects.equals(tbSessionPhone.getPlatform(), Platform.ANDROID.name()) || Objects.equals(tbSessionPhone.getPlatform(), Platform.IOS.name()))) {
-                        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST.name()))) {
+                        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST))) {
                             sourceUserId = "s_" + tbSessionPhone.getId();
                             sourceUserId = "s_" + tbSessionPhone.getId();
                             break;
                             break;
-                        } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND.name()))) {
+                        } else if (Objects.nonNull(ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND))) {
                             sourceUserId = "s_" + tbSessionPhone.getId();
                             sourceUserId = "s_" + tbSessionPhone.getId();
                             break;
                             break;
                         }
                         }

+ 6 - 6
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java

@@ -135,16 +135,16 @@ public class TIeInvigilateController {
                             MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(l);
                             MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(l);
                             switch (source.name()) {
                             switch (source.name()) {
                                 case "CLIENT_SCREEN":
                                 case "CLIENT_SCREEN":
-                                    s.setScreenMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source.name()));
+                                    s.setScreenMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source));
                                     break;
                                     break;
                                 case "CLIENT_CAMERA":
                                 case "CLIENT_CAMERA":
-                                    s.setCameraMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source.name()));
+                                    s.setCameraMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source));
                                     break;
                                     break;
                                 case "MOBILE_FIRST":
                                 case "MOBILE_FIRST":
-                                    s.setMobileFirstMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source.name()));
+                                    s.setMobileFirstMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source));
                                     break;
                                     break;
                                 default:
                                 default:
-                                    s.setMobileSecondMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source.name()));
+                                    s.setMobileSecondMonitorStatusSource(ExamRecordCacheUtil.getMonitorStatus(s.getExamRecordId(), source));
                                     break;
                                     break;
                             }
                             }
                         });
                         });
@@ -153,7 +153,7 @@ public class TIeInvigilateController {
                     if (Objects.nonNull(monitorVideoSource)) {
                     if (Objects.nonNull(monitorVideoSource)) {
                         source = MonitorVideoSourceEnum.valueOf(monitorVideoSource);
                         source = MonitorVideoSourceEnum.valueOf(monitorVideoSource);
                     }
                     }
-                    String monitorLiveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(s.getExamRecordId(), source.name());
+                    String monitorLiveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(s.getExamRecordId(), source);
                     if (Objects.nonNull(monitorLiveUrl)) {
                     if (Objects.nonNull(monitorLiveUrl)) {
                         s.setMonitorLiveUrl(monitorLiveUrl);
                         s.setMonitorLiveUrl(monitorLiveUrl);
                     }
                     }
@@ -188,7 +188,7 @@ public class TIeInvigilateController {
         List<InvigilateListVideoBean> invigilateListVideoBeanList = tOeExamRecordService.invigilatePageListVideoRandom(examId, userId, randomNum, tbUser.getOrgId());
         List<InvigilateListVideoBean> invigilateListVideoBeanList = tOeExamRecordService.invigilatePageListVideoRandom(examId, userId, randomNum, tbUser.getOrgId());
         if (Objects.nonNull(invigilateListVideoBeanList) && invigilateListVideoBeanList.size() > 0) {
         if (Objects.nonNull(invigilateListVideoBeanList) && invigilateListVideoBeanList.size() > 0) {
             invigilateListVideoBeanList.forEach(s -> {
             invigilateListVideoBeanList.forEach(s -> {
-                String monitorLiveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(s.getExamRecordId(), MonitorVideoSourceEnum.CLIENT_CAMERA.name());
+                String monitorLiveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(s.getExamRecordId(), MonitorVideoSourceEnum.CLIENT_CAMERA);
                 if (Objects.nonNull(monitorLiveUrl)) {
                 if (Objects.nonNull(monitorLiveUrl)) {
                     s.setMonitorLiveUrl(monitorLiveUrl);
                     s.setMonitorLiveUrl(monitorLiveUrl);
                 }
                 }

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateExceptionInfoController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 监考异常信息 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "监考异常信息Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/invigilateExceptionInfo")
-public class TIeInvigilateExceptionInfoController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamAnswerController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 作答结果 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "作答结果Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examAnswer")
-public class TOeExamAnswerController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamBreakHistoryController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 考试断点记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "考试断点记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examBreakHistory")
-public class TOeExamBreakHistoryController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamRecordController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 考试记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "考试记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examRecord")
-public class TOeExamRecordController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeExamSimulateHistoryController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 模拟考试记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "模拟考试记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/examSimulateHistory")
-public class TOeExamSimulateHistoryController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeFaceVerifyHistoryController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 人脸验证记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "人脸验证记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/faceVerifyHistory")
-public class TOeFaceVerifyHistoryController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeLivenessVerifyHistoryController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 活体验证记录 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "活体验证记录Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/livenessVerifyHistory")
-public class TOeLivenessVerifyHistoryController {
-
-}

+ 0 - 19
themis-backend/src/main/java/com/qmth/themis/backend/api/TOeTaskHistoryController.java

@@ -1,19 +0,0 @@
-package com.qmth.themis.backend.api;
-
-import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description: 异步任务 前端控制器
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2020/6/25
- */
-@Api(tags = "异步任务Controller")
-@RestController
-@RequestMapping("/${prefix.url.admin}/taskHistory")
-public class TOeTaskHistoryController {
-
-}

+ 12 - 12
themis-business/src/main/java/com/qmth/themis/business/cache/ExamRecordCacheUtil.java

@@ -186,8 +186,8 @@ public class ExamRecordCacheUtil {
         return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.monitor_key.getCode());
         return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.monitor_key.getCode());
     }
     }
 
 
-    public static String getMonitorLiveUrl(Long recordId, String source) {
-        return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + source);
+    public static String getMonitorLiveUrl(Long recordId, MonitorVideoSourceEnum source) {
+        return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + source.name());
     }
     }
 
 
     public static String getMonitorLiveUrlMobileFirst(Long recordId) {
     public static String getMonitorLiveUrlMobileFirst(Long recordId) {
@@ -206,30 +206,30 @@ public class ExamRecordCacheUtil {
         return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.CLIENT_SCREEN.name());
         return (String) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + MonitorVideoSourceEnum.CLIENT_SCREEN.name());
     }
     }
 
 
-    public static void setMonitorLiveUrl(Long recordId, String source, String liveUrl, boolean update) {
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + source, liveUrl);
+    public static void setMonitorLiveUrl(Long recordId, MonitorVideoSourceEnum source, String liveUrl, boolean update) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_LIVE_URL_ + source.name(), liveUrl);
         if (update) {
         if (update) {
             examRecordService.dataUpdateMq(recordId, ExamRecordFieldEnum.monitor_live_url.name(), liveUrl);
             examRecordService.dataUpdateMq(recordId, ExamRecordFieldEnum.monitor_live_url.name(), liveUrl);
         }
         }
     }
     }
 
 
-    public static MonitorStatusSourceEnum getMonitorStatus(Long recordId, String source) {
-        return (MonitorStatusSourceEnum) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_STATUS_ + source);
+    public static MonitorStatusSourceEnum getMonitorStatus(Long recordId, MonitorVideoSourceEnum source) {
+        return (MonitorStatusSourceEnum) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_STATUS_ + source.name());
     }
     }
 
 
-    public static void setMonitorStatus(Long recordId, String source, MonitorStatusSourceEnum statusSourceEnum, boolean update) {
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_STATUS_ + source, statusSourceEnum);
+    public static void setMonitorStatus(Long recordId, MonitorVideoSourceEnum source, MonitorStatusSourceEnum statusSourceEnum, boolean update) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_STATUS_ + source.name(), statusSourceEnum);
         if (update) {
         if (update) {
             examRecordService.dataUpdateMq(recordId, ExamRecordFieldEnum.monitor_status_source.name(), statusSourceEnum);
             examRecordService.dataUpdateMq(recordId, ExamRecordFieldEnum.monitor_status_source.name(), statusSourceEnum);
         }
         }
     }
     }
 
 
-    public static MonitorCallStatusSourceEnum getMonitorCallStatus(Long recordId, String source) {
-        return (MonitorCallStatusSourceEnum) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_CALL_STATUS_ + source);
+    public static MonitorCallStatusSourceEnum getMonitorCallStatus(Long recordId, MonitorVideoSourceEnum source) {
+        return (MonitorCallStatusSourceEnum) redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_CALL_STATUS_ + source.name());
     }
     }
 
 
-    public static void setMonitorCallStatus(Long recordId, String source, MonitorCallStatusSourceEnum callStatusSourceEnum) {
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_CALL_STATUS_ + source, callStatusSourceEnum);
+    public static void setMonitorCallStatus(Long recordId, MonitorVideoSourceEnum source, MonitorCallStatusSourceEnum callStatusSourceEnum) {
+        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), SystemConstant.MONITOR_CALL_STATUS_ + source.name(), callStatusSourceEnum);
     }
     }
 
 
     public static WebsocketStatusEnum getClientWebsocketStatus(Long recordId) {
     public static WebsocketStatusEnum getClientWebsocketStatus(Long recordId) {

+ 4 - 4
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -501,19 +501,19 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         if (Objects.nonNull(websocketStatusEnum) && Objects.equals(WebsocketStatusEnum.OFF_LINE, websocketStatusEnum)) {
         if (Objects.nonNull(websocketStatusEnum) && Objects.equals(WebsocketStatusEnum.OFF_LINE, websocketStatusEnum)) {
             throw new BusinessException(ExceptionResultEnum.CLIENT_NET_OFFLINE);
             throw new BusinessException(ExceptionResultEnum.CLIENT_NET_OFFLINE);
         }
         }
-        MonitorStatusSourceEnum clientCameraStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name());
+        MonitorStatusSourceEnum clientCameraStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA);
         if (Objects.nonNull(clientCameraStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, clientCameraStatus)) {
         if (Objects.nonNull(clientCameraStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, clientCameraStatus)) {
             throw new BusinessException(ExceptionResultEnum.CLIENT_CAMERA_OFFLINE);
             throw new BusinessException(ExceptionResultEnum.CLIENT_CAMERA_OFFLINE);
         }
         }
-        MonitorStatusSourceEnum clientScreenStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name());
+        MonitorStatusSourceEnum clientScreenStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN);
         if (Objects.nonNull(clientScreenStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, clientScreenStatus)) {
         if (Objects.nonNull(clientScreenStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, clientScreenStatus)) {
             throw new BusinessException(ExceptionResultEnum.CLIENT_SCREEN_OFFLINE);
             throw new BusinessException(ExceptionResultEnum.CLIENT_SCREEN_OFFLINE);
         }
         }
-        MonitorStatusSourceEnum mobileFirstStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST.name());
+        MonitorStatusSourceEnum mobileFirstStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_FIRST);
         if (Objects.nonNull(mobileFirstStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, mobileFirstStatus)) {
         if (Objects.nonNull(mobileFirstStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, mobileFirstStatus)) {
             throw new BusinessException(ExceptionResultEnum.MOBILE_FIRST_OFFLINE);
             throw new BusinessException(ExceptionResultEnum.MOBILE_FIRST_OFFLINE);
         }
         }
-        MonitorStatusSourceEnum mobileSecondStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND.name());
+        MonitorStatusSourceEnum mobileSecondStatus = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.MOBILE_SECOND);
         if (Objects.nonNull(mobileSecondStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, mobileSecondStatus)) {
         if (Objects.nonNull(mobileSecondStatus) && Objects.equals(MonitorStatusSourceEnum.STOP, mobileSecondStatus)) {
             throw new BusinessException(ExceptionResultEnum.MOBILE_SECOND_OFFLINE);
             throw new BusinessException(ExceptionResultEnum.MOBILE_SECOND_OFFLINE);
         }
         }

+ 12 - 12
themis-exam/src/main/java/com/qmth/themis/exam/api/TIeInvigilateCallMobileController.java

@@ -78,7 +78,7 @@ public class TIeInvigilateCallMobileController {
             String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
             String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
             TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.INIT, monitorKey);
             TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.INIT, monitorKey);
             //获取考试记录缓存
             //获取考试记录缓存
-            ExamRecordCacheUtil.setMonitorLiveUrl(recordId, source.name(), liveUrl, true);
+            ExamRecordCacheUtil.setMonitorLiveUrl(recordId, source, liveUrl, true);
 
 
             //监考监控通话信息 发送mq start
             //监考监控通话信息 发送mq start
             MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.MONITOR_LOG.name(), tIeExamInvigilateCallLog, MqTagEnum.MONITOR_LOG, String.valueOf(tIeExamInvigilateCallLog.getId()), source.name());
             MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.MONITOR_LOG.name(), tIeExamInvigilateCallLog, MqTagEnum.MONITOR_LOG, String.valueOf(tIeExamInvigilateCallLog.getId()), source.name());
@@ -117,14 +117,14 @@ public class TIeInvigilateCallMobileController {
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         //获取考试记录缓存
         //获取考试记录缓存
         String liveUrl = null;
         String liveUrl = null;
-        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
         if (!Objects.equals(status, MonitorStatusSourceEnum.START)) {
         if (!Objects.equals(status, MonitorStatusSourceEnum.START)) {
             throw new BusinessException("推流状态不正常");
             throw new BusinessException("推流状态不正常");
         }
         }
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.START);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.START);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.START);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.START);
         tIeExamInvigilateCallLog.setStartTime(System.currentTimeMillis());
         tIeExamInvigilateCallLog.setStartTime(System.currentTimeMillis());
@@ -166,12 +166,12 @@ public class TIeInvigilateCallMobileController {
         }
         }
         //获取考试记录缓存
         //获取考试记录缓存
         String liveUrl = null;
         String liveUrl = null;
-        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source.name()))) {
-            liveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source.name());
+        if (Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source))) {
+            liveUrl = ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source);
         }
         }
-        MonitorCallStatusSourceEnum callStatus = Objects.nonNull(ExamRecordCacheUtil.getMonitorCallStatus(recordId, source.name())) ? ExamRecordCacheUtil.getMonitorCallStatus(recordId, source.name()) : null;
-        ExamRecordCacheUtil.setMonitorStatus(recordId, source.name(), status, true);
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), callStatus);
+        MonitorCallStatusSourceEnum callStatus = Objects.nonNull(ExamRecordCacheUtil.getMonitorCallStatus(recordId, source)) ? ExamRecordCacheUtil.getMonitorCallStatus(recordId, source) : null;
+        ExamRecordCacheUtil.setMonitorStatus(recordId, source, status, true);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, callStatus);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.START, monitorKey, callStatus);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.START, monitorKey, callStatus);
         if (Objects.nonNull(mapParameter.get("type")) && !Objects.equals(mapParameter.get("type"), "")) {
         if (Objects.nonNull(mapParameter.get("type")) && !Objects.equals(mapParameter.get("type"), "")) {
@@ -223,12 +223,12 @@ public class TIeInvigilateCallMobileController {
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         MonitorVideoSourceEnum source = MonitorVideoSourceEnum.valueOf(String.valueOf(mapParameter.get("source")));
         //获取考试记录缓存
         //获取考试记录缓存
         String liveUrl = null;
         String liveUrl = null;
-        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.STOP);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.STOP);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());
         //监考监控通话信息 发送mq start
         //监考监控通话信息 发送mq start

+ 12 - 12
themis-exam/src/main/java/com/qmth/themis/exam/api/TIeInvigilateCallOeController.java

@@ -73,8 +73,8 @@ public class TIeInvigilateCallOeController {
             String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
             String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
             TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.INIT, monitorKey);
             TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.INIT, monitorKey);
             //获取考试记录缓存
             //获取考试记录缓存
-            ExamRecordCacheUtil.setMonitorLiveUrl(recordId, source.name(), liveUrl, false);
-            ExamRecordCacheUtil.setMonitorStatus(recordId, source.name(), tIeExamInvigilateCallLog.getStatus(), false);
+            ExamRecordCacheUtil.setMonitorLiveUrl(recordId, source, liveUrl, false);
+            ExamRecordCacheUtil.setMonitorStatus(recordId, source, tIeExamInvigilateCallLog.getStatus(), false);
             String[] columns = new String[]{ExamRecordFieldEnum.monitor_live_url.name(), ExamRecordFieldEnum.monitor_status_source.name()};
             String[] columns = new String[]{ExamRecordFieldEnum.monitor_live_url.name(), ExamRecordFieldEnum.monitor_status_source.name()};
             Object[] values = new Object[]{liveUrl, tIeExamInvigilateCallLog.getStatus()};
             Object[] values = new Object[]{liveUrl, tIeExamInvigilateCallLog.getStatus()};
             tOeExamRecordService.dataUpdatesMq(recordId, columns, values);
             tOeExamRecordService.dataUpdatesMq(recordId, columns, values);
@@ -124,10 +124,10 @@ public class TIeInvigilateCallOeController {
             throw new BusinessException("异常类型不能为空");
             throw new BusinessException("异常类型不能为空");
         }
         }
         //获取考试记录缓存
         //获取考试记录缓存
-        String liveUrl = Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source.name())) ? ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source.name()) : null;
-        MonitorCallStatusSourceEnum callStatus = Objects.nonNull(ExamRecordCacheUtil.getMonitorCallStatus(recordId, source.name())) ? ExamRecordCacheUtil.getMonitorCallStatus(recordId, source.name()) : null;
-        ExamRecordCacheUtil.setMonitorStatus(recordId, source.name(), status, true);
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), callStatus);
+        String liveUrl = Objects.nonNull(ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source)) ? ExamRecordCacheUtil.getMonitorLiveUrl(recordId, source) : null;
+        MonitorCallStatusSourceEnum callStatus = Objects.nonNull(ExamRecordCacheUtil.getMonitorCallStatus(recordId, source)) ? ExamRecordCacheUtil.getMonitorCallStatus(recordId, source) : null;
+        ExamRecordCacheUtil.setMonitorStatus(recordId, source, status, true);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, callStatus);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.START, monitorKey, callStatus);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, MonitorStatusSourceEnum.START, monitorKey, callStatus);
         if (Objects.nonNull(mapParameter.get("type")) && !Objects.equals(mapParameter.get("type"), "")) {
         if (Objects.nonNull(mapParameter.get("type")) && !Objects.equals(mapParameter.get("type"), "")) {
@@ -162,14 +162,14 @@ public class TIeInvigilateCallOeController {
             source = MonitorVideoSourceEnum.CLIENT_CAMERA;
             source = MonitorVideoSourceEnum.CLIENT_CAMERA;
             liveUrl = ExamRecordCacheUtil.getMonitorLiveUrlClientCamera(recordId);
             liveUrl = ExamRecordCacheUtil.getMonitorLiveUrlClientCamera(recordId);
         }
         }
-        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
         if (!Objects.equals(status, MonitorStatusSourceEnum.START)) {
         if (!Objects.equals(status, MonitorStatusSourceEnum.START)) {
             throw new BusinessException("推流状态不正常");
             throw new BusinessException("推流状态不正常");
         }
         }
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.START);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.START);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.START);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.START);
         tIeExamInvigilateCallLog.setStartTime(System.currentTimeMillis());
         tIeExamInvigilateCallLog.setStartTime(System.currentTimeMillis());
@@ -198,11 +198,11 @@ public class TIeInvigilateCallOeController {
             source = MonitorVideoSourceEnum.CLIENT_CAMERA;
             source = MonitorVideoSourceEnum.CLIENT_CAMERA;
             liveUrl = ExamRecordCacheUtil.getMonitorLiveUrlClientCamera(recordId);
             liveUrl = ExamRecordCacheUtil.getMonitorLiveUrlClientCamera(recordId);
         }
         }
-        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source.name()))) {
+        if (Objects.isNull(source) || Objects.isNull(ExamRecordCacheUtil.getMonitorStatus(recordId, source))) {
             throw new BusinessException("推流状态为空");
             throw new BusinessException("推流状态为空");
         }
         }
-        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source.name());
-        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source.name(), MonitorCallStatusSourceEnum.STOP);
+        MonitorStatusSourceEnum status = ExamRecordCacheUtil.getMonitorStatus(recordId, source);
+        ExamRecordCacheUtil.setMonitorCallStatus(recordId, source, MonitorCallStatusSourceEnum.STOP);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         String monitorKey = ExamRecordCacheUtil.getMonitorKey(recordId);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         TIeExamInvigilateCallLog tIeExamInvigilateCallLog = new TIeExamInvigilateCallLog(recordId, source, liveUrl, status, monitorKey, MonitorCallStatusSourceEnum.STOP);
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());
         tIeExamInvigilateCallLog.setEndTime(System.currentTimeMillis());

+ 1 - 1
themis-exam/src/main/java/com/qmth/themis/exam/websocket/WebSocketMobileServer.java

@@ -142,7 +142,7 @@ public class WebSocketMobileServer implements Concurrently {
             //从set中删除
             //从set中删除
 //            subOnlineCount();
 //            subOnlineCount();
             //判断是否是正常退出
             //判断是否是正常退出
-            ExamRecordCacheUtil.setMonitorStatus(recordId, this.source.name(), MonitorStatusSourceEnum.STOP, true);
+            ExamRecordCacheUtil.setMonitorStatus(recordId, this.source, MonitorStatusSourceEnum.STOP, true);
             ConcurrentHashMap<Long, WebSocketOeServer> webSocketMap = WebSocketOeServer.getWebSocketMap();
             ConcurrentHashMap<Long, WebSocketOeServer> webSocketMap = WebSocketOeServer.getWebSocketMap();
             if (Objects.nonNull(webSocketMap.get(recordId))) {
             if (Objects.nonNull(webSocketMap.get(recordId))) {
                 WebSocketOeServer webSocketOeServer = webSocketMap.get(recordId);
                 WebSocketOeServer webSocketOeServer = webSocketMap.get(recordId);

+ 8 - 8
themis-mq/src/main/java/com/qmth/themis/mq/service/impl/MqLogicServiceImpl.java

@@ -279,14 +279,14 @@ public class MqLogicServiceImpl implements MqLogicService {
                 ExamActivityRecordCacheUtil.setExamRecordStatus(examActivityId, recordId, new ExamActivityRecordCacheBean(ExamRecordCacheUtil.getExamStudentId(recordId), ExamRecordCacheUtil.getStatus(recordId)));
                 ExamActivityRecordCacheUtil.setExamRecordStatus(examActivityId, recordId, new ExamActivityRecordCacheBean(ExamRecordCacheUtil.getExamStudentId(recordId), ExamRecordCacheUtil.getStatus(recordId)));
             }
             }
             //更新客户端摄像头推流状态为stop
             //更新客户端摄像头推流状态为stop
-            MonitorStatusSourceEnum cameraStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name());
+            MonitorStatusSourceEnum cameraStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA);
             if (Objects.nonNull(cameraStatusSourceEnum)) {
             if (Objects.nonNull(cameraStatusSourceEnum)) {
-                ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name(), MonitorStatusSourceEnum.STOP, true);
+                ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA, MonitorStatusSourceEnum.STOP, true);
             }
             }
             //更新客户端屏幕推流状态为stop
             //更新客户端屏幕推流状态为stop
-            MonitorStatusSourceEnum screenStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name());
+            MonitorStatusSourceEnum screenStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN);
             if (Objects.nonNull(screenStatusSourceEnum)) {
             if (Objects.nonNull(screenStatusSourceEnum)) {
-                ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name(), MonitorStatusSourceEnum.STOP, true);
+                ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN, MonitorStatusSourceEnum.STOP, true);
             }
             }
             //发送移动端监考退出考试mq消息 start
             //发送移动端监考退出考试mq消息 start
             MqDto mqDtoExamStop = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_STOP.name(), recordId, MqTagEnum.EXAM_STOP, String.valueOf(recordId), String.valueOf(recordId));
             MqDto mqDtoExamStop = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_STOP.name(), recordId, MqTagEnum.EXAM_STOP, String.valueOf(recordId), String.valueOf(recordId));
@@ -802,14 +802,14 @@ public class MqLogicServiceImpl implements MqLogicService {
         teExamStudentLogService.save(teExamStudentLog);
         teExamStudentLogService.save(teExamStudentLog);
 
 
         //更新客户端摄像头推流状态为stop
         //更新客户端摄像头推流状态为stop
-        MonitorStatusSourceEnum cameraStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name());
+        MonitorStatusSourceEnum cameraStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA);
         if (Objects.nonNull(cameraStatusSourceEnum)) {
         if (Objects.nonNull(cameraStatusSourceEnum)) {
-            ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA.name(), MonitorStatusSourceEnum.STOP, true);
+            ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_CAMERA, MonitorStatusSourceEnum.STOP, true);
         }
         }
         //更新客户端屏幕推流状态为stop
         //更新客户端屏幕推流状态为stop
-        MonitorStatusSourceEnum screenStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name());
+        MonitorStatusSourceEnum screenStatusSourceEnum = ExamRecordCacheUtil.getMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN);
         if (Objects.nonNull(screenStatusSourceEnum)) {
         if (Objects.nonNull(screenStatusSourceEnum)) {
-            ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN.name(), MonitorStatusSourceEnum.STOP, true);
+            ExamRecordCacheUtil.setMonitorStatus(recordId, MonitorVideoSourceEnum.CLIENT_SCREEN, MonitorStatusSourceEnum.STOP, true);
         }
         }
         //发送移动端监考退出考试mq消息 start
         //发送移动端监考退出考试mq消息 start
         MqDto mqDtoExamStop = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_STOP.name(), recordId, MqTagEnum.EXAM_STOP, String.valueOf(recordId), String.valueOf(recordId));
         MqDto mqDtoExamStop = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_STOP.name(), recordId, MqTagEnum.EXAM_STOP, String.valueOf(recordId), String.valueOf(recordId));