From a9c0907f0b45e1f9508967cb34e3c0d30292fad5 Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Wed, 22 Mar 2023 10:57:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E8=AF=81=E9=A2=98=E7=9B=AE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jlw/service/GeneralQuestionLogService.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java index d962faac..7dd9b3fd 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java @@ -1,6 +1,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Assert; @@ -814,10 +815,23 @@ public class GeneralQuestionLogService extends CoreBaseService logList = getValuesBySettingIds(questionSettingId.toString()); - GeneralQuestionSetting questionSetting = generalQuestionSettingService.getInfo(questionSettingId); setErrorSuccessCountField(updateList, logList); + // 这里是库里查询到多条记录,但只更新改过值的数据 + updateList.forEach(item -> { + // 直接替换表里查询到的数据 + int index = CollUtil.indexOf(logList, questionLog -> questionLog.getGeneralQuestionLogId().equals(item.getGeneralQuestionLogId())); + Optional optional = logList.stream() + .filter(o -> o.getGeneralQuestionLogId().equals(item.getGeneralQuestionLogId())).findFirst(); + + optional.ifPresent(c -> { + logList.set(index, c); + }); + }); + + GeneralQuestionSetting questionSetting = generalQuestionSettingService.getInfo(questionSettingId); + if (CollectionUtil.isNotEmpty(logList) && questionSetting != null) { String logIds = logList.stream().map(GeneralQuestionLog::getGeneralQuestionLogId).map(Objects::toString).collect(joining(",")); addQuestionLogSummary(logIds, logList, student, questionSetting.getGeneralQuestionSettingName(), questionSetting.getBusinessType(), questionSetting.getGeneralQuestionSettingType());