| | |
| | | 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<>(); |
| | |
| | | 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); |
| | | } |
| | | |