Ver Fonte

监考接口修改

wangliang há 4 anos atrás
pai
commit
5db541c709

+ 1 - 0
themis-business/src/main/java/com/qmth/themis/business/constant/SystemConstant.java

@@ -80,6 +80,7 @@ public class SystemConstant {
     public static String TEMP_FILES_DIR;
     public static final String MONITOR_LIVE_URL_ = "monitorLiveUrl_";
     public static final String MONITOR_STATUS_ = "monitorStatus_";
+    public static final long MONITOR_VALUE = 4294967295L;
 
     /**
      * session过期时间

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

@@ -199,7 +199,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
             prepare.setPaperUrl(paperurl);
             prepare.setStructUrl(structurl);
 //            if (examCacheBean.getMonitorAudioEnable()) {
-            prepare.setMonitorKey(String.valueOf(recordId));
+            prepare.setMonitorKey(String.valueOf(recordId % SystemConstant.MONITOR_VALUE));
             prepare.setMonitorUserId("s_" + tbSession.getId());
             prepare.setMonitorUserSig(tencentYunUtil.getSign(prepare.getMonitorUserId(), SystemConstant.TENCENT_EXPIRE_TIME));
 //            }
@@ -271,7 +271,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         prepare.setStructUrl(structurl);
         ExamCacheBean examCacheBean = this.getExamCacheBean(es.getExamId());
 //        if (examCacheBean.getMonitorAudioEnable()) {
-        prepare.setMonitorKey(String.valueOf(recordId));
+        prepare.setMonitorKey(String.valueOf(recordId % SystemConstant.MONITOR_VALUE));
         prepare.setMonitorUserId("s_" + tbSession.getId());
         prepare.setMonitorUserSig(tencentYunUtil.getSign(prepare.getMonitorUserId(), SystemConstant.TENCENT_EXPIRE_TIME));
 //        }
@@ -590,7 +590,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         // TODO 9527
         ExamCacheBean examCacheBean = this.getExamCacheBean(es.getExamId());
 //        if (examCacheBean.getMonitorAudioEnable()) {
-        ret.setMonitorKey(recordId.toString());
+        ret.setMonitorKey(String.valueOf(recordId % SystemConstant.MONITOR_VALUE));
         ret.setMonitorUserId("s_" + tbSession.getId());
         ret.setMonitorUserSig(tencentYunUtil.getSign(ret.getMonitorUserId(), SystemConstant.TENCENT_EXPIRE_TIME));
 //        }

+ 7 - 2
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEMobileServiceImpl.java

@@ -16,6 +16,7 @@ import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
 import com.qmth.themis.business.entity.TBSession;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.MobileModeEnum;
+import com.qmth.themis.business.enums.RoleEnum;
 import com.qmth.themis.business.service.TEExamStudentService;
 import com.qmth.themis.business.service.TEMobileService;
 import com.qmth.themis.business.util.RedisUtil;
@@ -119,11 +120,15 @@ public class TEMobileServiceImpl implements TEMobileService {
         }
         MobileAuthorizationMonitorBean ret = new MobileAuthorizationMonitorBean();
         ret.setRecordId(recordId);
-        ret.setMonitorKey(String.valueOf(recordId));
+        ret.setMonitorKey(String.valueOf(recordId % SystemConstant.MONITOR_VALUE));
         ret.setMonitorVideoSource(monitorVideoSource);
         ret.setMonitorAudioEnable(monitorAudioEnable);
 //        if (monitorAudioEnable) {
-        ret.setMonitorUserId("s_" + tbSession.getId());
+        if (Objects.equals(tbSession.getType(), RoleEnum.STUDENT.name())) {
+            ret.setMonitorUserId("s_" + tbSession.getId());
+        } else {
+            ret.setMonitorUserId("m_" + tbSession.getId());
+        }
         ret.setMonitorUserSig(tencentYunUtil.getSign(ret.getMonitorUserId(), SystemConstant.TENCENT_EXPIRE_TIME));
 //        }
         return ret;