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-flowable/jnpf-flowable-controller/src/main/java/jnpf/flowable/controller/TriggerTaskController.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

diff --git a/jnpf-flowable/jnpf-flowable-controller/src/main/java/jnpf/flowable/controller/TriggerTaskController.java b/jnpf-flowable/jnpf-flowable-controller/src/main/java/jnpf/flowable/controller/TriggerTaskController.java
new file mode 100644
index 0000000..16fa444
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-controller/src/main/java/jnpf/flowable/controller/TriggerTaskController.java
@@ -0,0 +1,105 @@
+package jnpf.flowable.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.ObjectUtil;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jnpf.base.ActionResult;
+import jnpf.base.entity.SystemEntity;
+import jnpf.base.vo.PageListVO;
+import jnpf.base.vo.PaginationVO;
+import jnpf.constant.MsgCode;
+import jnpf.exception.WorkFlowException;
+import jnpf.flowable.model.monitor.MonitorModel;
+import jnpf.flowable.model.trigger.TriggerInfoListModel;
+import jnpf.flowable.model.trigger.TriggerPagination;
+import jnpf.flowable.model.trigger.TriggerTaskModel;
+import jnpf.flowable.model.util.FlowNature;
+import jnpf.flowable.service.TriggerTaskService;
+import jnpf.flowable.util.ServiceUtil;
+import jnpf.util.JsonUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * 浠诲姟娴佺▼
+ *
+ * @author JNPF@YinMai Info. Co., Ltd
+ * @version 5.0.x
+ * @since 2024/9/21 9:57
+ */
+@Tag(name = "浠诲姟娴佺▼瀹炰緥", description = "triggerTask")
+@RestController
+@RequestMapping("/trigger/task")
+@RequiredArgsConstructor
+public class TriggerTaskController {
+
+    private final  ServiceUtil serviceUtil;
+
+    private final  TriggerTaskService triggerTaskService;
+
+
+    /**
+     * 鑾峰彇浠诲姟涓嬬殑瑙﹀彂璁板綍
+     *
+     * @param taskId 浠诲姟涓婚敭
+     */
+    @Operation(summary = "鑾峰彇浠诲姟涓嬬殑瑙﹀彂璁板綍")
+    @GetMapping("/List")
+    public ActionResult<Object> list(@RequestParam("taskId") String taskId, @RequestParam("nodeCode") String nodeCode) {
+        List<TriggerInfoListModel> list = triggerTaskService.getListByTaskId(taskId, nodeCode);
+        return ActionResult.success(list);
+    }
+
+    /**
+     * 浠诲姟娴佺▼鍒楄〃
+     *
+     * @param pagination 鍒嗛〉鍙傛暟
+     */
+    @Operation(summary = "浠诲姟娴佺▼鍒楄〃")
+    @GetMapping
+    public ActionResult<PageListVO<TriggerTaskModel>> list(TriggerPagination pagination) {
+        List<TriggerTaskModel> list = triggerTaskService.getList(pagination);
+        List<SystemEntity> systemList = serviceUtil.getSystemList(list.stream().map(TriggerTaskModel::getSystemName).collect(Collectors.toList()));
+        List<TriggerTaskModel> voList = new ArrayList<>();
+        for (TriggerTaskModel model : list) {
+            model.setIsRetry(ObjectUtil.equals(model.getParentId(), FlowNature.PARENT_ID) ? 0 : 1);
+            SystemEntity system = systemList.stream().filter(t -> Objects.equals(model.getSystemName(), t.getId())).findFirst().orElse(null);
+            model.setSystemName(system != null ? system.getFullName() : "");
+            voList.add(model);
+        }
+        PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
+        return ActionResult.page(voList, paginationVO);
+    }
+
+    /**
+     * 閲嶈瘯
+     *
+     * @param id 涓婚敭
+     */
+    @Operation(summary = "閲嶈瘯")
+    @PostMapping("/Retry/{id}")
+    @SaCheckPermission(value = {"workFlow.flowMonitor"})
+    public ActionResult<Object> retry(@PathVariable("id") String id) throws WorkFlowException {
+        triggerTaskService.retry(id);
+        return ActionResult.success(MsgCode.SU005.get());
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param model 鍙傛暟
+     */
+    @Operation(summary = "鎵归噺鍒犻櫎")
+    @DeleteMapping
+    @SaCheckPermission(value = {"workFlow.flowMonitor"})
+    public ActionResult<Object> delete(@RequestBody MonitorModel model) {
+        triggerTaskService.batchDelete(model.getIds());
+        return ActionResult.success(MsgCode.SU003.get());
+    }
+}

--
Gitblit v1.8.0