From 33622e473a5e51f13a16ef5c6c39be3bcc9e9155 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期四, 30 十月 2025 21:27:25 +0800
Subject: [PATCH] 增加条码的持久化逻辑
---
src/main/java/com/gs/xiaomi/service/BCS101Service.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gs/xiaomi/service/BCS101Service.java b/src/main/java/com/gs/xiaomi/service/BCS101Service.java
index d7baca5..48fd565 100644
--- a/src/main/java/com/gs/xiaomi/service/BCS101Service.java
+++ b/src/main/java/com/gs/xiaomi/service/BCS101Service.java
@@ -6,9 +6,12 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gs.xiaomi.dto.BCS101Request;
import com.gs.xiaomi.dto.BCS101Response;
+import com.gs.xiaomi.dto.CartonListItemDto;
import com.gs.xiaomi.dto.SnListItemDto;
+import com.gs.xiaomi.entity.CartonListItem;
import com.gs.xiaomi.entity.DeliveryMain;
import com.gs.xiaomi.entity.SnListItem;
+import com.gs.xiaomi.util.CartonListItemConverter;
import com.gs.xiaomi.util.SnListItemConverter;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
@@ -29,6 +32,7 @@
private final BCS101ApiService bcs101ApiService;
private final DeliveryMainService deliveryMainService;
private final SnListItemService snListItemService;
+ private final CartonListItemService cartonListItemService;
/**
* 鏍规嵁閫佽揣鍗曞彿鑾峰彇BCS101鏉$爜鏁版嵁骞舵寔涔呭寲
@@ -104,6 +108,37 @@
} else {
log.warn("銆怋CS101鏁版嵁鍚屾銆戝搷搴斾腑娌℃湁SN鏁版嵁, 閫佽揣鍗�: {}", asn);
}
+
+ // 鑾峰彇cartonList鏁版嵁
+ List<CartonListItemDto> cartonList = response.getBody().getCartonList();
+
+ if (cartonList != null && !cartonList.isEmpty()) {
+ log.info("銆怋CS101鏁版嵁鍚屾銆戣幏鍙栧埌 {} 鏉$鏁版嵁锛屽紑濮嬫寔涔呭寲...", cartonList.size());
+
+ // 杞崲DTO涓篍ntity锛屽苟璁剧疆鍏宠仈淇℃伅
+ List<CartonListItem> cartonEntityList = CartonListItemConverter.toEntityList(
+ cartonList,
+ deliveryMain.getId(), // deliveryMainId - 閫佽揣鍗曚富琛↖D
+ deliveryMain.getZzasn() // zzasn - 閫佽揣鍗曞彿
+ );
+
+ // 鍏堝垹闄よ閫佽揣鍗曞凡鏈夌殑绠辨暟鎹紙閬垮厤閲嶅锛�
+ cartonListItemService.lambdaUpdate()
+ .eq(CartonListItem::getZzasn, deliveryMain.getZzasn())
+ .remove();
+
+ // 鎵归噺淇濆瓨鍒版暟鎹簱
+ boolean cartonSaved = cartonListItemService.saveBatch(cartonEntityList);
+
+ if (cartonSaved) {
+ log.info("銆怋CS101鏁版嵁鍚屾鎴愬姛銆戞垚鍔熶繚瀛� {} 鏉$鏁版嵁鍒版暟鎹簱, 閫佽揣鍗�: {}", cartonEntityList.size(), asn);
+ } else {
+ log.error("銆怋CS101鏁版嵁鍚屾澶辫触銆戜繚瀛樼鏁版嵁澶辫触, 閫佽揣鍗�: {}", asn);
+ throw new RuntimeException("淇濆瓨绠辨暟鎹け璐�");
+ }
+ } else {
+ log.warn("銆怋CS101鏁版嵁鍚屾銆戝搷搴斾腑娌℃湁绠辨暟鎹�, 閫佽揣鍗�: {}", asn);
+ }
} else {
log.error("銆怋CS101鏁版嵁鍚屾澶辫触銆戞帴鍙h皟鐢ㄥけ璐�, 閫佽揣鍗�: {}, 閿欒: {}", asn, response.getErrorDesc());
throw new RuntimeException("BCS101鎺ュ彛璋冪敤澶辫触: " + response.getErrorDesc());
--
Gitblit v1.9.3