fix(发货数据): 清理包裹里残留的订单占位商品行(数量0),件数随之更正 #815

Merged
limeng merged 1 commits from fix/shipping-purge-zero-qty-rows-1102115345 into main 2026-11-02 13:19:21 +08:00
Collaborator
  • 订单里被替换的原商品、组合装原套装等(数量 0、金额 0/空、item_status=Replaced),
    聚水潭销售出库单不显示;占位过滤上线前入库的包裹,之后因"金额对不上保留旧包裹"一直保留着这些行,
    导致商品编码多出、件数(1/N)偏大,按件数加收的面单费跟着多算。
  • 每次窗口同步后,包裹已有实发商品时删除这些占位行,件数改为实发行数;
    首行若是占位行,其上的重量/运费/结算等包裹级字段先挪到保留的首行。
  • 同步修正单测 test_view_item_with_unmatched_synthetic_sku_retains_old_package_and_marks_items_pending 的预期:
    main 上已上线"新旧条码完全不同视为商品已更正、覆盖旧记录",原用例仍按旧行为断言 2 个保留包裹,与现行逻辑不符。

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf

开工时标题使用 WIP: <任务名称> 并先填写“任务占用与边界”。Codex 完成独立合并前自审后补齐其余内容并移除 WIP:。

任务占用与边界

  • 任务名称:
  • 实际开发者:
  • 任务来源/团队分工:
  • 目标结果:
  • 预计修改路径:
  • 将写入的公共契约(路由、Controller 方法、Repository、表/视图、source_key、scope、权限名、菜单键或共享组件):
  • 仅复用、明确不修改的公共契约:
  • 数据源、表/视图和字段:
  • 上游 source_key / scope:
  • 权限名、菜单键或共享组件:
  • 明确不修改的范围:

开工碰撞检查

  • Codex 已执行 scripts/codex-task-preflight.ps1
  • 已检查最新 main 和所有远程任务分支
  • 已搜索主线既有页面、接口、Repository 和数据查询
  • 已把“将写入”和“仅复用、不修改”的公共契约分开;仅复用项不作为单独阻断条件
  • 未发现实际写入重叠;或已在下方写明相关分支、具体重叠项和协调结论

相关分支、重叠项与协调结论:

实际改动

  • 完成内容:
  • Codex 实际修改的文件:
  • 新增或变更的公共契约:
  • 与原计划的差异:

验证证据

  • 正常流程:
  • 空数据/错误输入/无权限场景:
  • 受影响旧功能:
  • 自动测试及结果:
  • 实际页面、接口或只读业务查询结果:

风险检查

  • 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复
  • 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权
  • 未提交 .env、密码、Token、私钥、真实财务数据、生产日志或构建产物
  • 前端改动符合 DESIGN.md;无前端改动则写“不适用”

高风险影响、回滚和授权状态:

合并前复查

  • 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
  • PR 不再是 WIP:,所有测试结果已经补齐
  • Codex 已重新读取原始需求和验收标准,并逐文件审核 origin/main...任务分支 的完整 diff
  • Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
  • 合并顺序不会覆盖其他未合并任务
  • 已授权当前任务的 Codex 执行 Squash merge、验证 main 并清理任务分支
  • 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权
- 订单里被替换的原商品、组合装原套装等(数量 0、金额 0/空、item_status=Replaced), 聚水潭销售出库单不显示;占位过滤上线前入库的包裹,之后因"金额对不上保留旧包裹"一直保留着这些行, 导致商品编码多出、件数(1/N)偏大,按件数加收的面单费跟着多算。 - 每次窗口同步后,包裹已有实发商品时删除这些占位行,件数改为实发行数; 首行若是占位行,其上的重量/运费/结算等包裹级字段先挪到保留的首行。 - 同步修正单测 test_view_item_with_unmatched_synthetic_sku_retains_old_package_and_marks_items_pending 的预期: main 上已上线"新旧条码完全不同视为商品已更正、覆盖旧记录",原用例仍按旧行为断言 2 个保留包裹,与现行逻辑不符。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf > 开工时标题使用 `WIP: <任务名称>` 并先填写“任务占用与边界”。Codex 完成独立合并前自审后补齐其余内容并移除 `WIP:`。 ## 任务占用与边界 - 任务名称: - 实际开发者: - 任务来源/团队分工: - 目标结果: - 预计修改路径: - 将写入的公共契约(路由、Controller 方法、Repository、表/视图、`source_key`、`scope`、权限名、菜单键或共享组件): - 仅复用、明确不修改的公共契约: - 数据源、表/视图和字段: - 上游 `source_key` / `scope`: - 权限名、菜单键或共享组件: - 明确不修改的范围: ## 开工碰撞检查 - [ ] Codex 已执行 `scripts/codex-task-preflight.ps1` - [ ] 已检查最新 `main` 和所有远程任务分支 - [ ] 已搜索主线既有页面、接口、Repository 和数据查询 - [ ] 已把“将写入”和“仅复用、不修改”的公共契约分开;仅复用项不作为单独阻断条件 - [ ] 未发现实际写入重叠;或已在下方写明相关分支、具体重叠项和协调结论 相关分支、重叠项与协调结论: ## 实际改动 - 完成内容: - Codex 实际修改的文件: - 新增或变更的公共契约: - 与原计划的差异: ## 验证证据 - 正常流程: - 空数据/错误输入/无权限场景: - 受影响旧功能: - 自动测试及结果: - 实际页面、接口或只读业务查询结果: ## 风险检查 - [ ] 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复 - [ ] 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权 - [ ] 未提交 `.env`、密码、Token、私钥、真实财务数据、生产日志或构建产物 - [ ] 前端改动符合 `DESIGN.md`;无前端改动则写“不适用” 高风险影响、回滚和授权状态: ## 合并前复查 - [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查 - [ ] PR 不再是 `WIP:`,所有测试结果已经补齐 - [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 `origin/main...任务分支` 的完整 diff - [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果 - [ ] 合并顺序不会覆盖其他未合并任务 - [ ] 已授权当前任务的 Codex 执行 Squash merge、验证 `main` 并清理任务分支 - [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权
limeng added 1 commit 2026-11-02 13:19:13 +08:00
- 订单里被替换的原商品、组合装原套装等(数量 0、金额 0/空、item_status=Replaced),
  聚水潭销售出库单不显示;占位过滤上线前入库的包裹,之后因"金额对不上保留旧包裹"一直保留着这些行,
  导致商品编码多出、件数(1/N)偏大,按件数加收的面单费跟着多算。
- 每次窗口同步后,包裹已有实发商品时删除这些占位行,件数改为实发行数;
  首行若是占位行,其上的重量/运费/结算等包裹级字段先挪到保留的首行。
- 同步修正单测 test_view_item_with_unmatched_synthetic_sku_retains_old_package_and_marks_items_pending 的预期:
  main 上已上线"新旧条码完全不同视为商品已更正、覆盖旧记录",原用例仍按旧行为断言 2 个保留包裹,与现行逻辑不符。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014nvGZkg27YMEdhRy6EiUwf
limeng merged commit d45dc19261 into main 2026-11-02 13:19:21 +08:00
limeng deleted branch fix/shipping-purge-zero-qty-rows-1102115345 2026-11-02 13:19:22 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#815
No description provided.