diff --git a/src/main/java/com/hotwj/platform/securityManagement/trainingAnswer/service/impl/HotTrainingAnswerRecordServiceImpl.java b/src/main/java/com/hotwj/platform/securityManagement/trainingAnswer/service/impl/HotTrainingAnswerRecordServiceImpl.java index 1cd1609..58c09da 100644 --- a/src/main/java/com/hotwj/platform/securityManagement/trainingAnswer/service/impl/HotTrainingAnswerRecordServiceImpl.java +++ b/src/main/java/com/hotwj/platform/securityManagement/trainingAnswer/service/impl/HotTrainingAnswerRecordServiceImpl.java @@ -293,6 +293,9 @@ public class HotTrainingAnswerRecordServiceImpl implements IHotTrainingAnswerRec // 更新 HotTrainingAnswerRecord existing = existingMap.get(entity.getQuestionSource()); entity.setId(existing.getId()); + + mergeErrorData(entity, existing); + toUpdate.add(entity); } else { // 插入 @@ -506,4 +509,18 @@ public class HotTrainingAnswerRecordServiceImpl implements IHotTrainingAnswerRec } throw new ServiceException("无法获取提交人姓名,签名校验失败"); } + + /** + * 累加错误次数并拼接最新的错误答案 + * 拼接后的总长度控制在200字符内,保留最新产生的数据(先不要) + * + * @param entity 当前传入的答题实体 + * @param existing 数据库中已存在的答题实体 + */ + private void mergeErrorData(HotTrainingAnswerRecord entity, HotTrainingAnswerRecord existing) { + // 1. 累加错误次数,前端提交一次答题,只会加一次 + int currentErrorCount = entity.getErrorCount() != null ? 1 : 0; + int existingErrorCount = existing.getErrorCount() != null ? existing.getErrorCount() : 0; + entity.setErrorCount(existingErrorCount + currentErrorCount); + } } diff --git a/src/main/resources/mapper/courseAnswer/HotTrainingAnswerRecordMapper.xml b/src/main/resources/mapper/courseAnswer/HotTrainingAnswerRecordMapper.xml index 518bba9..adec4da 100644 --- a/src/main/resources/mapper/courseAnswer/HotTrainingAnswerRecordMapper.xml +++ b/src/main/resources/mapper/courseAnswer/HotTrainingAnswerRecordMapper.xml @@ -140,7 +140,7 @@