财务台账:同步上一晚店铺余额与平台提现 #523

Merged
shanshi merged 2 commits from feature/shanshi-ledger-shop-balance-withdrawals into main 2026-10-24 20:37:30 +08:00
Collaborator

任务占用与边界

  • 任务名称:财务台账同步上一晚店铺余额与平台提现
  • 目标结果:店铺余额取聚水潭快照中上一晚的数据;平台账单提现按“平台 + 店铺名称”映射到店铺台账账户简称并写入对应财务账户收入;可确认缺失的店铺自动补充到店铺台账。
  • 预计修改路径:财务台账同步服务、命令、页面按钮、定时任务、镜像表字段迁移及相关测试。
  • 数据源:聚水潭店铺余额快照、平台账单镜像、店铺收款账户、财务台账店铺表。
  • 上游 source_key / scope:复用现有只读镜像能力,不新增上游写入口。
  • 明确不修改的范围:不修改上游业务库,不重算无关金额口径,不修改税金预测页面。

实际改动

  • 新增 finance-ledger:sync-shop-data 命令与页面手动同步入口。
  • 店铺余额取昨天及以前的最新快照日,忽略当天未收盘数据,并记录每行余额日期。
  • 平台提现通过标准化店铺名和平台兼容规则匹配店铺台账,再取账户简称;提现作为银行账户收入,提现退回反向记为支出。
  • 只自动补充店铺收款账户中能唯一确认、且确实缺失的店铺;无法确认账户的店铺不猜测。
  • 同步按稳定键 upsert,避免重复写入;上游全量替换时保留手工录入和店铺账单提现。
  • 新增 fin_shops.shop_balance_date 迁移,并把每日同步串入现有财务台账定时任务。

验证证据

  • 任务专项测试:36 项通过,440 条断言。
  • 覆盖:上一晚余额边界、补充确认店铺、平台提现映射、幂等、上游已存在去重、全量替换保留、账户状态回归、手工动账与京东账单回归。
  • 本地实际页面已验证同步入口、店铺余额日期、动账明细“店铺账单提现”来源和账户收入。
  • 全量回归中税金预测页存在主线既有断言失败;本分支未修改该页面或对应测试,不属于本次改动。
  • 未提交凭据、环境文件、生产日志或真实财务明细。

风险与回滚

  • 涉及金额、权限和数据库迁移:页面同步按钮仅财务台账管理员可用;新增字段可空且为向后兼容字段。
  • 提现按业务资金流入银行账户口径记账,店铺余额本身不作为收入。
  • 回滚可恢复上一发布镜像;如回退代码,迁移提供 down() 删除新增字段。
  • 已获当前任务授权完成合并与正式发布。

合并前复查

  • 已重新拉取远程引用并合入最新 main
  • 已完成冲突处理、完整 diff、敏感内容和迁移范围自审
  • 任务专项回归通过
  • 前端改动符合 DESIGN.md
  • 使用受控 Windows 发布脚本,不直接推送 main
## 任务占用与边界 - 任务名称:财务台账同步上一晚店铺余额与平台提现 - 目标结果:店铺余额取聚水潭快照中上一晚的数据;平台账单提现按“平台 + 店铺名称”映射到店铺台账账户简称并写入对应财务账户收入;可确认缺失的店铺自动补充到店铺台账。 - 预计修改路径:财务台账同步服务、命令、页面按钮、定时任务、镜像表字段迁移及相关测试。 - 数据源:聚水潭店铺余额快照、平台账单镜像、店铺收款账户、财务台账店铺表。 - 上游 `source_key` / `scope`:复用现有只读镜像能力,不新增上游写入口。 - 明确不修改的范围:不修改上游业务库,不重算无关金额口径,不修改税金预测页面。 ## 实际改动 - 新增 `finance-ledger:sync-shop-data` 命令与页面手动同步入口。 - 店铺余额取昨天及以前的最新快照日,忽略当天未收盘数据,并记录每行余额日期。 - 平台提现通过标准化店铺名和平台兼容规则匹配店铺台账,再取账户简称;提现作为银行账户收入,提现退回反向记为支出。 - 只自动补充店铺收款账户中能唯一确认、且确实缺失的店铺;无法确认账户的店铺不猜测。 - 同步按稳定键 upsert,避免重复写入;上游全量替换时保留手工录入和店铺账单提现。 - 新增 `fin_shops.shop_balance_date` 迁移,并把每日同步串入现有财务台账定时任务。 ## 验证证据 - 任务专项测试:36 项通过,440 条断言。 - 覆盖:上一晚余额边界、补充确认店铺、平台提现映射、幂等、上游已存在去重、全量替换保留、账户状态回归、手工动账与京东账单回归。 - 本地实际页面已验证同步入口、店铺余额日期、动账明细“店铺账单提现”来源和账户收入。 - 全量回归中税金预测页存在主线既有断言失败;本分支未修改该页面或对应测试,不属于本次改动。 - 未提交凭据、环境文件、生产日志或真实财务明细。 ## 风险与回滚 - 涉及金额、权限和数据库迁移:页面同步按钮仅财务台账管理员可用;新增字段可空且为向后兼容字段。 - 提现按业务资金流入银行账户口径记账,店铺余额本身不作为收入。 - 回滚可恢复上一发布镜像;如回退代码,迁移提供 `down()` 删除新增字段。 - 已获当前任务授权完成合并与正式发布。 ## 合并前复查 - [x] 已重新拉取远程引用并合入最新 `main` - [x] 已完成冲突处理、完整 diff、敏感内容和迁移范围自审 - [x] 任务专项回归通过 - [x] 前端改动符合 `DESIGN.md` - [x] 使用受控 Windows 发布脚本,不直接推送 `main`
shanshi added 2 commits 2026-10-24 20:37:13 +08:00
shanshi merged commit 091494113a into main 2026-10-24 20:37:30 +08:00
shanshi deleted branch feature/shanshi-ledger-shop-balance-withdrawals 2026-10-24 20:37:30 +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#523
No description provided.