修复废弃预留重放与预算到期时区
This commit is contained in:
@@ -702,7 +702,8 @@ $authAccountService = Read-RequiredText (Join-Path $backendRoot 'auth/src/main/j
|
||||
$iamMemberService = Read-RequiredText (Join-Path $backendRoot 'iam/src/main/java/com/baiyue/iam/service/MemberService.java')
|
||||
$adminCustomersView = Read-RequiredText (Join-Path $workspaceRoot 'apps/admin-web/src/modules/customers/pages/CustomersView.vue')
|
||||
$clientCompanyProfile = Read-RequiredText (Join-Path $workspaceRoot 'apps/client-web/src/modules/tenant-management/views/CompanyProfileView.vue')
|
||||
$clientMembersView = Read-RequiredText (Join-Path $workspaceRoot 'apps/client-web/src/modules/tenant-management/views/MembersView.vue')
|
||||
$clientCompanyProfileEditor = Read-RequiredText (Join-Path $workspaceRoot 'apps/client-web/src/modules/tenant-management/views/CompanyProfileEditView.vue')
|
||||
$clientMembersView = Read-RequiredText (Join-Path $workspaceRoot 'apps/client-web/src/modules/tenant-management/views/MemberEditorView.vue')
|
||||
Assert-Contains $businessFacts '公司联系电话/邮箱是企业资料,不作为成员登录标识' '根企业联系人边界'
|
||||
Assert-Contains $adminAgents '公司联系电话只作企业联系信息,不修改管理员/成员登录手机号' 'Admin 企业联系人边界'
|
||||
Assert-Contains $clientAgents '成员登录手机号可选,修改时同步 Auth、撤销该账号会话并审计' 'Client 成员登录手机号边界'
|
||||
@@ -713,7 +714,7 @@ Assert-Contains $iamOpenApi '公司联系电话,不作为登录标识且不要
|
||||
Assert-Contains $authAccountService 'tokenSessionStore.revokeAll(account.getId())' 'Auth 登录标识变更会话撤销'
|
||||
Assert-Contains $iamMemberService 'authClient.revokeSessions' 'IAM 成员变更会话撤销'
|
||||
Assert-Contains $adminCustomersView '不会修改企业管理员登录手机号' 'Admin 公司联系电话提示'
|
||||
Assert-Contains $clientCompanyProfile '不会修改任何成员的登录手机号' 'Client 公司联系电话提示'
|
||||
Assert-Contains $clientCompanyProfileEditor '不会修改任何成员的登录手机号' 'Client 公司联系电话提示'
|
||||
Assert-Contains $clientMembersView '用于该成员手机号登录;修改后会同步认证账号并退出该成员现有会话' 'Client 成员登录手机号提示'
|
||||
$fileAgents = Read-RequiredText (Join-Path $backendRoot 'file/AGENTS.md')
|
||||
$qualificationOpenApi = Read-RequiredText (Join-Path $backendRoot 'file/src/main/resources/openapi/qualification-required-package-v1.yaml')
|
||||
@@ -1056,7 +1057,10 @@ Assert-Contains $outboundDispatchOpenApi 'No partial success is possible.' '整
|
||||
Assert-Contains $outboundDispatchOpenApi 'truckAppointmentStatus: {type: string, nullable: true, description: Reference-only status' '拖车状态非门禁语义'
|
||||
Assert-Contains $carrierScheduleOpenApi 'strictly greater standard-node sequence than latestActualNode' '手工实际节点单调推进'
|
||||
Assert-Contains $carrierScheduleOpenApi 'estimated facts never advance actual progress' '预计节点不推进实际进度'
|
||||
Assert-Contains $adminContainerDetail 'confirmDeparture' 'Admin 货柜详情确认离仓'
|
||||
$adminCustomsDeparturePanel = Read-RequiredText (Join-Path $workspaceRoot 'apps/admin-web/src/modules/container-loading/components/ContainerCustomsPanel.vue')
|
||||
Assert-Contains $adminContainerDetail ':departure-state="customsDepartureState"' 'Admin 货柜详情传递权威离仓状态'
|
||||
Assert-Contains $adminCustomsDeparturePanel "departureState === 'DEPARTED'" 'Admin 报关面板展示实际离仓状态'
|
||||
Assert-NotContains $adminContainerDetail 'confirmDeparture' 'Admin 货柜详情不恢复独立确认离仓'
|
||||
|
||||
# 装柜完成后的整柜报关必须保持客户退税资料、平台冻结/完成与 File 二进制边界一致。
|
||||
$firstlegAgents = $firstlegEntry + "`n" + $firstlegIndex
|
||||
@@ -1147,6 +1151,8 @@ $containerFeeOpenApi = Read-RequiredText (Join-Path $backendRoot 'firstleg/src/m
|
||||
$containerFeeController = Read-RequiredText (Join-Path $backendRoot 'firstleg/src/main/java/com/baiyue/firstleg/controller/PlatformContainerFeeDetailController.java')
|
||||
$containerFeeService = Read-RequiredText (Join-Path $backendRoot 'firstleg/src/main/java/com/baiyue/firstleg/service/ContainerFeeDetailService.java')
|
||||
$overseasFinanceOpenApi = Read-RequiredText (Join-Path $backendRoot 'lastleg-service/src/main/resources/openapi/overseas-finance-fees-v1.yaml')
|
||||
$overseasFeeBusinessGuard = Read-RequiredText (Join-Path $backendRoot 'lastleg-service/src/main/java/com/baiyue/lastleg/financefee/service/OverseasFeeBusinessGuard.java')
|
||||
$overseasManualFeeService = Read-RequiredText (Join-Path $backendRoot 'lastleg-service/src/main/java/com/baiyue/lastleg/financefee/service/OverseasManualFeeService.java')
|
||||
$businessFeeEvent = Read-RequiredText (Join-Path $backendRoot 'common-event-contract/src/main/java/com/baiyue/common/event/BusinessFeeSourceChangedV1.java')
|
||||
$eventTypes = Read-RequiredText (Join-Path $backendRoot 'common-event-contract/src/main/java/com/baiyue/common/event/EventTypes.java')
|
||||
$directEventClient = Read-RequiredText (Join-Path $backendRoot 'lastleg-service/src/main/java/com/baiyue/lastleg/client/DirectEventClient.java')
|
||||
@@ -1162,8 +1168,9 @@ Assert-Contains $backendAgents '柜级公共费用跨客户分摊' '后端柜费
|
||||
Assert-Contains $backendAgents '海外业务费用来源跨区入池' '后端海外费用快速路由'
|
||||
Assert-Contains $businessFacts '海外仓费用统一接入阶段0技术契约.md' '根海外费用阶段 0 按需入口'
|
||||
Assert-Contains $financeAgents '海外仓费用统一接入阶段0技术契约.md' 'Finance 海外费用阶段 0 按需入口'
|
||||
Assert-Contains $lastlegAgents '海外仓费用统一接入阶段0技术契约.md' 'Lastleg 海外费用阶段 0 按需入口'
|
||||
Assert-Contains $lastlegAgents '不能因文档存在宣称已实现' '阶段 0 设计与代码事实边界'
|
||||
Assert-Contains $lastlegIndex 'docs/overseas-fees-storage-rent-release.md' 'Lastleg 海外费用与仓租当前发布清单'
|
||||
Read-RequiredText (Join-Path $backendRoot 'lastleg-service/docs/overseas-fees-storage-rent-release.md') | Out-Null
|
||||
Assert-Contains $rootAgents '代码、构建配置、实际部署和整体验收分别核对,不相互推定' '设计、代码与部署验收事实边界'
|
||||
Assert-Contains $firstlegAgents '单行入口拒绝分摊组' 'Firstleg 分摊组原子边界'
|
||||
Assert-Contains $adminFinanceAgents '`allocationGroupId` 整组审核、驳回、调整或作废' 'Admin 分摊组操作边界'
|
||||
Assert-Contains $containerFeeOpenApi '/fee-details/allocation-groups:' '柜费分摊组创建 OpenAPI'
|
||||
@@ -1173,7 +1180,8 @@ Assert-Contains $containerFeeController '@PostMapping("/allocation-groups/{group
|
||||
Assert-Contains $containerFeeController '@PostMapping("/allocation-groups/{groupId}/adjust")' '柜费分摊整组调整入口'
|
||||
Assert-Contains $containerFeeService '分摊客户、订单及入仓信息与柜内真实归属不一致' '柜费分摊真实归属校验'
|
||||
Assert-Contains $containerFeeService '调整必须包含分摊组全部费用行' '柜费分摊完整调整校验'
|
||||
Assert-Contains $lastlegAgents '海外入仓、采购、美国卡车、本土散板和海外仓服务费必须匹配当前客户的真实业务' 'Lastleg 五类海外费用归属'
|
||||
Assert-Contains $lastlegIndex '费用必须匹配当前客户的真实服务单' 'Lastleg 海外费用真实业务归属'
|
||||
Assert-Contains $overseasFeeBusinessGuard 'repository.owned(' 'Lastleg 费用服务校验业务及客户归属'
|
||||
# 在 BusinessType 枚举内逐项核对,新增类型或调整顺序不应使原有覆盖误报。
|
||||
$businessTypeEnumMatch = [regex]::Match($overseasFinanceOpenApi, '(?s)BusinessType:\s*\{\s*type:\s*string,\s*enum:\s*\[([^\]]*)\]')
|
||||
Assert-Matches $overseasFinanceOpenApi 'BusinessType:\s*\{\s*type:\s*string,\s*enum:' '海外业务类型枚举定义'
|
||||
@@ -1182,7 +1190,11 @@ foreach ($businessType in @('OVERSEAS_INBOUND', 'OVERSEAS_PROCUREMENT', 'PROCURE
|
||||
$checked++
|
||||
if ($businessType -notin $businessTypeValues) { Add-Failure "海外 BusinessType 枚举缺少: $businessType" }
|
||||
}
|
||||
Assert-Contains $overseasFinanceOpenApi '审核通过与作废均事务性写入Outbox' '海外费用可靠发布契约'
|
||||
# 余额实扣与账单投递为两条链,不能要求余额费用再次进入账单。
|
||||
Assert-Matches $overseasFinanceOpenApi 'collectionMode:\s*\{\s*type:\s*string,\s*enum:\s*\[BILL,\s*WALLET\]' '海外费用区分账单与余额收款'
|
||||
Assert-Matches $overseasManualFeeService 'if\s*\(approved\s*&&\s*walletCollection\)\s*send\(fee,\s*state,\s*"SETTLE"\)' '余额费用审核发送实扣指令'
|
||||
Assert-Matches $overseasManualFeeService 'else\s+if\s*\(approved\)\s*outbox\.publish\(' '账单费用审核保留可靠投递'
|
||||
Assert-Contains $overseasFinanceOpenApi '已发布BILL作废等待Finance持久化确认才VOIDED' '账单作废等待财务确认'
|
||||
Assert-Contains $commonEventAgents '海外业务费用来源变更 V1' '公共海外费用事件入口'
|
||||
Assert-Contains $eventTypes 'BUSINESS_FEE_SOURCE_CHANGED = "BusinessFeeSourceChanged"' '海外费用事件类型'
|
||||
Assert-Contains $businessFeeEvent 'int sourceVersion' '海外费用事件来源版本'
|
||||
|
||||
Reference in New Issue
Block a user