From 47b55bad040ef1899e54ba8f53923d7b85a5fda7 Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Sat, 31 Oct 2026 02:42:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=BC=E5=87=BA=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E8=B5=B0=E4=B8=8B=E8=BD=BD=E7=AB=AF=E7=82=B9=EF=BC=9B=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=AE=B0=E5=BD=95=E5=88=87=E5=88=B0=20core=20?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approval/service/ApprovalExportService.java | 3 ++- .../service/impl/FileRecordServiceImpl.java | 2 ++ .../approval/ApprovalCompletionDraftIT.java | 15 +++++++++++---- .../com/gxwebsoft/approval/ApprovalExportIT.java | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gxwebsoft/approval/service/ApprovalExportService.java b/src/main/java/com/gxwebsoft/approval/service/ApprovalExportService.java index 1138044..483965c 100644 --- a/src/main/java/com/gxwebsoft/approval/service/ApprovalExportService.java +++ b/src/main/java/com/gxwebsoft/approval/service/ApprovalExportService.java @@ -103,7 +103,8 @@ public class ApprovalExportService { record.setLength(target.length()); record.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); record.setCreateUserId(user.getUserId()); - record.setUrl(config.getServerUrl() + "/file/" + filename); + record.setUrl(config.getServerUrl() + "/file/download/" + filename); + record.setDownloadUrl(record.getUrl()); fileService.save(record); return new ApprovalExportResult(record, rows.size()); } diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java index 72c9c27..899c492 100644 --- a/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/FileRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.gxwebsoft.common.system.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gxwebsoft.common.core.utils.CommonUtil; import com.gxwebsoft.common.core.web.PageParam; @@ -21,6 +22,7 @@ import java.util.List; * @since 2021-08-30 11:21:01 */ @Service +@DS("server") public class FileRecordServiceImpl extends ServiceImpl implements FileRecordService { @Override diff --git a/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java b/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java index 972a0a0..fda8d53 100644 --- a/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java +++ b/src/test/java/com/gxwebsoft/approval/ApprovalCompletionDraftIT.java @@ -169,12 +169,19 @@ class ApprovalCompletionDraftIT { @Test void rejectsSubmitWhenArchivistRoleMissing() throws Exception { - grantDepartmentLeader(organizationId, TENANT); - long instanceId = createCompletion(reporter, organizationId, TENANT, "缺收文员"); - uploadAttachment(instanceId, reporter, organizationId, "image/png"); + int tenant = 10023; + Integer orgId = data.createOrganization("缺收文员部门" + data.uniqueSuffix(), 136, tenant); + ApprovalTestData.TestUser submitter = + data.createUser("缺收文员报送人" + data.uniqueSuffix(), orgId, tenant); + ApprovalTestData.TestRole leaderRole = + data.createRole(data.leaderRoleCode(orgId), "部门负责人", tenant); + ApprovalTestData.TestUser leader = data.createUser("缺收文员负责人" + data.uniqueSuffix(), orgId, tenant); + data.bindTenant(leader.userId, leaderRole.roleId, tenant); + long instanceId = createCompletion(submitter, orgId, tenant, "缺收文员"); + uploadAttachment(instanceId, submitter, orgId, tenant, "image/png"); mockMvc.perform(authed(post("/api/approval/instance/" + instanceId + "/submit"), - reporter, organizationId, TENANT, SUBMIT)) + submitter, orgId, tenant, SUBMIT)) .andExpect(jsonPath("$.code").value(1)) .andExpect(jsonPath("$.message").value(org.hamcrest.Matchers.containsString("收文员角色缺配"))); diff --git a/src/test/java/com/gxwebsoft/approval/ApprovalExportIT.java b/src/test/java/com/gxwebsoft/approval/ApprovalExportIT.java index e9d8aea..12905c3 100644 --- a/src/test/java/com/gxwebsoft/approval/ApprovalExportIT.java +++ b/src/test/java/com/gxwebsoft/approval/ApprovalExportIT.java @@ -172,7 +172,7 @@ class ApprovalExportIT { assertThat(node.path("id").asInt()).isPositive(); String name = node.path("name").asText(); assertThat(name).startsWith("excel/审批单据-").endsWith(".xlsx"); - assertThat(node.path("url").asText()).contains("/file/excel/审批单据-"); + assertThat(node.path("url").asText()).contains("/file/download/excel/审批单据-"); File file = new File(node.path("path").asText()); assertThat(file).exists(); exportedFiles.add(file.toPath());