feat(fleet): enforce reviewed trips and original fee coverage for dispatch

This commit is contained in:
2026-10-03 04:18:52 +08:00
parent c50e9f97d1
commit 5e683da3b9
162 changed files with 9642 additions and 218 deletions
@@ -1,8 +1,12 @@
{
"schemaVersion": 1,
"forbidPackageCycles": true,
"description": "Development-stage Lastleg slice dependency baseline. Existing edges may be removed; new edges require architecture review.",
"allowedSliceEdges": [
"fleet->shared-technical",
"fleet->overseas-master-data",
"dispatch-delivery->dropship",
"dispatch-delivery->fleet",
"dispatch-delivery->inbound-pda",
"dispatch-delivery->inventory",
"dispatch-delivery->relabel-transfer-discard",
@@ -28,7 +32,6 @@
"relabel-transfer-discard->inventory",
"relabel-transfer-discard->shared-technical",
"relabel-transfer-discard->tailleg-handoff",
"security-projection->shared-technical",
"tailleg-handoff->dispatch-delivery",
"tailleg-handoff->dropship",
"tailleg-handoff->inbound-pda",
@@ -42,14 +45,152 @@
"com.baiyue.lastleg.masterdata.vehicle.adapter.out.persistence.VehicleRecord": "src/main/java/com/baiyue/lastleg/masterdata/vehicle/adapter/out/persistence/VehicleRecord.java",
"com.baiyue.lastleg.masterdata.vehicle.application.VehicleApplicationService": "src/main/java/com/baiyue/lastleg/masterdata/vehicle/application/VehicleApplicationService.java",
"com.baiyue.lastleg.masterdata.vehicle.application.model.VehicleModels": "src/main/java/com/baiyue/lastleg/masterdata/vehicle/application/model/VehicleModels.java",
"com.baiyue.lastleg.masterdata.vehicle.application.port.out.VehicleRepository": "src/main/java/com/baiyue/lastleg/masterdata/vehicle/application/port/out/VehicleRepository.java",
"com.baiyue.lastleg.security.controller.LastlegSecurityController": "src/main/java/com/baiyue/lastleg/security/controller/LastlegSecurityController.java",
"com.baiyue.lastleg.security.dto.LastlegSecurityDtos": "src/main/java/com/baiyue/lastleg/security/dto/LastlegSecurityDtos.java",
"com.baiyue.lastleg.security.service.LastlegSecurityProjectionRedisMirror": "src/main/java/com/baiyue/lastleg/security/service/LastlegSecurityProjectionRedisMirror.java",
"com.baiyue.lastleg.security.service.LastlegSecurityProjectionService": "src/main/java/com/baiyue/lastleg/security/service/LastlegSecurityProjectionService.java",
"com.baiyue.lastleg.security.service.LastlegSecurityValidationService": "src/main/java/com/baiyue/lastleg/security/service/LastlegSecurityValidationService.java",
"com.baiyue.lastleg.security.service.SecurityProjectionMonotonicity": "src/main/java/com/baiyue/lastleg/security/service/SecurityProjectionMonotonicity.java"
"com.baiyue.lastleg.masterdata.vehicle.application.port.out.VehicleRepository": "src/main/java/com/baiyue/lastleg/masterdata/vehicle/application/port/out/VehicleRepository.java"
},
"forbiddenSlices": ["security-projection"],
"forbiddenTypePrefixes": [
"com.baiyue.lastleg.security.controller.LastlegSecurity",
"com.baiyue.lastleg.security.dto.LastlegSecurity",
"com.baiyue.lastleg.security.service.LastlegSecurity",
"com.baiyue.lastleg.security.service.SecurityProjectionMonotonicity"
],
"reviewedClassDependencies": [
{
"source": "com.baiyue.lastleg.transfer.fleet.FleetIncomingAdapter",
"target": "com.baiyue.lastleg.fleet.trip.FleetBookingIncomingGateway",
"reason": "转运适配器实现外接来货端口,仅传登记与实测证据;车队不读取转运Mapper或库存表。"
},
{
"source": "com.baiyue.lastleg.transfer.fleet.FleetIncomingAdapter",
"target": "com.baiyue.lastleg.fleet.trip.FleetDispatchGateway",
"reason": "仅复用端口定义的稳定卸货目的地匹配键,禁止放宽整个转运切片对车队实现的引用。"
},
{
"source": "com.baiyue.lastleg.controller.LastlegOrderController",
"target": "com.baiyue.lastleg.relabel.dto.RelabelRequests",
"reason": "尾程订单直接换标审核入口委托既有换标服务和DTO,业务状态仍由换标服务维护。"
},
{
"source": "com.baiyue.lastleg.controller.LastlegOrderController",
"target": "com.baiyue.lastleg.relabel.dto.RelabelResponses",
"reason": "尾程订单直接换标审核入口委托既有换标服务和DTO,业务状态仍由换标服务维护。"
},
{
"source": "com.baiyue.lastleg.controller.LastlegOrderController",
"target": "com.baiyue.lastleg.relabel.service.RelabelApplicationService",
"reason": "尾程订单直接换标审核入口委托既有换标服务和DTO,业务状态仍由换标服务维护。"
},
{
"source": "com.baiyue.lastleg.discard.pda.controller.PdaCargoDiscardController",
"target": "com.baiyue.lastleg.pda.security.PdaWarehouseIdentity",
"reason": "PDA废弃入口复用统一Token身份与绑定仓解析,不另建本地安全投影。"
},
{
"source": "com.baiyue.lastleg.discard.pda.service.PdaCargoDiscardService",
"target": "com.baiyue.lastleg.pda.security.PdaWarehouseIdentity",
"reason": "PDA废弃作业使用同一已验证身份范围。"
},
{
"source": "com.baiyue.lastleg.transfer.controller.PdaWarehouseTransferController",
"target": "com.baiyue.lastleg.pda.security.PdaWarehouseIdentity",
"reason": "转运PDA入口复用同一绑定仓身份解析。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.entity.InboundPlan",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.entity.InboundPlanLine",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.entity.InboundPlanPallet",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.entity.InboundPlanPalletAllocation",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.mapper.InboundPlanMapper",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.mapper.InboundPlanLineMapper",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.mapper.InboundPlanPalletMapper",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.mapper.InboundPlanPalletAllocationMapper",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.pda.entity.InboundStockReceipt",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.pda.mapper.InboundStockReceiptMapper",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.transfer.service.WarehouseTransferService",
"target": "com.baiyue.lastleg.inboundplan.pda.gateway.WarehouseResourceGateway",
"reason": "仓储转运实收打托同步本服务入仓计划、分配和收货事实,资源仍经Warehouse网关;仅冻结这些既有引用,不开放其他转运类直接读取入仓实现。"
},
{
"source": "com.baiyue.lastleg.financefee.service.OverseasFeeCurrencyConverter",
"target": "com.baiyue.lastleg.masterdata.exchange.entity.MonthlyExchangeRate",
"reason": "海外费用按业务月份读取当前正式月度汇率,缺失或未生效拒绝;仅此换算器可使用这两项现有实现引用。"
},
{
"source": "com.baiyue.lastleg.financefee.service.OverseasFeeCurrencyConverter",
"target": "com.baiyue.lastleg.masterdata.exchange.mapper.MonthlyExchangeRateMapper",
"reason": "海外费用按业务月份读取当前正式月度汇率,缺失或未生效拒绝;仅此换算器可使用这两项现有实现引用。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.controller.PdaReturnReceiptController",
"target": "com.baiyue.lastleg.relabel.pda.gateway.RelabelPhotoFileGateway",
"reason": "退货签收照片复用当前业务文件网关。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService",
"target": "com.baiyue.lastleg.relabel.entity.RelabelApplication",
"reason": "退货实收后按本客户可用退货箱创建换标申请及明细,照片复用原网关;保留同服务事务内稳定关联。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService",
"target": "com.baiyue.lastleg.relabel.entity.RelabelItem",
"reason": "退货实收后按本客户可用退货箱创建换标申请及明细,照片复用原网关;保留同服务事务内稳定关联。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService",
"target": "com.baiyue.lastleg.relabel.mapper.RelabelApplicationMapper",
"reason": "退货实收后按本客户可用退货箱创建换标申请及明细,照片复用原网关;保留同服务事务内稳定关联。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService",
"target": "com.baiyue.lastleg.relabel.mapper.RelabelItemMapper",
"reason": "退货实收后按本客户可用退货箱创建换标申请及明细,照片复用原网关;保留同服务事务内稳定关联。"
},
{
"source": "com.baiyue.lastleg.returnreceipt.service.ReturnReceiptService",
"target": "com.baiyue.lastleg.relabel.pda.gateway.RelabelPhotoFileGateway",
"reason": "退货实收后按本客户可用退货箱创建换标申请及明细,照片复用原网关;保留同服务事务内稳定关联。"
}
],
"applicationDependencyRule": {
"packagePrefix": "com.baiyue.lastleg.masterdata.vehicle.application",
"allowedInternalPrefix": "com.baiyue.lastleg.masterdata.vehicle.application",
@@ -62,13 +203,13 @@
]
},
"sliceSpecificRules": {
"security-projection": {
"allowedOutgoing": ["shared-technical"],
"allowedIncoming": []
"fleet": {
"allowedOutgoing": ["overseas-master-data", "shared-technical"],
"allowedIncoming": ["dispatch-delivery"]
},
"overseas-master-data": {
"allowedOutgoing": ["shared-technical"],
"allowedIncoming": ["procurement-trucking-looseboard"]
"allowedIncoming": ["procurement-trucking-looseboard", "fleet"]
}
}
}