From 0d49292f712b2851105c69eed255f95cf2184187 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 17 四月 2026 10:25:23 +0800
Subject: [PATCH] lsh#

---
 rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/ParamsMapUtils.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/ParamsMapUtils.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/ParamsMapUtils.java
index 302e515..83c17e5 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/ParamsMapUtils.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/utils/ParamsMapUtils.java
@@ -110,6 +110,43 @@
     }
 
     /**
+     * 鍙嶅悜瀛楁鏄犲皠杞崲锛坱arget 鈫� source锛�
+     * 鐢ㄤ簬涓婃姤鍦烘櫙锛歐MS鍥炰紶瀛楁鍚嶈繕鍘熶负ERP瀛楁鍚�
+     *
+     * @param appId 搴旂敤ID
+     * @param funcId 鍔熻兘ID
+     * @param params 缁忚繃姝e悜鏄犲皠鐨勫弬鏁�
+     * @return 鍙嶅悜鏄犲皠鍚庣殑鍙傛暟
+     */
+    public static JSONObject reverseApiMaps(String appId, String funcId, JSONObject params) {
+        if (params == null || params.isEmpty()) {
+            return params;
+        }
+
+        List<ApiMap> maps = ATTRIBUTE_MAPS.stream()
+                .filter(map -> map.getAppId().equals(appId) && map.getFuncId().equals(funcId))
+                .toList();
+
+        if (maps.isEmpty()) {
+            log.debug("鏈壘鍒版槧灏勯厤缃� - appId:{}, funcId:{}", appId, funcId);
+            return params;
+        }
+
+        // 鍙嶅悜鏄犲皠锛歵argetAttribute 鈫� sourceAttribute
+        Map<String, String> reverseRules = new HashMap<>();
+        for (ApiMap map : maps) {
+            String sourceAttribute = map.getSourceAttribute();
+            String targetAttribute = map.getTargetAttribute();
+            if (!StringUtils.isBlank(sourceAttribute) && !StringUtils.isBlank(targetAttribute)) {
+                reverseRules.put(targetAttribute, sourceAttribute);
+            }
+        }
+
+        JSONObject result = replaceKeysRecursive(params, reverseRules);
+        return result;
+    }
+
+    /**
      * 閫掑綊鏇挎崲JSON鎵�鏈夊眰绾х殑灞炴�у悕绉�
      * 鏀寔宓屽瀵硅薄鍜屾暟缁勭殑娣卞害閬嶅巻
      *

--
Gitblit v1.9.1