wangliang 4 жил өмнө
parent
commit
ce1e17e777

+ 4 - 0
themis-business/src/main/java/com/qmth/themis/business/cache/MobileAuthCacheUtil.java

@@ -30,6 +30,10 @@ public class MobileAuthCacheUtil {
         return Objects.nonNull(redisUtil.get(RedisKeyHelper.mobileAuthCacheKey(mode, code), "mode")) ? MobileModeEnum.valueOf((String) redisUtil.get(RedisKeyHelper.mobileAuthCacheKey(mode, code), "mode")) : null;
     }
 
+    public static void deleteMode(MobileModeEnum mode, String code) {
+        redisUtil.delete(RedisKeyHelper.mobileAuthCacheKey(mode, code));
+    }
+
     public static void setCode(MobileModeEnum mode, String code) {
         redisUtil.set(RedisKeyHelper.mobileAuthCacheKey(mode, code), "code", code);
     }

+ 6 - 1
themis-exam/src/main/java/com/qmth/themis/exam/api/TEMobileController.java

@@ -4,13 +4,16 @@ import com.qmth.themis.business.bean.exam.AnswerReadyParamBean;
 import com.qmth.themis.business.bean.exam.AnswerReadyResponseBean;
 import com.qmth.themis.business.bean.exam.MobileAnswerSubmitParamBean;
 import com.qmth.themis.business.bean.exam.MobileAnswerSubmitReponseBean;
+import com.qmth.themis.business.bean.mobile.MobileAuthorizationBean;
 import com.qmth.themis.business.bean.mobile.MobileAuthorizationParamBean;
 import com.qmth.themis.business.cache.ExamRecordCacheUtil;
+import com.qmth.themis.business.cache.MobileAuthCacheUtil;
 import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.constant.SystemConstant;
 import com.qmth.themis.business.dto.MqDto;
 import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
+import com.qmth.themis.business.enums.MobileModeEnum;
 import com.qmth.themis.business.enums.MqTagEnum;
 import com.qmth.themis.business.service.MqDtoService;
 import com.qmth.themis.business.service.TEExamService;
@@ -71,7 +74,9 @@ public class TEMobileController {
             throw new BusinessException(ExceptionResultEnum.REQUEST_AWAIT);
         }
         try {
-            return ResultUtil.ok(mobileService.authorization(param));
+            MobileAuthorizationBean mobileAuthorizationBean = mobileService.authorization(param);
+            MobileAuthCacheUtil.deleteMode(MobileModeEnum.valueOf(param.getMode().toUpperCase()), param.getCode());
+            return ResultUtil.ok(mobileAuthorizationBean);
         } finally {
             redisUtil.releaseLock(lockKey);
         }