From ff225eded880cea74563368c8c18483efc85ab28 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 22 五月 2026 17:29:36 +0800
Subject: [PATCH] feat:统计相关接口

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/SignHelper.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/SignHelper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/SignHelper.java
new file mode 100644
index 0000000..0df5a58
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/utils/SignHelper.java
@@ -0,0 +1,46 @@
+package com.by4cloud.platformx.business.utils;
+
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
+import java.util.Map;
+import java.util.TreeMap;
+
+/**
+ * 璇锋眰寮�鏀惧钩鍙板浠舵巿鏉冪浉鍏虫帴鍙g殑鍔犵绫�
+ * SignHelper
+ *
+ * syt
+ * 2026骞�5鏈�20鏃� 10:31:44
+ */
+public class SignHelper {
+
+
+    /**
+     * 鎸夊弬鏁板悕鎺掑簭鍚庝緷娆℃嫾鎺ュ弬鏁板悕绉颁笌鏁板�硷紝 涔嬪悗瀵硅瀛楃涓蹭娇鐢� HmacSHA256 鍔犵锛� 鍔犵缁撴灉杩涜 base 64 杩斿洖
+     *
+     */
+    public static String sign(Map<String, Object> params, String suiteSecret) throws
+            NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
+        Map<String, Object> treeMap;
+        if (params instanceof TreeMap) {
+            treeMap = params;
+        } else {
+            treeMap = new TreeMap<>(params);
+        }
+        StringBuilder stringBuilder = new StringBuilder();
+        for (Map.Entry<String, Object> entry : treeMap.entrySet()) {
+            stringBuilder.append(entry.getKey()).append(entry.getValue());
+        }
+        Mac mac = Mac.getInstance("HmacSHA256");
+        mac.init(new SecretKeySpec(suiteSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));
+        byte[] signData = mac.doFinal(stringBuilder.toString().getBytes(StandardCharsets.UTF_8));
+        String base64String = Base64.getEncoder().encodeToString(signData);
+        return URLEncoder.encode(base64String, "UTF-8");
+    }
+}

--
Gitblit v1.9.1