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-biz-common-audit/src/main/java/jnpf/bizcommon/audit/service/support/AuditEventCategories.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/jnpf-biz-common/jnpf-biz-common-audit/src/main/java/jnpf/bizcommon/audit/service/support/AuditEventCategories.java b/jnpf-biz-common/jnpf-biz-common-audit/src/main/java/jnpf/bizcommon/audit/service/support/AuditEventCategories.java
new file mode 100644
index 0000000..e10d1dd
--- /dev/null
+++ b/jnpf-biz-common/jnpf-biz-common-audit/src/main/java/jnpf/bizcommon/audit/service/support/AuditEventCategories.java
@@ -0,0 +1,50 @@
+package jnpf.bizcommon.audit.service.support;
+
+import jnpf.audit.AuditConsts;
+import jnpf.util.JsonUtil;
+import org.springframework.util.StringUtils;
+
+import java.util.Locale;
+import java.util.Map;
+
+/** 瀹¤浜嬩欢鐗╃悊鍚堝苟鍒嗙被锛涘悓涓� operationId 姣忕被鏈�澶氫竴琛屻�� */
+public final class AuditEventCategories {
+    public static final String BUSINESS = "BUSINESS";
+    public static final String PRIMARY_SIGN = "PRIMARY_SIGN";
+    public static final String REVIEW_SIGN = "REVIEW_SIGN";
+
+    private AuditEventCategories() {
+    }
+
+    public static String resolve(String eventType, String extraJson) {
+        if (!AuditConsts.TYPE_E_SIGNATURE.equals(eventType)) {
+            return BUSINESS;
+        }
+        String explicitRole = extraValue(extraJson, "signatureRole");
+        if ("REVIEW".equalsIgnoreCase(explicitRole)) {
+            return REVIEW_SIGN;
+        }
+        String signField = extraValue(extraJson, "signField");
+        if (StringUtils.hasText(signField)) {
+            String normalized = signField.toLowerCase(Locale.ROOT);
+            if (normalized.contains("review") || normalized.contains("fuhe")
+                    || normalized.contains("澶嶅") || normalized.contains("澶嶆牳")) {
+                return REVIEW_SIGN;
+            }
+        }
+        return PRIMARY_SIGN;
+    }
+
+    private static String extraValue(String extraJson, String key) {
+        if (!StringUtils.hasText(extraJson)) {
+            return null;
+        }
+        try {
+            Map<String, Object> extra = JsonUtil.stringToMap(extraJson);
+            Object value = extra == null ? null : extra.get(key);
+            return value == null ? null : String.valueOf(value);
+        } catch (Throwable ignored) {
+            return null;
+        }
+    }
+}

--
Gitblit v1.8.0