|
@@ -5,19 +5,15 @@ import com.qmth.themis.business.cache.ExamActivityRecordCacheUtil;
|
|
import com.qmth.themis.business.cache.ExamRecordCacheUtil;
|
|
import com.qmth.themis.business.cache.ExamRecordCacheUtil;
|
|
import com.qmth.themis.business.cache.ExamingDataCacheUtil;
|
|
import com.qmth.themis.business.cache.ExamingDataCacheUtil;
|
|
import com.qmth.themis.business.cache.RedisKeyHelper;
|
|
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.constant.SystemConstant;
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
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.entity.TOeExamBreakHistory;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.MqTagEnum;
|
|
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.MqUtil;
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
-import com.qmth.themis.business.util.ServletUtil;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -52,6 +48,9 @@ public class CommonServiceImpl implements CommonService {
|
|
@Resource
|
|
@Resource
|
|
TOeExamBreakHistoryService tOeExamBreakHistoryService;
|
|
TOeExamBreakHistoryService tOeExamBreakHistoryService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ TEExamStudentService teExamStudentService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void persisted(Long recordId) {
|
|
public void persisted(Long recordId) {
|
|
String lockKey = SystemConstant.REDIS_LOCK_EXAM_RECORD_PERSISTED_PREFIX + 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),
|
|
// ExamActivityRecordCacheUtil.removeActivityRecordCache(ExamRecordCacheUtil.getExamActivityId(recordId),
|
|
// recordId);
|
|
// recordId);
|
|
|
|
+ Long examActivityId = ExamRecordCacheUtil.getExamActivityId(recordId);
|
|
|
|
+ Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
|
|
redisUtil.delete(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
redisUtil.delete(RedisKeyHelper.examRecordCacheKey(recordId));
|
|
redisUtil.delete(RedisKeyHelper.examAnswerKey(recordId));
|
|
redisUtil.delete(RedisKeyHelper.examAnswerKey(recordId));
|
|
redisUtil.delete(RedisKeyHelper.audioLeftPlayCountKey(recordId));
|
|
redisUtil.delete(RedisKeyHelper.audioLeftPlayCountKey(recordId));
|
|
@@ -101,10 +102,10 @@ public class CommonServiceImpl implements CommonService {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
//删除未完成的考试id
|
|
//删除未完成的考试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);
|
|
log.info("end persisted,recordId:" + recordId);
|
|
} finally {
|
|
} finally {
|
|
redisUtil.releaseLock(lockKey);
|
|
redisUtil.releaseLock(lockKey);
|