wangliang 4 years ago
parent
commit
00a911645e

+ 10 - 9
themis-business/src/main/java/com/qmth/themis/business/service/impl/CommonServiceImpl.java

@@ -5,19 +5,15 @@ import com.qmth.themis.business.cache.ExamActivityRecordCacheUtil;
 import com.qmth.themis.business.cache.ExamRecordCacheUtil;
 import com.qmth.themis.business.cache.ExamingDataCacheUtil;
 import com.qmth.themis.business.cache.RedisKeyHelper;
+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.entity.TOeExamBreakHistory;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.MqTagEnum;
-import com.qmth.themis.business.service.CommonService;
-import com.qmth.themis.business.service.MqDtoService;
-import com.qmth.themis.business.service.TOeExamBreakHistoryService;
-import com.qmth.themis.business.service.TOeExamRecordService;
+import com.qmth.themis.business.service.*;
 import com.qmth.themis.business.util.MqUtil;
 import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.business.util.ServletUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -52,6 +48,9 @@ public class CommonServiceImpl implements CommonService {
     @Resource
     TOeExamBreakHistoryService tOeExamBreakHistoryService;
 
+    @Resource
+    TEExamStudentService teExamStudentService;
+
     @Override
     public void persisted(Long recordId) {
         String lockKey = SystemConstant.REDIS_LOCK_EXAM_RECORD_PERSISTED_PREFIX + recordId;
@@ -83,6 +82,8 @@ public class CommonServiceImpl implements CommonService {
             // 清除缓存
 //			ExamActivityRecordCacheUtil.removeActivityRecordCache(ExamRecordCacheUtil.getExamActivityId(recordId),
 //					recordId);
+            Long examActivityId = ExamRecordCacheUtil.getExamActivityId(recordId);
+            Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
             redisUtil.delete(RedisKeyHelper.examRecordCacheKey(recordId));
             redisUtil.delete(RedisKeyHelper.examAnswerKey(recordId));
             redisUtil.delete(RedisKeyHelper.audioLeftPlayCountKey(recordId));
@@ -101,10 +102,10 @@ public class CommonServiceImpl implements CommonService {
                 });
             }
             //删除未完成的考试id
-            TEStudentCacheDto teStudent = (TEStudentCacheDto) ServletUtil.getRequestStudentAccount();
-            ExamingDataCacheUtil.deleteUnFinishedRecordId(teStudent.getId());
+            ExamStudentCacheBean examStudentCacheBean = teExamStudentService.getExamStudentCacheBean(examStudentId);
+            ExamingDataCacheUtil.deleteUnFinishedRecordId(examStudentCacheBean.getStudentId());
             //删除场次考试记录
-            ExamActivityRecordCacheUtil.deleteExamRecordStatus(ExamRecordCacheUtil.getExamActivityId(recordId), recordId);
+            ExamActivityRecordCacheUtil.deleteExamRecordStatus(examActivityId, recordId);
             log.info("end persisted,recordId:" + recordId);
         } finally {
             redisUtil.releaseLock(lockKey);