4.0 KiB
4.0 KiB
Firstleg Service 模块指引
职责与边界
- 负责履约任务/分配,以及二期入库单、测量/OCR 结果、审核、FBA 计费、完成入库编排。
- 订单主数据归
order/,托盘/库位归warehouse/,文件对象归file/,OCR 供应商归integration-service/;通过客户端 DTO 和内部令牌协作。 - 入库终点为
WAIT_SPLIT + APPROVED + CONFIRMED;二期不实现分柜、装柜、PDA 或完整财务。
模块入口
| 目标 | 入口 |
|---|---|
| 履约任务/分配 | controller/PlatformFulfillmentAssignmentController.java、service/FulfillmentTaskService.java |
| 入库单查询/聚合 | controller/PlatformInboundOrderController.java、service/InboundOrderQueryService.java |
| 测量/OCR/第三方回传 | controller/PlatformInboundMeasurementController.java、OpenApiInboundMeasurementController.java、service/InboundMeasurementService.java |
| 审核/自动完成 | controller/PlatformInboundMeasurementReviewController.java、service/MeasurementReviewService.java、InboundCompletionOrchestrator.java |
| FBA 主数据/计费 | controller/PlatformFbaMasterDataController.java、PlatformFbaPricingController.java、service/FbaPricingService.java |
| 客户费用查询 | controller/MerchantInboundBillingController.java、service/MerchantInboundBillingService.java |
| 跨服务客户端 | client/OrderCargoClient.java、WarehousePalletLocationClient.java、MeasurementImageClient.java |
| SQL/OpenAPI | src/main/resources/db/phase2-*.sql、src/main/resources/openapi/;部署统一 ../deploy/sql/头程数据库统一增量-MySQL8.sql |
| 测试/验证 | src/test/java/com/baiyue/firstleg/;mvn -pl firstleg -am test |
修改约束
- 平台接口必须校验目标客户、权限、乐观锁、幂等键、历史和审计;商户查询只能使用登录态客户。
- 第三方回传必须签名、时间窗、防重放、请求哈希,并绑定订单货物和 File 证据;不得信任外部客户字段。
- 测量审核→计费确认→费用发布→入库完成不得跳过门禁;状态或 DTO 变更时逐个检查 Order/Warehouse/File/Integration 消费者。
三期装柜与 PDA 资源结算
- 智能装柜候选只能按同一国内中转仓合柜;推荐顺序按入库时间先进先出。装柜计划状态为
EDITING -> LOADING -> COMPLETED,PDA 全部明细处理完成后自动完成。 - PDA 部分拣货生成二级子入库单时,数量必须守恒:
已拣数量 + 子单数量 = 拣货前主单可用数量。子单只允许一层,不能继续拆分。 releaseMode=AUTO时,释放资源数为ceil(实际拣货箱数 × 原资源数 / 原可用箱数);MANUAL按locationIds选择,空数组表示明确释放 0 个。未传模式时,locationIds=null兼容为 AUTO。- 头程快照必须保存仓库
reservation_id。A0 是共享临时库位,多个托盘可具有相同location_id,跨服务结算、转移、释放必须使用reservationId,不得把locationId当作唯一资源标识。 - 部分拣货资源结算必须调用 Warehouse 的
/internal/warehouse/v1/pallet-locations/settlements原子接口;禁止拆成独立释放和转移调用。全部释放但子单仍有数量时,由仓库服务重新选择同仓普通库位,不足才落 A0。 - 数据库字段变更同时维护
src/main/resources/db/phase3-pda-release-allocation-migration.sql和../deploy/sql/头程数据库统一增量-MySQL8.sql。
分期导航
- 一期:履约任务与分配;先读
../../docs/一期/README.md。 - 二期:入库、测量、审核、计费闭环;先读
../../docs/二期/README.md、主流程和联调报告。 - 三期:负责订单履约编排、柜次、智能排柜、订舱、拖车、PDA 作业与
LOADED门禁;先读../../docs/三期/三期开工门禁.md。已确认范围按 Controller、DTO、OpenAPI、迁移和调用方共同实现;设备与真机事项只阻断相应验收,不得阻断已确认契约。