From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-biz-common/jnpf-audit-api/src/main/java/jnpf/audit/AuditOperationIds.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/jnpf-biz-common/jnpf-audit-api/src/main/java/jnpf/audit/AuditOperationIds.java b/jnpf-biz-common/jnpf-audit-api/src/main/java/jnpf/audit/AuditOperationIds.java
new file mode 100644
index 0000000..be58dee
--- /dev/null
+++ b/jnpf-biz-common/jnpf-audit-api/src/main/java/jnpf/audit/AuditOperationIds.java
@@ -0,0 +1,34 @@
+package jnpf.audit;
+
+/** 鐢卞悗绔鍙戠殑 biz_sign 娲剧敓绋冲畾鐨勫璁℃搷浣滃垎缁勯敭銆� */
+public final class AuditOperationIds {
+
+ private static final String PREFIX = "BS-";
+ private static final int MAX_SIGN_LENGTH = 40;
+
+ public static String correlation(String bizSign) {
+ String normalized = normalize(bizSign);
+ return normalized == null ? null : PREFIX + normalized;
+ }
+
+ private static String normalize(String bizSign) {
+ if (bizSign == null) {
+ return null;
+ }
+ String value = bizSign.trim();
+ if (value.isEmpty() || value.length() > MAX_SIGN_LENGTH) {
+ return null;
+ }
+ for (int i = 0; i < value.length(); i++) {
+ char ch = value.charAt(i);
+ boolean asciiLetter = (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
+ if (!asciiLetter && (ch < '0' || ch > '9') && ch != '-' && ch != '_') {
+ return null;
+ }
+ }
+ return value;
+ }
+
+ private AuditOperationIds() {
+ }
+}
--
Gitblit v1.8.0