diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java index 448c489a..63a1159d 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/FaceServiceImpl.java @@ -1289,16 +1289,13 @@ public class FaceServiceImpl implements FaceService { List currentAccepted = parseMatchSampleIds(face.getMatchSampleIds()); List manualAccepted = Optional.ofNullable(req.getManualAcceptedSampleIds()).orElse(Collections.emptyList()); - LinkedHashSet finalSampleSet = new LinkedHashSet<>(); - manualAccepted.stream() + // 直接使用上传的样本ID列表,不与旧数据合并 + List finalSampleList = manualAccepted.stream() .filter(Objects::nonNull) - .forEach(finalSampleSet::add); - currentAccepted.stream() - .filter(Objects::nonNull) - .forEach(finalSampleSet::add); + .distinct() + .collect(Collectors.toList()); boolean hasManualChange = !manualAccepted.isEmpty(); - List finalSampleList = new ArrayList<>(finalSampleSet); boolean needsUpdate = hasManualChange && !finalSampleList.equals(currentAccepted); if (needsUpdate) {