From 076cd7a73eb60c86d43eda67c5625704576d44cc Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期二, 03 二月 2026 17:32:03 +0800
Subject: [PATCH] 实现mes空托和agv任务接口
---
rsf-open-api/src/main/java/com/vincent/rsf/openApi/feign/wms/fallback/WmsServerFeignClientFallback.java | 130 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 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..d6d375f 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
@@ -1,5 +1,6 @@
package com.vincent.rsf.openApi.feign.wms.fallback;
+import com.alibaba.fastjson.JSONObject;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.openApi.entity.phyz.InventoryQueryCondition;
import com.vincent.rsf.openApi.feign.wms.WmsServerFeignClient;
@@ -15,7 +16,132 @@
@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);
+ }
+
+ @Override
+ public R callForEmptyContainers(JSONObject condition) {
+ return callForEmptyContainers(condition, null);
+ }
+
+ public R callForEmptyContainers(JSONObject condition, Throwable throwable) {
+ log.error("璋冪敤WMS Server绌烘墭鍑哄簱鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�", throwable);
+ String errorMessage = filterErrorMessage(throwable);
+ return R.error(errorMessage);
+ }
+
+ @Override
+ public R emptyContainerWarehousing(JSONObject condition) {
+ return emptyContainerWarehousing(condition, null);
+ }
+
+ public R emptyContainerWarehousing(JSONObject condition, Throwable throwable) {
+ log.error("璋冪敤WMS Server绌烘墭鍏ュ簱鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�", throwable);
+ String errorMessage = filterErrorMessage(throwable);
+ return R.error(errorMessage);
+ }
+
+ @Override
+ public R mesAddTask(JSONObject condition) {
+ return mesAddTask(condition, null);
+ }
+
+ public R mesAddTask(JSONObject condition, Throwable throwable) {
+ log.error("璋冪敤WMS Servermes涓嬪彂agv杩愯緭浠诲姟鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�", throwable);
+ String errorMessage = filterErrorMessage(throwable);
+ return R.error(errorMessage);
+ }
+
+ @Override
+ public R mesCancelTask(JSONObject condition) {
+ return mesCancelTask(condition, null);
+ }
+
+ public R mesCancelTask(JSONObject condition, Throwable throwable) {
+ log.error("璋冪敤WMS Servermes鍙栨秷agv杩愯緭浠诲姟鎺ュ彛澶辫触锛岃Е鍙戦檷绾у鐞�", 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