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-dms/jnpf-dms-biz/src/main/java/jnpf/dmsIntegration/audit/DmsAuditAdapter.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsIntegration/audit/DmsAuditAdapter.java b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsIntegration/audit/DmsAuditAdapter.java
new file mode 100644
index 0000000..27b5bff
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsIntegration/audit/DmsAuditAdapter.java
@@ -0,0 +1,42 @@
+package jnpf.dmsIntegration.audit;
+
+import jnpf.audit.AuditConsts;
+import jnpf.audit.model.AuditEventDTO;
+import jnpf.audit.sdk.AuditClient;
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.stereotype.Component;
+
+@Component
+public class DmsAuditAdapter {
+    private final ObjectProvider<AuditClient> auditClient;
+
+    public DmsAuditAdapter(ObjectProvider<AuditClient> auditClient) {
+        this.auditClient = auditClient;
+    }
+
+    public void dataChange(String actionCode, String actionLabel, String table, String id,
+                           String reason, String extra) {
+        record(AuditConsts.TYPE_DATA_CHANGE, actionCode, actionLabel, table, id, reason, extra);
+    }
+
+    public void permissionDecision(boolean allowed, String actionLabel, String resourceId, String extra) {
+        record(AuditConsts.TYPE_BIZ_ACTION, allowed ? "PERMISSION_ALLOW" : "PERMISSION_DENY",
+                actionLabel, "dms_permission_resources", resourceId, null, extra);
+    }
+
+    private void record(String eventType, String actionCode, String actionLabel, String table, String id,
+                        String reason, String extra) {
+        auditClient.ifAvailable(client -> client.record(AuditEventDTO.builder()
+                .eventType(eventType)
+                .actionCode(actionCode)
+                .actionLabel(actionLabel)
+                .bizModule("DMS_PERMISSION")
+                .bizType("DMS_PERMISSION")
+                .targetTable(table)
+                .targetId(id)
+                .reason(reason)
+                .extra(extra)
+                .sourceLayer(3)
+                .build()));
+    }
+}

--
Gitblit v1.8.0