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-flow-engine/src/main/java/jnpf/workflow/admin/controller/DefinitionController.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/DefinitionController.java b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/DefinitionController.java
new file mode 100644
index 0000000..ed9ebec
--- /dev/null
+++ b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/DefinitionController.java
@@ -0,0 +1,65 @@
+package jnpf.workflow.admin.controller;
+
+import java.util.List;
+
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+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 io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import jnpf.workflow.admin.result.Result;
+import jnpf.workflow.common.exception.ResultCode;
+import jnpf.workflow.common.model.fo.DefinitionDeleteFo;
+import jnpf.workflow.common.model.fo.DefinitionDeployFo;
+import jnpf.workflow.common.model.vo.DefinitionVo;
+import jnpf.workflow.common.model.vo.DeploymentVo;
+import jnpf.workflow.common.service.IDefinitionService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Tag(name = "娴佺▼瀹氫箟鎺у埗灞�", description = "DefinitionController")
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/Flow/definition")
+public class DefinitionController {
+
+    private final IDefinitionService definitionService;
+
+    @Operation(summary = "deploy", description = "閮ㄧ讲娴佺▼瀹氫箟")
+    @PostMapping("/deploy")
+    public Result<DeploymentVo> deploy(@RequestBody @Valid DefinitionDeployFo fo) {
+        DeploymentVo vo = definitionService.deployDefinition(fo);
+        if (null != vo) {
+            return Result.success(vo);
+        }
+        return Result.failed(ResultCode.DEPLOY_FAILURE);
+    }
+
+    @Operation(summary = "list", description = "鍒楄〃鏌ヨ娴佺▼瀹氫箟")
+    @GetMapping("/list")
+    public Result<List<DefinitionVo>> list() {
+        return Result.success(definitionService.listDefinition());
+    }
+
+    @Operation(summary = "delete", description = "鍒犻櫎娴佺▼瀹氫箟")
+    @DeleteMapping
+    public Result<Boolean> delete(@Valid DefinitionDeleteFo fo) {
+        if (definitionService.deleteDefinition(fo)) {
+            return Result.success(ResultCode.DELETE_SUCCESS);
+        }
+        return Result.failed(ResultCode.DELETE_FAILURE);
+    }
+
+    @Operation(summary = "get", description = "鑾峰彇娴佺▼鍏冪礌")
+    @GetMapping("/{deploymentId}")
+    public Result getStructure(@PathVariable("deploymentId") String deploymentId) {
+        return Result.success(definitionService.getStructure(deploymentId));
+    }
+}

--
Gitblit v1.8.0