From 1a92bba2d5b6e7bce44b67345c19ec2adee2633c Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 26 Oct 2026 17:27:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 测试环境单机部署与配置契约.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/测试环境单机部署与配置契约.md b/测试环境单机部署与配置契约.md index b0b430d..766f01e 100644 --- a/测试环境单机部署与配置契约.md +++ b/测试环境单机部署与配置契约.md @@ -7,6 +7,26 @@ - 用户本轮已删除灰度旧 PDA 容器,并按本轮提供的命令把两站点页面代理改回静态文件;用户回传国内、海外域名首页均 HTTP 200,并确认恢复。该结果不外推 TEST 容器清理、其他代理节点或完整业务验证;本轮未远程执行其他环境删除或发布。 - 2026-09-29 起的 TEST H5 容器方案、2026-10-07 灰度容器/端口转发及后续镜像更新记录仅证明当时部署事实,已被本节发布方式取代。历史 `reports/gray-release-20261007/`、`reports/three-module-gray-20261012/` 等脚本与报告只用于追溯,不得重跑以恢复 PDA 容器或覆盖站点路由。 +## 2026-10-26 海外费用与仓租 TEST 补齐:收费、仓租及应付链路已验,直付明细已修复并复验 + +- 本轮仅继续 TEST。先按已审阅的 `overseas-fees-storage-rent-structure-add.sql`、`overseas-storage-rent-zero-fee-repair.sql` 补齐 `ll_storage_rent_inbound`、费用审核人名称及自动免费仓租的金额/汇率约束,两文件执行成功。执行前后原有费用均为 143 条,资金编排及计租批次均为 0;未重放初始化、未回填或删除业务数据,未调整汇率。 +- 首批配套后端固定源码 `f37d52aeadaab9a757a0caf7a6b2efac1bb1b3fe`:Firstleg `#521`、Warehouse `#138`、Finance `#138` 均 SUCCESS,当时实际容器镜像标签 `f37d52aeadaa` 且 healthy;Finance 后续单服务修复版本见本节下文。内部服务身份调用费用目录、指定验收客户仓租价格和钱包读取均为 HTTP 200 / 业务码 200;目录 16 项,客户仓租为 USD、9 个阶梯。Finance 两项事件摘要字段已为 `varchar(71)`,无需追加结构修复。 +- Lastleg 固定到不可变标签 `test-overseas-finance-20261026-r2` / `c6bc3ac85b823d19af56826a17e448f08a214fb7`,`#432` SUCCESS,实际容器标签 `c6bc3ac85b82`、running/healthy。原 `#431` 完成 Lastleg 3,591 项测试,5 项失败、11 项跳过;失败来自初始化末尾建表统计未同步(238→239)、合托拣货测试夹具漏注入仓租服务、单表分页测试漏指定已开船条件三处。仅修正统计和测试,生产 Java 与服务资源保持 `f37d52aeadaa` 冻结源;相关 56 项定向复验通过。`#432` 复用已通过项和定向复验,显式跳过重复测试执行,保留编译、打包和健康检查;不能将原 `#431` 或未执行的集成测试记为通过。 +- Admin `b5d8ccdffe9c56094f2d0c975c090e0957a49fc9` 已由 `#714` 发布,实际标签 `b5d8ccdffe9c`、running/healthy。`#713` 因 Jenkins 轻量检出把提交哈希当作分支而失败,未进入构建;改用完整检出后成功,临时 SCM 配置已逐字核对并恢复。海外 PDA `2ff0ae7975bfb3fe04a036dcea17845460196181` 的 51 项定向测试、H5 构建及产物核验通过;已备份并上传实际 TEST 宿主机静态站点,线上 83 个文件 SHA-256 与构建产物逐项一致,`/gateway-api/` 登录及退出成功。该代理连通性检查不代表 PDA 绑定仓库后的扫码作业通过。 +- 配套发布后,统一 Gateway 的费用分页、费用目录、仓租列表、仓库选项及业务单选项均 HTTP 200 / 业务码 200;客户账号访问平台费用、仓租接口均 HTTP 403 / A0403。真实平台角色细分权限与跨客户伪造归属场景尚未在本批完整执行。 +- 人工应收保留当前明确选择 BILL / WALLET 的实现,并分别用三笔新小额费用验收。USD 0.01 按现行月汇率 8 固定为 CNY 0.08,登记冻结、审核仅实扣一次;原创建及审核请求重放不重复创建或消费,同幂等键修改金额被拒绝。另一笔 CNY 0.02 驳回后释放、不实扣;BILL CNY 0.03 审核后形成唯一 AVAILABLE 费用,Lastleg Outbox 为 PUBLISHED、Finance Inbox 为 PROCESSED,无钱包引用或额外扣款。验收账户余额由 2.34 变为 2.26,冻结余额为 0,未充值或调整授信。 +- 资金样本最终 22 项检查通过。首轮脚本误用 `sourceFeeId` 匹配 Finance 费用池,按实际 DTO 的 `sourceId` 修正后仅复核原样本,未重新造费;首轮失败记录、修正后 HTTP 结果及只读数据库投递证据均保留。没有据此认定正式账单生成、核销或付款流程通过。 +- 后续真实 TEST HTTP 验收使用新原生样本,不回填历史库存、不修改入库时间。转运单 `ZY202610260001` 经平台审核、绑定仓 PDA 两托两箱清点及打托、客户测量确认,自动登记两个计租批次;实收与扫码原请求重放均不重复登记或扣减。两箱免费期出库均通过仓租预校验,未预校验的拣货被拒绝;出库后两个批次剩余数量均为 0、状态 CLEARED,自动生成两笔待审零元仓租且汇率为空。该结果来自正式 HTTP 作业,照片和测量均为合成验收数据,不代表实物扫码或页面验收。 +- 免费仓租一笔按零元审核完成,无扣款流水;另一笔由零元补价至 USD 0.02,按月汇率 8 冻结 CNY 0.16,再降至 USD 0.01 审核,仅实扣 CNY 0.08,多余冻结释放。空调价原因及旧版本审核被拒绝,保留原计算零元依据;审核重放沿用同一仓租消费流水。转运原生实收续跑 8 项、免费出库及调价 26 项检查通过,账户余额从 2.26 降至 2.18、冻结为 0。 +- 退货单 `TH202610260001` 原生签收批次 `RB202610260001` 为一托两箱、100 件,经正式清点为 2 件和 98 件两箱。出库 2 件的完整实物箱,按原托 1 天和 2/100 份额计算 USD 0.03,固定月汇率 8 折合 CNY 0.24;预校验冻结成功前不拣货,扫码仅扣减 2 件计租份额,审核后只实扣一次。签收、预校验、扫码、完成及审核重放均保留原记录,未重复计租或扣款;另一箱 98 件保持 AVAILABLE,原入库时间与一托计费基数未重置。原生退货入库续跑 8 项、非零出库结算 18 项检查通过,账户余额从 2.18 降至 1.94、冻结为 0;本批仓租均未进入账单池重复收费。 +- 验收脚本首轮缺少转运清点必填箱数,及退货断言未按实际 DTO 处理字符串数量和 `RETURN_V1` 规则码,分别保留失败记录后修正脚本,仅续跑原业务样本;未为这些脚本问题修改生产代码、重建原单或重复收费。临时海外 PDA 仅绑定本批测试仓,完成后已停用,独立验收会话已退出;既有国内 PDA 账号未改为海外角色。本段后续 HTTP 验收未追加 SQL、部署、充值或授信修改。 +- 供应商应付后续 TEST HTTP 共 31 项检查通过:在本批转运单上关联独立测试供应商,分别登记 CNY 0.03 的 ON_ACCOUNT 与 DIRECT_PAID 费用。账期审核后唯一入池;直付审核后生成唯一 CONFIRMED 成本,保留付款参考及凭证,且不进入账期待选池,强制创建 AP 被 FIN_409 拒绝。创建与审核重放均未新增费用或成本。 +- 账期来源生成 `AP202610260001`,先登记 0.01 元、再登记 0.02 元付款,最终 PAID、未付 0、付款流水恰为两条;已占用费用不得重复生成结算单。超额付款、缺凭证、旧版本、同键修改金额及结清后继续付款均被拒绝,原付款请求重放保持原流水。本批应付及已付成本各增加 0.06 元,客户实际/可用余额保持 1.94 元、冻结 0;凭证及付款参考明确标记为合成验收材料,仅验证付款登记,不代表银行或第三方实际转账。样本保留,验收会话已退出,未执行 SQL 或重新部署。 +- 本次同时发现并修复直付成本明细回显缺陷:成本汇总已正确计入已付,但 `/cost-entries` 及详情把已确认直付返回为“已付 0、未付 0.03”。仅修正 `FinanceQueryService.payableSettlements` 的金额映射:已确认 SOURCE_DIRECT_PAID 全额已付、未付为 0;作废直付保留原金额,已付与未付均为 0;人工成本口径保持原状。新增隔离用例先复现 3 项失败,修复后成本读取、客户过滤及汇总 14 项定向测试全部通过。接口路径、DTO、数据库结构及资金写入均未改变。 +- 经单独确认,Finance 修复已按固定提交 `5b53be23e86362d849b15deee0989ed3be3914c5`、不可变标签 `test-finance-direct-paid-20261026` 发布 TEST。Finance `#139` SUCCESS,耗时 127.4 秒;复用上述 14 项定向测试,显式跳过重复测试执行,保留生产/测试源码编译、打包、镜像及部署健康检查。实际 `firstleg-test-finance` 镜像标签 `5b53be23e863`、running/healthy;前后逐项比对仅 Finance 容器发生变化。原直付样本的列表及详情均已返回“金额 0.03、已付 0.03、未付 0”;6 次发布后 HTTP 请求全部成功,成本身份及唯一性、`AP202610260001` 的两条付款流水与版本、成本汇总、客户实际/可用余额 1.94 和冻结 0 均保持不变。独立会话已退出,本次未重新造费、执行 SQL、改 Nacos 或发布其他服务,灰度部署阶段按条件跳过。 +- 尚未关闭:头程来源同单同仓补入库不重置库龄、采购专用资金链、双设备竞争及页面人工截图。当前新增的两个转运计租批次已清空、一个退货计租批次保留 98 件合成库存;原请求重放及退货分箱出库不替代头程补入库验收。本批不涉及灰度、APK/WGT 或旧容器清理。 +- 本批未纳入远端并行新增的采购提交;后端本地 `test` 与远端 `test` 的并行变更保持原状,发布使用上述不可变标签。其他对话未提交的入仓/排车修改均保留。执行结果保存在本机私有临时目录 `codex-overseas-finance-release-20261026/`、`codex-overseas-rent-acceptance-20261026/`、`codex-overseas-payable-acceptance-20261026/`,报告不保存密码或 Token;实际部署和验收状态只维护在本节。 + ## 2026-10-23 晚间 TEST 批次:已发布并完成部署烟测 - 用户授权提交当前工作区全部代码并部署 TEST;冻结版本为 Backend `a8192f51fefdc031a5b03136d4d6fb7caab26c64`、Admin `047cfb3d0b657b3ccac93486419bd3a0e45d95c5`、Client `2c98d121ca1d62f4b755deb5d9df790d09e4c19d`、国内 PDA `f39303ea24fa75b7cbd0c0de664ee37f8ef6e644`、海外 PDA `f5dc84b3c24d61019cadee7de6fe5a5da11d1c68`,均已推送 TEST 对应分支。后端仅 Lastleg 生产代码变化,出库任务编号改用统一日流水;前端包含智能装柜、订舱/出库展示、客户报关资料关闭按钮及 PDA 作业展示、失效托盘状态修正。