feat(fleet): enforce reviewed trips and original fee coverage for dispatch
This commit is contained in:
@@ -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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user