From faa95a5b183a42a6c3fcf1d6a41d81caa33da3bc Mon Sep 17 00:00:00 2001
From: guyue <1721849008@qq.com>
Date: 星期三, 30 七月 2025 17:42:00 +0800
Subject: [PATCH] 修改定时器抢占

---
 src/main/java/com/linghu/controller/CollectController.java |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/linghu/controller/CollectController.java b/src/main/java/com/linghu/controller/CollectController.java
index 0fd9d17..0200878 100644
--- a/src/main/java/com/linghu/controller/CollectController.java
+++ b/src/main/java/com/linghu/controller/CollectController.java
@@ -1183,6 +1183,22 @@
             log.info("无有效引用数据,跳过批量保存");
             return;
         }
+//        // 在合并到 compositeKeyMap 之前
+//        validReferences = validReferences.stream()
+//                .collect(Collectors.toMap(
+//                        ref -> ref.getQuestion_id()
+//                                + "|" + ref.getPlatform_id()
+//                                + "|" + ref.getType_id()
+//                                + "|" + ref.getUrl()
+//                                + "|" + ref.getDomain()
+//                                + "|" + ref.getKeyword_id()
+//                                + "|" + ref.getNum(),
+//                        ref -> ref,
+//                        (r1, r2) -> r1  // 碰到同 key 就保第一个
+//                ))
+//                .values()
+//                .stream()
+//                .collect(Collectors.toList());
 
         // 2. 查询数据库中已存在的引用并过滤 null
         LambdaQueryWrapper<Reference> dbRefWrapper = new LambdaQueryWrapper<>();
@@ -1250,7 +1266,13 @@
             log.warn("引用核心字段为空,跳过映射:{}", ref);
             return;
         }
-        String key = ref.getQuestion_id() + "|" + ref.getTitle() + "|" + ref.getUrl() + "|" + ref.getDomain() + "|"  + ref.getNum();
+        String key = ref.getQuestion_id() + "|"
+                + ref.getPlatform_id() + "|"
+                + ref.getType_id() + "|"
+                + ref.getTitle() + "|"
+                + ref.getUrl() + "|"
+                + ref.getDomain() + "|"
+                + ref.getNum();
         map.computeIfAbsent(key, k -> new ArrayList<>()).add(ref);
     }
 

--
Gitblit v1.7.1