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/TaskController.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 179 insertions(+), 0 deletions(-)
diff --git a/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/TaskController.java b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/TaskController.java
new file mode 100644
index 0000000..15fbe53
--- /dev/null
+++ b/jnpf-flow-engine/src/main/java/jnpf/workflow/admin/controller/TaskController.java
@@ -0,0 +1,179 @@
+package jnpf.workflow.admin.controller;
+
+import java.util.List;
+
+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.CompensateFo;
+import jnpf.workflow.common.model.fo.FlowTargetTaskFo;
+import jnpf.workflow.common.model.fo.InfoModel;
+import jnpf.workflow.common.model.fo.JumpFo;
+import jnpf.workflow.common.model.fo.MoveMultiToSingleFo;
+import jnpf.workflow.common.model.fo.MoveSingleToMultiFo;
+import jnpf.workflow.common.model.fo.TaskAfterFo;
+import jnpf.workflow.common.model.fo.TaskBackFo;
+import jnpf.workflow.common.model.fo.TaskCompleteFo;
+import jnpf.workflow.common.model.fo.TaskNextFo;
+import jnpf.workflow.common.model.fo.TaskOutgoingFo;
+import jnpf.workflow.common.model.fo.TaskPrevFo;
+import jnpf.workflow.common.model.vo.HistoricNodeVo;
+import jnpf.workflow.common.model.vo.NodeElementVo;
+import jnpf.workflow.common.model.vo.TaskVo;
+import jnpf.workflow.common.service.ITaskService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Tag(name = "娴佺▼浠诲姟鎺у埗灞�", description = "TaskController")
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/api/Flow/task")
+public class TaskController {
+
+ private final ITaskService taskService;
+
+ @Operation(summary = "list", description = "鏍规嵁娴佺▼瀹炰緥ID鑾峰彇浠诲姟")
+ @GetMapping("/list/{instanceId}")
+ public Result<List<TaskVo>> list(@PathVariable("instanceId") String instanceId) {
+ return Result.success(taskService.getTask(instanceId));
+ }
+
+ @Operation(summary = "complete", description = "瀹屾垚浠诲姟")
+ @PostMapping("/complete")
+ public Result<Boolean> complete(@RequestBody @Valid TaskCompleteFo fo) {
+ if (taskService.complete(fo)) {
+ return Result.success(ResultCode.COMPLETE_SUCCESS);
+ }
+ return Result.failed(ResultCode.COMPLETE_FAILURE);
+ }
+
+ @Operation(summary = "moveSingleToMulti", description = "鍗曡妭鐐硅烦杞鑺傜偣")
+ @PostMapping("/move/single/to/multi")
+ public Result<Boolean> moveSingleToMulti(@RequestBody @Valid MoveSingleToMultiFo fo) {
+ if (taskService.moveSingleToMulti(fo)) {
+ return Result.success(ResultCode.JUMP_SUCCESS);
+ }
+ return Result.failed(ResultCode.JUMP_FAILURE);
+ }
+
+ @Operation(summary = "moveMultiToSingle", description = "澶氳妭鐐硅烦杞崟鑺傜偣")
+ @PostMapping("/move/multi/to/single")
+ public Result<Boolean> moveMultiToSingle(@RequestBody @Valid MoveMultiToSingleFo fo) {
+ if (taskService.moveMultiToSingle(fo)) {
+ return Result.success(ResultCode.JUMP_SUCCESS);
+ }
+ return Result.failed(ResultCode.JUMP_FAILURE);
+ }
+
+ @Operation(summary = "jump", description = "鑺傜偣璺宠浆")
+ @PostMapping("/jump")
+ public Result<Boolean> jump(@RequestBody JumpFo fo) {
+ if (taskService.jump(fo)) {
+ return Result.success(ResultCode.JUMP_SUCCESS);
+ }
+ return Result.failed(ResultCode.JUMP_FAILURE);
+ }
+
+ @Operation(summary = "fallbacks", description = "鑾峰彇鍙洖閫�鐨勮妭鐐笽D")
+ @GetMapping("/fallbacks/{taskId}")
+ public Result<List<String>> fallbacks(@PathVariable("taskId") String taskId) {
+ return Result.success(taskService.getFallbacks(taskId));
+ }
+
+ @Operation(summary = "back", description = "閫�鍥�")
+ @PostMapping("/back")
+ public Result<List<String>> back(@RequestBody @Valid TaskBackFo fo) {
+ return Result.success(taskService.back(fo));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇涓婁竴绾т换鍔¤妭鐐笽D闆嗗悎")
+ @GetMapping("/prev")
+ public Result<List<String>> getPrev(TaskPrevFo fo) {
+ return Result.success(taskService.getPrevUserTask(fo));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇涓嬩竴绾т换鍔¤妭鐐归泦鍚�")
+ @GetMapping("/next")
+ public Result<List<NodeElementVo>> getNext(TaskNextFo fo) {
+ return Result.success(taskService.getNextUserTask(fo));
+ }
+
+ @Operation(summary = "retract", description = "鎾ゅ洖")
+ @PostMapping("/retract/{taskId}")
+ public Result<Boolean> retract(@PathVariable("taskId") String taskId) {
+ if (taskService.retract(taskId)) {
+ return Result.success(ResultCode.RETRACT_SUCCESS);
+ }
+ return Result.failed(ResultCode.RETRACT_FAILURE);
+ }
+
+ @Operation(summary = "outgoingFlows", description = "鑾峰彇鍑虹嚎Key闆嗗悎锛堣嫢鍑虹嚎鐨勫嚭鍙d负缃戝叧锛屽垯涓�骞惰幏鍙栫綉鍏崇殑鍑虹嚎锛�")
+ @GetMapping("/outgoing/flows")
+ public Result<List<String>> getOutgoingFlows(TaskOutgoingFo fo) {
+ return Result.success(taskService.getOutgoingFlows(fo));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇瀹屾垚鐨勮妭鐐筀ey")
+ @GetMapping("/finished/keys/{instanceId}")
+ public Result<List<String>> getKeysOfFinished(@PathVariable("instanceId") String instanceId) {
+ return Result.success(taskService.getKeysOfFinished(instanceId));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇杩涚嚎鐨凨ey")
+ @GetMapping("/incoming/flows/{taskId}")
+ public Result<List<String>> getIncomingFlows(@PathVariable("taskId") String taskId) {
+ return Result.success(taskService.getIncomingFlows(taskId));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇绾夸箣鍚庣殑浠诲姟鑺傜偣")
+ @GetMapping("/flow/target")
+ public Result<List<String>> getTaskKeyAfterFlow(FlowTargetTaskFo fo) {
+ return Result.success(taskService.getTaskKeyAfterFlow(fo));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇鏈粡杩囩殑鑺傜偣")
+ @GetMapping("/tobe/pass/{instanceId}")
+ public Result<List<String>> getToBePass(@PathVariable("instanceId") String instanceId) {
+ return Result.success(taskService.getToBePass(instanceId));
+ }
+
+ @Operation(summary = "get", description = "鑾峰彇鑺傜偣鐨勫悗缁妭鐐�")
+ @PostMapping("/after")
+ public Result<List<String>> getAfter(@RequestBody TaskAfterFo fo) {
+ return Result.success(taskService.getAfter(fo));
+ }
+
+ @Operation(summary = "compensate", description = "寮傚父琛ュ伩")
+ @PostMapping("/compensate")
+ public Result<List<TaskVo>> compensate(@RequestBody CompensateFo fo) {
+ return Result.success(taskService.compensate(fo));
+ }
+
+ @Operation(summary = "historic", description = "鑾峰彇鍘嗗彶鑺傜偣")
+ @GetMapping("/historic/{instanceId}")
+ public Result<List<HistoricNodeVo>> getHistoric(@PathVariable("instanceId") String instanceId) {
+ return Result.success(taskService.getHistoric(instanceId));
+ }
+
+ @Operation(summary = "historicEnd", description = "鑾峰彇鍘嗗彶缁撴潫鑺傜偣")
+ @GetMapping("/historic/end/{instanceId}")
+ public Result<List<String>> getHistoricEnd(@PathVariable("instanceId") String instanceId) {
+ return Result.success(taskService.getHistoricEnd(instanceId));
+ }
+
+ @Operation(summary = "elementInfo", description = "鑾峰彇鍏冪礌淇℃伅")
+ @GetMapping("/element/info")
+ public Result getElementInfo(InfoModel model) {
+ return Result.success(taskService.getElementInfo(model));
+ }
+}
--
Gitblit v1.8.0