From 3b599efb3b5466f6e28bc975b41c35b805b58c3e Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Fri, 30 Oct 2026 20:27:11 +0800 Subject: [PATCH] =?UTF-8?q?test(approval):=20=E8=A6=86=E7=9B=96=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=AE=9A=E4=B9=89=E5=B9=82=E7=AD=89=EF=BC=9B=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E5=BA=93=E6=9C=8D=E5=8A=A1=E6=98=BE=E5=BC=8F=E6=A0=87?= =?UTF-8?q?=E6=B3=A8=20server=20=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approval/service/ApprovalDirectoryService.java | 2 ++ .../approval/service/ApprovalFileService.java | 2 ++ .../approval/ApprovalCompletionDraftIT.java | 13 +++++++++++++ 3 files changed, 17 insertions(+) diff --git a/src/main/java/com/gxwebsoft/approval/service/ApprovalDirectoryService.java b/src/main/java/com/gxwebsoft/approval/service/ApprovalDirectoryService.java index 0005653..c032296 100644 --- a/src/main/java/com/gxwebsoft/approval/service/ApprovalDirectoryService.java +++ b/src/main/java/com/gxwebsoft/approval/service/ApprovalDirectoryService.java @@ -1,6 +1,7 @@ package com.gxwebsoft.approval.service; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.annotation.DS; import com.gxwebsoft.approval.support.ApprovalTenantContext; import com.gxwebsoft.approval.vo.ApprovalOrganizationVO; import com.gxwebsoft.approval.vo.ApprovalUserVO; @@ -20,6 +21,7 @@ import java.util.List; * 所有 SQL 显式带 tenant_id。

*/ @Service +@DS("server") public class ApprovalDirectoryService { private static final RowMapper ORGANIZATION_MAPPER = (resultSet, rowNum) -> { diff --git a/src/main/java/com/gxwebsoft/approval/service/ApprovalFileService.java b/src/main/java/com/gxwebsoft/approval/service/ApprovalFileService.java index c987404..102a855 100644 --- a/src/main/java/com/gxwebsoft/approval/service/ApprovalFileService.java +++ b/src/main/java/com/gxwebsoft/approval/service/ApprovalFileService.java @@ -1,6 +1,7 @@ package com.gxwebsoft.approval.service; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.annotation.DS; import com.gxwebsoft.approval.support.ApprovalTenantContext; import com.gxwebsoft.common.system.entity.FileRecord; import org.springframework.jdbc.core.JdbcTemplate; @@ -24,6 +25,7 @@ import java.util.List; * 不依赖文件管理权限,审批上传/详情均通过本服务复用既有文件记录。

*/ @Service +@DS("server") public class ApprovalFileService { private static final RowMapper FILE_MAPPER = (resultSet, rowNum) -> { diff --git a/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java b/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java index 953aa0e..509b4c0 100644 --- a/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java +++ b/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java @@ -96,6 +96,19 @@ class ApprovalCompletionDraftIT { .andExpect(jsonPath("$.data.list[0].bizNo").doesNotExist()); } + @Test + void publishesSingleFlowDefinitionPerTenant() throws Exception { + createCompletion(reporter, organizationId, TENANT, "流程一"); + createCompletion(reporter, organizationId, TENANT, "流程二"); + + Integer count = data.countMaster("SELECT COUNT(*) FROM approval_flow_definition " + + "WHERE tenant_id = ? AND flow_code = 'completion' AND version = 1", TENANT); + assertThat(count).isEqualTo(1); + assertThat(data.queryMaster("SELECT nodes_json FROM approval_flow_definition " + + "WHERE tenant_id = ? AND flow_code = 'completion' AND version = 1", String.class, TENANT)) + .contains("deptLeader").contains("confirm").contains("archive"); + } + @Test void validatesCompletionFields() throws Exception { expectSaveFailure(body("", "实施单位", "10.00", "服务内容"), "名称不能为空");