This commit is contained in:
2026-10-08 19:09:30 +08:00
parent 2c0f55d9b7
commit ed99ecba1c
17 changed files with 157 additions and 106 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ paths:
description: 分页查询商户企业客户,需要 `platform:customer:list` 权限;联系电话和邮箱仅返回脱敏摘要。
parameters:
- {name: page, in: query, required: false, schema: {type: integer, minimum: 1, default: 1}}
- {name: size, in: query, required: false, schema: {type: integer, minimum: 1, maximum: 200, default: 20}}
- {name: size, in: query, required: false, schema: {type: integer, minimum: 1, maximum: 1000, default: 20}}
- {name: keyword, in: query, required: false, schema: {type: string}, description: 客户名称关键字,不支持客户编号、信用代码或联系人搜索}
- {name: status, in: query, required: false, schema: {type: string, enum: [PROFILE_REQUIRED, PENDING, ACTIVE, REJECTED, DISABLED]}}
responses:
@@ -30,7 +30,7 @@ class PlatformTenantControllerContractTest {
method.getAnnotation(PreAuthorize.class).value());
assertNotNull(annotation(method, 0, Min.class));
assertNotNull(annotation(method, 1, Min.class));
assertEquals(200, annotation(method, 1, Max.class).value());
assertEquals(1000, annotation(method, 1, Max.class).value());
assertEquals("PROFILE_REQUIRED|PENDING|ACTIVE|REJECTED|DISABLED",
annotation(method, 3, Pattern.class).regexp());
@@ -44,6 +44,7 @@ class OverseasPhase4PermissionSqlContractTest {
private static final List<String> REQUIRED = List.of(
"platform:overseas-warehouse:last-mile-order:list",
"platform:overseas-warehouse:discard:list",
"platform:overseas-warehouse:discard:approve",
"platform:overseas-warehouse:warehouse-transfer:approve",
"platform:overseas-warehouse:inbound-order:list",
"platform:overseas-warehouse:inbound-order:fba-appointment",
@@ -76,7 +77,7 @@ class OverseasPhase4PermissionSqlContractTest {
assertThat(sql).contains(REQUIRED.toArray(String[]::new));
assertThat(sql).contains("'lastleg:pda:operate'");
assertPdaPickerGrant(sql);
assertThat(catalog).hasSize(70).noneMatch(code -> code.endsWith(":view"));
assertThat(catalog).hasSize(71).noneMatch(code -> code.endsWith(":view"));
assertThat(sql).contains(
"(5107003,0,'PLATFORM','BUTTON',5107000,'platform:overseas-warehouse:warehouse-transfer:approve'");
assertThat(sql).contains("CALL assert_warehouse_transfer_approval_permission()",
@@ -157,6 +158,12 @@ class OverseasPhase4PermissionSqlContractTest {
// Vehicle care already declares this guard directly on its finance-submit facade.
serviceCatalog.addAll(codes(repositoryFile(
"lastleg-service/src/main/java/com/baiyue/lastleg/fleet/maintenance/PlatformVehicleCareFinanceController.java")));
// Cargo discard declares its approval guard in the service rather than OverseasPermissions.
serviceCatalog.addAll(codes(repositoryFile(
"lastleg-service/src/main/java/com/baiyue/lastleg/discard/service/CargoDiscardService.java")));
assertThat(repositoryFile(
"lastleg-service/src/main/java/com/baiyue/lastleg/discard/controller/CargoDiscardController.java"))
.contains("user.permissions().contains(CargoDiscardService.APPROVAL_PERMISSION)");
assertThat(serviceCatalog).containsExactlyInAnyOrderElementsOf(moduleCatalog);
}