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", "服务内容"), "名称不能为空");