Bläddra i källkod

修复校验题库模板出现重复key的问题

cgp 1 vecka sedan
förälder
incheckning
f40a768e81

+ 4 - 2
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -1491,6 +1491,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         }
 
         // 构建模板中每个问题下选项的 open 映射:title -> (optionValue -> open)
+        // 合并函数 (existing, replacement) -> replacement 保留最新的值
         Map<String, Map<Integer, Boolean>> openConfigMap = template.getAnswers().stream()
                 .collect(Collectors.toMap(
                         AnswerVO::getTitle,
@@ -1498,8 +1499,9 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
                                 .collect(Collectors.toMap(
                                         AnswerVO.Options::getValue,
                                         AnswerVO.Options::isOpen,
-                                        (existing, replacement) -> existing // 冲突时保留已存在的值
-                                ))
+                                        (existing, replacement) -> replacement // 保留最新
+                                )),
+                        (existing, replacement) -> replacement // 外层也保留最新(可选,防止title重复)
                 ));
 
         // 遍历提交的答案进行校验