4.4 KiB
4.4 KiB
二期、三期业务功能回归报告
测试时间:2026-08-07
测试范围
- 二期:企业资质、平台审核、公共主数据、客户计费规则、头程下单、入库测量、称重、计费与入库。
- 三期:虚拟柜、智能装柜、预装、PDA 拣货和最终装柜清单。
- 测试环境:本机 MySQL、Redis、Nacos;隔离服务端口
19300到19306。未停止、未占用用户的192xx服务端口。 - 测试结束后已停止本次启动的 Gateway 和全部
193xx隔离服务;未停止 MySQL、Redis、Nacos 或用户服务。
项目索引结论
- 二期主状态和测量、计费、入库编排在
firstleg;订单货物在order;仓库、托盘、库位、往来单位在warehouse;文件在file。 - 三期智能装柜、预装、PDA 拣货、装柜清单均在
firstleg。 - 当前
tenant_id在业务上代表客户归属;公共主数据应使用tenant_id=0,订单服务仅可读取公共仓库和公共往来单位。
二期结果
结果:未通过,主链路在创建头程订单草稿前被阻断。
- 已通过 15 项:平台/商户登录、Firstleg 健康检查、企业注册、营业执照及法人身份证上传、企业资质提交与平台审核、承运商与客户往来单位创建、收货仓创建、客户计费规则创建、费率版本创建。
- 阻断接口:
POST /api/merchant/v1/orders/first-leg。 - 返回:业务码
A0404,提示往来单位不存在或不属于当前企业。
阻断原因
- 订单服务
OrderMasterDataGuard固定以公共归属tenantId=0查询往来单位和收货仓,并要求订单客户快照往来单位具有SHIPPER类型。 - 当前平台往来单位 API 对
tenantId=0返回A0422,校验信息为“最小不能小于 1”;公共主数据无法经 API 创建或查询。 - 旧订单请求仍强制
carrierId、carrierName。本次不传时返回A0422。根据最新业务确认,头程业务不存在“承运商”概念,这一历史字段、校验、分配接口和费率依赖应移除或改为船司领域模型,不能继续作为下单前置条件。
结论:在修复公共主数据 tenantId=0 API 契约,并移除订单承运商强制校验前,二期无法从下单继续验证测量、称重、计费和入库。
三期结果
结果:通过。
真实 API 已复核的完成装柜清单:
- 装柜计划:
2085554481377796097 - 查询接口:
GET /api/platform/v1/first-leg/loading-lists/2085554481377796097?warehouseId=2084548444218646530 - 最终状态:
COMPLETED - 集装箱号:
PH3-20260807103117 - 装柜箱数:2
- 总件数:20
- 总毛重:20kg
- 总体积:0.24m3
- 历史事件存在:
PDA_COMPLETE_LOADING - 明细已有冻结时间,符合完成后不可修改的规则。
定向服务层测试:29 项通过、0 失败、0 错误。
SmartLoadingServiceTest:15 项LoadingListServiceTest:8 项LoadingPickServiceTest:2 项PdaPickSettlementPlanTest:3 项SmartLoadingStatusTest:1 项
构建与脚本观察
- 离线全量模块测试执行到
firstleg:211 项中 1 项失败。失败项是InboundParentChildSqlContractTest,原因是统一 SQL 已使用最终索引命名,但测试仍断言旧索引名uk_inbound_parent_sequence;属于 SQL 契约断言滞后,不是 Java 业务断言失败。 - 二期验收脚本需要 PowerShell 7 的
SkipHttpErrorCheck,而本机只有 Windows PowerShell 5;测试时使用了临时 UTF-8 BOM 兼容副本。 - 原脚本引用的
c7.png、c8.png示例图片未随项目提供;测试目录使用最小 PNG 仅验证上传协议。 - 初始 File 隔离 JAR 未包含当前资质包上传端点,使用当前编译类启动后接口通过。发布前应重新打包 File 服务,避免运行包与源码不一致。
建议处理顺序
- 移除头程订单及二期计费中的承运商强制字段、校验和分配逻辑;如需要船司,改为独立船司主数据,不复用往来单位承运商。
- 修复平台公共主数据 API:允许且仅允许平台身份使用
tenantId=0创建、查询公共仓库和往来单位。 - 为订单下单提供可选的公共发货单位选择,或明确订单客户快照不再依赖
SHIPPER往来单位。 - 完成以上两项后,重新执行二期全链路:下单、审核、入仓单、测量、OCR 称重、费用试算、费用确认、入库完成。