|
@@ -308,8 +308,10 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
|
Integer subIndex = (Integer) param.get("subIndex");
|
|
|
String lockKey = SystemConstant.REDIS_LOCK_TOTAL_OBJECTIVE_SCORE_PREFIX + recordId;
|
|
|
try {
|
|
|
+ String key = RedisKeyHelper.examAnswerHashKey(mainNumber, subNumber, subIndex);
|
|
|
Boolean lock = redisUtil.lock(lockKey, SystemConstant.REDIS_CACHE_TIME_OUT);
|
|
|
if (lock) {
|
|
|
+ log.info("calculateTotalObjectiveScore get lock sucss recordId:"+recordId+" key:"+key);
|
|
|
Map<String, ExamStudentAnswerCacheBean> as = redisUtil.getHashEntries(RedisKeyHelper.examAnswerKey(recordId));
|
|
|
if (as != null && as.size() > 0) {
|
|
|
Double total = 0.0;
|
|
@@ -318,6 +320,7 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
|
if (sa.getScore() != null) {//有分值
|
|
|
total = total + sa.getScore();
|
|
|
} else {
|
|
|
+ log.info("calculateTotalObjectiveScore ExamStudentAnswerCacheBean Score is null recordId:"+recordId+" key:"+RedisKeyHelper.examAnswerHashKey(sa.getMainNumber(), sa.getSubNumber(), sa.getSubIndex()));
|
|
|
total = null;
|
|
|
break;
|
|
|
}
|
|
@@ -325,9 +328,12 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
|
|
|
}
|
|
|
if (total != null) {
|
|
|
ExamRecordCacheUtil.setObjectiveScore(recordId, total, true);
|
|
|
+ }else {
|
|
|
+ log.info("calculateTotalObjectiveScore total Score is null recordId:"+recordId+" key:"+key);
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
+ log.info("calculateTotalObjectiveScore get lock faild recordId:"+recordId+" key:"+key);
|
|
|
calculateObjectiveScoreMsg(recordId, mainNumber, subNumber, subIndex);
|
|
|
}
|
|
|
} finally {
|