From 8f5201112d64b374a9d5529845ce29067d3dbbfb Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 3 Aug 2026 15:29:17 +0800 Subject: [PATCH] =?UTF-8?q?fix(warehouse):=20=E6=94=AF=E6=8C=81=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=BE=80=E6=9D=A5=E5=8D=95=E4=BD=8D=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warehouse/dto/MasterDataQueries.java | 5 +++-- ...tformMasterDataControllerContractTest.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/warehouse/src/main/java/com/baiyue/warehouse/dto/MasterDataQueries.java b/warehouse/src/main/java/com/baiyue/warehouse/dto/MasterDataQueries.java index ae8143dde..f5fa561d7 100644 --- a/warehouse/src/main/java/com/baiyue/warehouse/dto/MasterDataQueries.java +++ b/warehouse/src/main/java/com/baiyue/warehouse/dto/MasterDataQueries.java @@ -23,8 +23,9 @@ public final class MasterDataQueries { @Min(1) @Max(200) long size, @Schema(description = "编码、名称、联系人或联系电话关键字", example = "示例客户") @Size(max = 128) String keyword, - @Schema(description = "往来单位类型", allowableValues = {"CUSTOMER", "SUPPLIER", "BOTH"}) - @Pattern(regexp = "^(CUSTOMER|SUPPLIER|BOTH)$") String type, + @Schema(description = "往来单位类型", allowableValues = { + "CUSTOMER", "SUPPLIER", "BOTH", "CARRIER", "CUSTOMS_BROKER", "SHIPPER", "CONSIGNEE"}) + @Pattern(regexp = "^(CUSTOMER|SUPPLIER|BOTH|CARRIER|CUSTOMS_BROKER|SHIPPER|CONSIGNEE)$") String type, @Schema(description = "状态", allowableValues = {"ACTIVE", "INACTIVE"}) @Pattern(regexp = "^(ACTIVE|INACTIVE)$") String status ) { diff --git a/warehouse/src/test/java/com/baiyue/warehouse/controller/PlatformMasterDataControllerContractTest.java b/warehouse/src/test/java/com/baiyue/warehouse/controller/PlatformMasterDataControllerContractTest.java index 29cb0ea56..c96761909 100644 --- a/warehouse/src/test/java/com/baiyue/warehouse/controller/PlatformMasterDataControllerContractTest.java +++ b/warehouse/src/test/java/com/baiyue/warehouse/controller/PlatformMasterDataControllerContractTest.java @@ -2,6 +2,7 @@ package com.baiyue.warehouse.controller; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.validation.Validation; import org.junit.jupiter.api.Test; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; @@ -15,6 +16,25 @@ import java.lang.reflect.Method; import static org.assertj.core.api.Assertions.assertThat; class PlatformMasterDataControllerContractTest { + @Test + void 往来单位分页支持全部业务类型并拒绝未知类型() { + try (var factory = Validation.buildDefaultValidatorFactory()) { + var validator = factory.getValidator(); + for (String type : java.util.List.of( + "CUSTOMER", "SUPPLIER", "BOTH", "CARRIER", "CUSTOMS_BROKER", "SHIPPER", "CONSIGNEE")) { + var query = new com.baiyue.warehouse.dto.MasterDataQueries.PartnerPageQuery( + 1, 20, null, type, null); + assertThat(validator.validate(query)).isEmpty(); + } + + var invalid = new com.baiyue.warehouse.dto.MasterDataQueries.PartnerPageQuery( + 1, 20, null, "UNKNOWN", null); + assertThat(validator.validate(invalid)) + .extracting(violation -> violation.getPropertyPath().toString()) + .containsExactly("type"); + } + } + @Test void 仓库平台接口按读取新增编辑和启停权限隔离() { RequestMapping mapping = PlatformWarehouseController.class.getAnnotation(RequestMapping.class);