From dff0470bf77f3fa525a9d1f1f761dd9609072205 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 07 五月 2025 12:07:31 +0800 Subject: [PATCH] 11 --- src/main/java/com/gs/xiaomi/service/XM104Service.java | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gs/xiaomi/service/XM104Service.java b/src/main/java/com/gs/xiaomi/service/XM104Service.java index 8bb4e31..fdb53d5 100644 --- a/src/main/java/com/gs/xiaomi/service/XM104Service.java +++ b/src/main/java/com/gs/xiaomi/service/XM104Service.java @@ -22,6 +22,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; @Service @Transactional(rollbackFor = Exception.class) @@ -75,7 +80,9 @@ //鑾峰彇鎵�鏈夌殑ASN鍙� List<EtHeader> etHeaders = deliveryNo.getEtHeaders(); - etHeaders.forEach(etHeader -> { + List<EtHeader> collect = etHeaders.stream().filter(distinctByKey(EtHeader::getZzasn)).collect(Collectors.toList()); + + collect.forEach(etHeader -> { log.info("1.鑾峰彇鍒伴�佽揣鍗曞彿: {}", etHeader.getZzasn()); @@ -114,6 +121,11 @@ BizDocumentResult bizDocumentResult = soapApiService.callAndParse(DataAcquisitionConfiguration.XM104_URL, request); return bizDocumentResult; + } + + private <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { + Map<Object, Boolean> seen = new ConcurrentHashMap<>(); + return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; } private void setDeliveryMain(BizDocumentResult result) { @@ -196,7 +208,7 @@ } - deliveryMainService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + etHeader.getZzasn(), ""); + //deliveryMainService.callPdaReceiptBtn("閫佽揣鍗曠鏀禰BTNOK[PL017[" + etHeader.getZzasn(), ""); }); } -- Gitblit v1.9.3