营销账户账单优先读取完整业务镜像 #55

Merged
WuYongJie merged 1 commits from feature/WuYongJie-marketing-bills-mirror-read into main 2026-08-14 17:48:24 +08:00
Owner

任务目标

将已登记的 5 张营销账户上游表切换为“首次全量完成后优先读取 caiwu_business_mirror”,彻底避免翻页或筛选条件变化时重新等待按参数快照。

实际修改范围

  • app/Http/Controllers/Business/Pages.php
  • modules/EcommerceFinance/Repositories/MarketingAccountBillMirrorRepository.php
  • modules/EcommerceFinance/Repositories/TmallTaobaoSpreadBillRepository.php
  • modules/EcommerceFinance/Repositories/PinduoduoSpreadBillRepository.php
  • modules/EcommerceFinance/Repositories/AlibabaBillRepository.php
  • modules/EcommerceFinance/Repositories/JdWalletBillRepository.php
  • tests/Feature/Business/MarketingAccountBillsTabsTest.php
  • tests/Unit/EcommerceFinance/MarketingAccountBillMirrorRepositoryTest.php

写入的公共契约

  • 营销账户页面在对应数据集首次全量完成后直接读取业务镜像库,不再按页码/筛选登记旧查询快照。
  • 数据集:jiansun.dbo.tmall_spread_bills、jiansun.dbo.pdd_spread_bills、jiansun.dbo.alibaba_bill、jiansun.dbo.jd_spreadBills、jiansun.dbo.jd_costBills。
  • 镜像未准备好或镜像连接暂不可用时,保持原生产查询快照链路,不造成上线前行为中断。

仅复用、不修改

  • config/upstream_mirrors.php 已登记的数据集定义。
  • BusinessMirrorSynchronizer、GenericBusinessMirrorRepository 和现有上游只读查询实现。
  • 既有路由、权限名、菜单键、数据表结构和迁移。

验证

  • PHP lint:8 个改动 PHP 文件全部通过。
  • PHPUnit:26 tests / 199 assertions 全部通过。
  • 覆盖:第一页、第二页、筛选、汇总、店铺选项、月余额、京东充值/消耗、镜像未就绪回退、镜像就绪不再调用 UpstreamQueryCache。
  • git diff --check:通过。
  • 暂未执行生产部署、首次全量同步或生产数据库写入;这些操作需要独立高风险授权。

风险与回滚

  • 风险集中在读取路径切换;只有 initial_completed_at 已存在时才启用镜像。
  • 回滚可直接回退本 PR 合并提交;业务镜像表保留不会影响旧快照链路。
## 任务目标 将已登记的 5 张营销账户上游表切换为“首次全量完成后优先读取 caiwu_business_mirror”,彻底避免翻页或筛选条件变化时重新等待按参数快照。 ## 实际修改范围 - app/Http/Controllers/Business/Pages.php - modules/EcommerceFinance/Repositories/MarketingAccountBillMirrorRepository.php - modules/EcommerceFinance/Repositories/TmallTaobaoSpreadBillRepository.php - modules/EcommerceFinance/Repositories/PinduoduoSpreadBillRepository.php - modules/EcommerceFinance/Repositories/AlibabaBillRepository.php - modules/EcommerceFinance/Repositories/JdWalletBillRepository.php - tests/Feature/Business/MarketingAccountBillsTabsTest.php - tests/Unit/EcommerceFinance/MarketingAccountBillMirrorRepositoryTest.php ## 写入的公共契约 - 营销账户页面在对应数据集首次全量完成后直接读取业务镜像库,不再按页码/筛选登记旧查询快照。 - 数据集:jiansun.dbo.tmall_spread_bills、jiansun.dbo.pdd_spread_bills、jiansun.dbo.alibaba_bill、jiansun.dbo.jd_spreadBills、jiansun.dbo.jd_costBills。 - 镜像未准备好或镜像连接暂不可用时,保持原生产查询快照链路,不造成上线前行为中断。 ## 仅复用、不修改 - config/upstream_mirrors.php 已登记的数据集定义。 - BusinessMirrorSynchronizer、GenericBusinessMirrorRepository 和现有上游只读查询实现。 - 既有路由、权限名、菜单键、数据表结构和迁移。 ## 验证 - PHP lint:8 个改动 PHP 文件全部通过。 - PHPUnit:26 tests / 199 assertions 全部通过。 - 覆盖:第一页、第二页、筛选、汇总、店铺选项、月余额、京东充值/消耗、镜像未就绪回退、镜像就绪不再调用 UpstreamQueryCache。 - git diff --check:通过。 - 暂未执行生产部署、首次全量同步或生产数据库写入;这些操作需要独立高风险授权。 ## 风险与回滚 - 风险集中在读取路径切换;只有 initial_completed_at 已存在时才启用镜像。 - 回滚可直接回退本 PR 合并提交;业务镜像表保留不会影响旧快照链路。
WuYongJie added 1 commit 2026-08-14 17:47:25 +08:00
WuYongJie changed title from WIP: 营销账户五张账单切换完整业务镜像读取 to 营销账户账单优先读取完整业务镜像 2026-08-14 17:47:51 +08:00
WuYongJie merged commit 43445fde4b into main 2026-08-14 17:48:24 +08:00
WuYongJie deleted branch feature/WuYongJie-marketing-bills-mirror-read 2026-08-14 17:48:25 +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#55
No description provided.