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-controller/src/main/java/jnpf/dmsController/permission/PermissionDecisionController.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/permission/PermissionDecisionController.java b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/permission/PermissionDecisionController.java
new file mode 100644
index 0000000..0fce4ea
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-controller/src/main/java/jnpf/dmsController/permission/PermissionDecisionController.java
@@ -0,0 +1,43 @@
+package jnpf.dmsController.permission;
+
+import jakarta.validation.Valid;
+import jnpf.base.ActionResult;
+import jnpf.dmsEntity.permission.form.PermissionBatchDecisionForm;
+import jnpf.dmsEntity.permission.form.PermissionDecisionForm;
+import jnpf.dmsEntity.permission.vo.DmsAdminCapabilitiesVO;
+import jnpf.dmsEntity.permission.vo.DmsPermissionDecisionVO;
+import jnpf.dmsPermission.DmsCurrentIdentity;
+import jnpf.dmsService.DmsPermissionDecisionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping
+@RequiredArgsConstructor
+public class PermissionDecisionController {
+    private final DmsPermissionDecisionService decisionService;
+    private final DmsCurrentIdentity currentIdentity;
+
+    @PostMapping("/permission-decisions/evaluate")
+    public ActionResult<DmsPermissionDecisionVO> evaluate(
+            @RequestBody @Valid PermissionDecisionForm form) {
+        return ActionResult.success(decisionService.evaluate(form));
+    }
+
+    @PostMapping("/permission-decisions/batch-evaluate")
+    public ActionResult<List<DmsPermissionDecisionVO>> batchEvaluate(
+            @RequestBody @Valid PermissionBatchDecisionForm form) {
+        return ActionResult.success(decisionService.evaluate(form.getRequests()));
+    }
+
+    @GetMapping("/permission-admin/capabilities")
+    public ActionResult<DmsAdminCapabilitiesVO> capabilities() {
+        return ActionResult.success(new DmsAdminCapabilitiesVO(currentIdentity.isPermissionAdministrator()));
+    }
+}

--
Gitblit v1.8.0