diff --git a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRepository.java b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRepository.java index 13487a9bd0..95d6cd4150 100644 --- a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRepository.java +++ b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRepository.java @@ -25,7 +25,7 @@ public interface TicketProcessRepository extends JpaRepository findByKeyAndOrgUid(String key, String orgUid); - List findByOrgUidAndDeployedTrue(String orgUid); + List findByOrgUidAndStatus(String orgUid, String status); // Boolean existsByPlatform(String platform); } diff --git a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRestController.java b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRestController.java index 6b8d743ee2..aa6cdabdf7 100644 --- a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRestController.java +++ b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessRestController.java @@ -14,9 +14,6 @@ package com.bytedesk.ticket.process; import java.util.List; -import java.util.stream.Collectors; - -import org.flowable.engine.repository.ProcessDefinition; import org.springframework.data.domain.Page; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -84,22 +81,10 @@ public class TicketProcessRestController extends BaseRestController queryProcesses(TicketProcessRequest request) { - - List definitions = processService.query(request); - - List ticketProcessResponses = definitions.stream() - .map(def -> TicketProcessDefinitionResponse.builder() - .id(def.getId()) - .key(def.getKey()) - .name(def.getName()) - .description(def.getDescription()) - .version(def.getVersion()) - .deploymentId(def.getDeploymentId()) - .tenantId(def.getTenantId()) - .build()) - .collect(Collectors.toList()); - return ResponseEntity.ok(JsonResult.success(ticketProcessResponses)); + List definitions = processService.query(request); + + return ResponseEntity.ok(JsonResult.success(definitions)); } // 部署流程 @@ -114,22 +99,10 @@ public class TicketProcessRestController extends BaseRestController undeployProcess(@RequestBody TicketProcessRequest request) { - List definitions = processService.undeploy(request); - - // 转换为 DTO 列表返回 - List ticketProcessResponses = definitions.stream() - .map(def -> TicketProcessDefinitionResponse.builder() - .id(def.getId()) - .key(def.getKey()) - .name(def.getName()) - .description(def.getDescription()) - .version(def.getVersion()) - .deploymentId(def.getDeploymentId()) - .tenantId(def.getTenantId()) - .build()) - .collect(Collectors.toList()); - return ResponseEntity.ok(JsonResult.success(ticketProcessResponses)); + List definitions = processService.undeploy(request); + + return ResponseEntity.ok(JsonResult.success(definitions)); } @Override diff --git a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessService.java b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessService.java index d40d2fb0b2..3a2b2b77f8 100644 --- a/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessService.java +++ b/modules/ticket/src/main/java/com/bytedesk/ticket/process/TicketProcessService.java @@ -36,14 +36,14 @@ public class TicketProcessService { private final TicketProcessRepository ticketProcessRepository; // 查询流程 - public List query(TicketProcessRequest request) { + public List query(TicketProcessRequest request) { String orgUid = request.getOrgUid(); if (orgUid == null) { throw new RuntimeException("租户ID不能为空"); } // 先查询已部署的流程定义实体 - List deployedProcesses = ticketProcessRepository.findByOrgUidAndDeployedTrue(orgUid); + List deployedProcesses = ticketProcessRepository.findByOrgUidAndStatus(orgUid, TicketProcessStatusEnum.DEPLOYED.name()); // 收集所有部署ID Set deploymentIds = deployedProcesses.stream() @@ -73,7 +73,19 @@ public class TicketProcessService { processDefinition.getDeploymentId()); } - return processList; + List ticketProcessResponses = processList.stream() + .map(def -> TicketProcessDefinitionResponse.builder() + .id(def.getId()) + .key(def.getKey()) + .name(def.getName()) + .description(def.getDescription()) + .version(def.getVersion()) + .deploymentId(def.getDeploymentId()) + .tenantId(def.getTenantId()) + .build()) + .collect(Collectors.toList()); + + return ticketProcessResponses; } // 部署流程 @@ -124,7 +136,7 @@ public class TicketProcessService { } // 删除流程 - public List undeploy(TicketProcessRequest request) { + public List undeploy(TicketProcessRequest request) { Optional ticketProcess = ticketProcessRepository.findByUid(request.getUid()); if (!ticketProcess.isPresent()) { @@ -165,10 +177,23 @@ public class TicketProcessService { List remainingProcesses = repositoryService.createProcessDefinitionQuery() .deploymentId(deploymentId) .list(); + + // 转换为 DTO 列表返回 + List ticketProcessResponses = remainingProcesses.stream() + .map(def -> TicketProcessDefinitionResponse.builder() + .id(def.getId()) + .key(def.getKey()) + .name(def.getName()) + .description(def.getDescription()) + .version(def.getVersion()) + .deploymentId(def.getDeploymentId()) + .tenantId(def.getTenantId()) + .build()) + .collect(Collectors.toList()); log.info("删除后流程版本数量: {}", remainingProcesses.size()); - return processes; // 返回删除前的流程定义列表 + return ticketProcessResponses; // 返回删除前的流程定义列表 }