From a38d4a8619b886e2544cdefe421f171765ad2229 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 03 二月 2026 10:11:51 +0800
Subject: [PATCH] 库存汇总

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java
index 0c846f7..2e33cf4 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java
@@ -15,7 +15,88 @@
 
     @Override
     public R queryInventoryDetails(InventoryQueryCondition condition) {
-        log.error("璋冪敤WMS Server搴撳瓨鏌ヨ鏄庣粏鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�");
-        return R.error("鏈嶅姟璋冪敤澶辫触锛岃绋嶅悗閲嶈瘯");
+        return queryInventoryDetails(condition, null);
+    }
+
+    /**
+     * 搴撳瓨鏌ヨ鏄庣粏闄嶇骇澶勭悊锛堝甫寮傚父淇℃伅锛�
+     * @param condition 鏌ヨ鏉′欢
+     * @param throwable 寮傚父淇℃伅锛堝彲閫夛級
+     * @return 閿欒鍝嶅簲
+     */
+    public R queryInventoryDetails(InventoryQueryCondition condition, Throwable throwable) {
+        log.error("璋冪敤WMS Server搴撳瓨鏌ヨ鏄庣粏鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�", throwable);
+        String errorMessage = filterErrorMessage(throwable);
+        return R.error(errorMessage);
+    }
+
+    @Override
+    public R queryInventorySummary(InventoryQueryCondition condition) {
+        return queryInventorySummary(condition, null);
+    }
+
+    /**
+     * 搴撳瓨鏌ヨ姹囨�婚檷绾у鐞嗭紙甯﹀紓甯镐俊鎭級
+     * @param condition 鏌ヨ鏉′欢
+     * @param throwable 寮傚父淇℃伅锛堝彲閫夛級
+     * @return 閿欒鍝嶅簲
+     */
+    public R queryInventorySummary(InventoryQueryCondition condition, Throwable throwable) {
+        log.error("璋冪敤WMS Server搴撳瓨鏌ヨ姹囨�绘帴鍙eけ璐ワ紝瑙﹀彂闄嶇骇澶勭悊", throwable);
+        String errorMessage = filterErrorMessage(throwable);
+        return R.error(errorMessage);
+    }
+
+    /**
+     * 杩囨护閿欒娑堟伅涓殑URL锛屽彧淇濈暀閿欒绫诲瀷
+     * @param throwable 寮傚父瀵硅薄锛堝彲閫夛級
+     * @return 杩囨护鍚庣殑瀹屾暣閿欒娑堟伅锛堝寘鍚�"鏌ヨ澶辫触锛�"鍓嶇紑锛�
+     */
+    public static String filterErrorMessage(Throwable throwable) {
+        if (throwable == null) {
+            return "鏌ヨ澶辫触锛氭湇鍔¤皟鐢ㄥけ璐ワ紝璇风◢鍚庨噸璇�";
+        }
+        return filterErrorMessage(throwable.getMessage());
+    }
+
+    /**
+     * 杩囨护閿欒娑堟伅涓殑URL锛屽彧淇濈暀閿欒绫诲瀷
+     * @param errorMessage 閿欒娑堟伅瀛楃涓诧紙鍙�夛級
+     * @return 杩囨护鍚庣殑瀹屾暣閿欒娑堟伅锛堝寘鍚�"鏌ヨ澶辫触锛�"鍓嶇紑锛�
+     */
+    public static String filterErrorMessage(String errorMessage) {
+        if (errorMessage == null || errorMessage.isEmpty()) {
+            return "鏌ヨ澶辫触锛氭湭鐭ラ敊璇�";
+        }
+        
+        String filteredMessage = errorMessage;
+        
+        // 濡傛灉鍖呭惈"executing"锛岃鏄庢槸HTTP璇锋眰閿欒锛屽幓鎺塙RL閮ㄥ垎
+        if (filteredMessage.contains("executing")) {
+            int executingIndex = filteredMessage.indexOf("executing");
+            if (executingIndex > 0) {
+                // 鎻愬彇"executing"涔嬪墠鐨勯儴鍒嗭紙濡�"Read timed out"锛�
+                filteredMessage = filteredMessage.substring(0, executingIndex).trim();
+            } else {
+                // 濡傛灉"executing"鍦ㄥ紑澶达紝浣跨敤榛樿閿欒娑堟伅
+                filteredMessage = "璇锋眰瓒呮椂";
+            }
+        }
+        // 濡傛灉鍖呭惈"http://"鎴�"https://"锛屼篃灏濊瘯鍘绘帀URL閮ㄥ垎
+        else if (filteredMessage.contains("http://") || filteredMessage.contains("https://")) {
+            // 浣跨敤姝e垯琛ㄨ揪寮忓幓鎺塙RL
+            filteredMessage = filteredMessage.replaceAll("https?://[^\\s]+", "").trim();
+            if (filteredMessage.isEmpty()) {
+                filteredMessage = "璇锋眰澶辫触";
+            }
+        }
+        
+        // 濡傛灉杩囨护鍚庣殑娑堟伅涓虹┖锛屼娇鐢ㄩ粯璁ら敊璇秷鎭�
+        if (filteredMessage.isEmpty()) {
+            filteredMessage = "鏈煡閿欒";
+        }
+        
+        // 杩斿洖鍖呭惈"鏌ヨ澶辫触锛�"鍓嶇紑鐨勫畬鏁撮敊璇秷鎭�
+        return "鏌ヨ澶辫触锛�" + filteredMessage;
     }
 }

--
Gitblit v1.9.1