77 Commits

Author SHA1 Message Date
ac708cb7a9 排除普通商品历史残留记录 (#78) 2026-08-25 15:34:39 +08:00
5f666681f7 普通商品数据来源列与筛选结果导出 (#76) 2026-08-24 14:48:33 +08:00
8bfd82aa29 店铺营销账户账单各平台导出 (#77)
为淘系、阿里巴巴和京东专用账单补齐按当前筛选条件导出,并保留拼多多及通用平台既有导出能力。导出统一优先读取共享业务镜像。
2026-08-24 14:29:46 +08:00
c941dd98f0 修复非京喜退款数据页面固定空状态 (#75)
Co-authored-by: 苏木 <594326199@qq.com>
Co-committed-by: 苏木 <594326199@qq.com>
2026-08-21 18:26:04 +08:00
d87ca96593 普通商品增加1688代发采购单价来源 (#74)
保留并标注普通商品采购价,接入已完成1688代发采购单价的只读共享业务镜像。
2026-08-21 14:49:16 +08:00
346fef1864 修复:恢复拼多多营销账户账单筛选导出 (#66) 2026-08-17 23:11:55 +08:00
1993996a96 普通商品与聚水潭同步一致性 (#64) 2026-08-15 19:10:52 +08:00
b51f52b87e 商品及库存普通商品资料 (#63)
共享业务镜像普通商品资料页面、稳定分页筛选、同步状态和数据集查询索引。
2026-08-15 18:21:38 +08:00
809bca2e5c 修复业务镜像增量分页超时 (#61) 2026-08-15 05:03:19 +08:00
fbd05380f3 提高首次业务镜像批次效率 (#60) 2026-08-15 03:49:49 +08:00
955ddb5e26 修复业务镜像日期格式 (#59) 2026-08-15 03:16:16 +08:00
9c179f6170 修复业务镜像宽表行大小限制 (#58) 2026-08-14 21:02:58 +08:00
bb9937a0cf 修复旧业务数据字符导致镜像同步中断 (#57) 2026-08-14 20:44:59 +08:00
3885802877 修复业务镜像增量同步与营销账单导出 (#56) 2026-08-14 20:15:34 +08:00
43445fde4b feat: read marketing bills from business mirror
首次全量完成后,营销账户账单、余额、汇总、选项及分页优先读取 caiwu_business_mirror;未就绪时保留旧快照链路。
2026-08-14 17:48:23 +08:00
bb9a18eddb 公司店铺商标页面切换共享业务镜像 (#54) 2026-08-14 16:50:34 +08:00
6b2b486ce1 建立全项目上游业务镜像框架 (#53)
## 任务占用与边界

- 任务名称:全项目上游业务镜像目录与通用同步框架
- 实际开发者:WuYongJie
- 目标结果:登记当前代码实际使用的上游原表,提供低压、可断点的首次全量、增量重叠和全量校准框架。
- 实际修改:13 个文件;新增通用数据集目录、动态镜像建表、同步状态、同步命令、生产低压轮询、测试和团队清单。
- 将写入的公共契约:`business_mirror_table_states`、`business-mirror:sync-tables`、`BusinessMirrorDatasetRegistry`、`BusinessMirrorSchemaManager`。
- 仅复用、明确不修改:`UpstreamReadOnlyQueryFactory`、`upstream_schema_columns`、既有 `product_price_mirror_rows`。
- 明确不包含:本 PR 不切换其余业务页面 Repository,不执行生产迁移或首次全量,不提交真实业务数据或凭据。

## 合并前自审

- [x] 已重新拉取最新 `origin/main`,分支仅领先 1 个提交
- [x] `git merge-tree --write-tree origin/main HEAD` 无冲突
- [x] 完整 diff 共 13 个文件,未发现越界文件或敏感内容
- [x] 生产共享数据字典核对 38 个数据集,缺失对象/字段为 0
- [x] 临时 MariaDB 空库迁移实测成功,验证库已删除
- [x] 上游异常空结果不会清空已有镜像
- [x] 定时任务只轮转已完成首次全量的数据集,不会自动扫描未初始化大表

## 测试

- `BusinessMirrorSynchronizerTest` 等相关测试:14 tests / 65 assertions 全通过
- 新同步器专项:5 tests / 25 assertions 全通过
- 新增 PHP 文件语法检查全部通过
- 两份生产激活脚本 `bash -n` 通过
- `git diff --check` 通过

## 风险与回滚

- 包含新增迁移,但发布脚本遇到迁移仍会要求独立高风险授权;合并本身不会执行生产迁移。
- 首次全量必须逐数据集显式执行并做数量/翻页/筛选验收,特别是约 280 万行的大表不得随发布自动全扫。
- 回滚代码可回退本合并提交;生产迁移执行前必须备份 `caiwu_system_config` 与 `caiwu_business_mirror`。

Reviewed-on: http://git.1080p.hk/WuYongJie/CaiWuXiTong/pulls/53
2026-08-14 16:38:33 +08:00
e08cfca1e9 feat: add shared product price business mirror 2026-08-14 15:21:49 +08:00
8d49b979c2 修复经营分析副本库 ANSI 会话设置 (#50) 2026-08-14 13:51:17 +08:00
63b278e149 修复:商品价格切换经营分析副本库
商品价格读取经营分析副本库固定只读视图,并迁移生产快照刷新映射。
2026-08-14 13:33:53 +08:00
7a3857e10f 修复商品价格读取实时价格日志
商品价格改为读取当前价格调整日志表,并补充查询映射与回归测试。
2026-08-14 10:10:34 +08:00
a454367845 修复共享快照处理中状态反馈 (#46) 2026-08-13 15:41:56 +08:00
5511dfb221 恢复店铺营销账户余额页面 (#40)
恢复淘系与拼多多营销账户月度余额汇总、筛选、分页和导出。
2026-08-13 11:41:42 +08:00
31ce9abd33 店铺收款账户账单淘系支付宝附件数据 (#36) 2026-08-13 00:42:08 +08:00
09d593dd2d 订单数据接入聚水潭上游只读数据 (#27)
## 任务背景
订单数据页面已完成附件表头,本任务由 renshen 接入聚水潭上游真实只读数据。

## 任务目标
- 订单售后费用明细:按附件字段展示订单、商品、SKU 成本及售后关联数据。
- 商品推广费用明细:按商品/款式汇总推广费用。
- 不硬编码附件演示值;缺失字段保持空值或零。

## 预计修改路径
- modules/EcommerceFinance/Repositories/OrderDataRepository.php
- modules/EcommerceFinance/View/Composers/OrderDataPageComposer.php
- modules/EcommerceFinance/Providers/Main.php
- resources/views/business/pages/order-data/*.blade.php
- tests/Unit/EcommerceFinance/OrderDataRepositoryTest.php
- tests/Feature/Business/OrderDataPagesUpstreamTest.php

## 页面和路由
复用 order-data/after-sales-expenses、order-data/promotion-expenses 和 business.pages.show;不新增或修改 routes。

## Controller / Repository
新增 OrderDataRepository 和专用 View Composer;不修改 app/Http/Controllers/Business/Pages.php。

## 数据源、表和字段
source_key=operations_replica,数据库 JSReportReplica,schema=rpt。固定参数化只读查询使用 jst_Orders、jst_OrderItem、jst_sku、jst_skumap、jst_returnAndRefundInfo、jst_returnAndRefundItem、jst_warehouseInfo、ads_itemid_sales_cost_ratio_v2_di。字段限于订单/商品标识、时间、店铺、SKU 元数据、金额、售后数量金额及 push_fee。

## scope
- order-data.after-sales.list
- order-data.promotion.list

## 权限、菜单和公共组件
复用现有页面权限、菜单、UpstreamReadOnlyQueryFactory 和 UpstreamQueryCacheFactory;不修改权限和导航。

## 明确不修改
不修改 routes、Pages Controller、数据库迁移、上游连接配置、权限、菜单、京东钱包功能、共享数据库结构或任何上游数据。

## 范围补充:后台快照刷新
- modules/EcommerceFinance/Services/OperationsReplicaSnapshotRefresher.php
- tests/Unit/EcommerceFinance/OperationsReplicaSnapshotRefresherTest.php

刷新器仅为 order-data.after-sales.list 和 order-data.promotion.list 分派同一 OrderDataRepository 固定查询;其他 scope 继续复用现有 UpstreamBusinessInformation。

Reviewed-on: http://git.1080p.hk/WuYongJie/CaiWuXiTong/pulls/27
2026-08-11 14:50:56 +08:00
28a62434d2 整合并修正京东钱包账单 (#26)
接入京东充值与消耗账单,修复快照冷启动、刷新依赖、日期边界与标签局部切换。
2026-08-11 12:22:41 +08:00
433c8ab762 修复供应商赔偿明细数据来源 (#11)
接手 sumu 本地任务,复用既有只读 Repository 契约,将赔偿明细切换到 dbo.fys_supplierPaymentSummary,并按附件保留五列表头。
2026-08-06 16:26:51 +08:00
a9fd2cfb37 接入 1688 营销账户账单 (#12)
根据 Alibaba.xlsx 字段接入 JianSun.dbo.alibaba_bill,提供筛选、汇总、分页、快照刷新和错误状态。
2026-08-06 16:07:31 +08:00
3fd41dfb69 修复 operations_replica 生产驱动崩溃 (#9)
## 任务占用与边界

- 任务名称:修复 operations_replica 生产驱动崩溃
- 实际开发者:WuYongJie
- 任务来源/团队分工:生产快照恢复
- 目标结果:生产 Linux 容器不再通过会崩溃的 PDO_ODBC 访问 FreeTDS;保留固定只读查询、共享系统数据库凭据来源和私有隧道。
- 预计修改路径:deploy/Dockerfile;modules/EcommerceFinance/Services/UpstreamOdbcConnection.php;tests/Unit/EcommerceFinance/UpstreamOdbcConnectionTest.php
- 预计页面或路由:公司、店铺、商标信息页的共享快照读取
- 预计 Controller / Repository:UpstreamOdbcConnection;UpstreamReadOnlyQuery
- 数据源、表/视图和字段:operations_replica 固定只读查询;不新增上游写入、全表同步或业务字段。
- 上游 source_key / scope:operations_replica;company-information.read、store-information.read、trademark-information.read
- 权限名、菜单键或共享组件:不变
- 明确不修改的范围:上游账号、密码、权限、表结构、业务数据、Windows/本地 ODBC 行为

## 开工碰撞检查

- [x] Codex 已执行 scripts/codex-task-preflight.ps1
- [x] 已检查最新 main 和所有远程任务分支
- [x] 已搜索主线既有页面、接口、Repository 和数据查询
- [x] 未发现重叠

## 实际改动

- 完成内容:开发中
- Codex 实际修改的文件:待补充
- 新增或变更的公共契约:仅 Linux 容器内的 FreeTDS PDO 传输选择;不新增外部配置项
- 与原计划的差异:无

## 验证证据

- 正常流程:同一共享配置和私有隧道下,FreeTDS 命令行 SELECT 1 已成功;PDO_ODBC 独立进程退出码 139。
- 空数据/错误输入/无权限场景:待补充自动测试。
- 受影响旧功能:Windows/本地仍使用既有 ODBC。
- 自动测试及结果:待补充。
- 实际页面、接口或只读业务查询结果:待合并和获准发布后生成三份首份快照。

## 风险检查

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

高风险影响、回滚和授权状态:需要构建新的应用镜像并经生产最小只读查询验证;不迁移、不改上游数据。若验证失败,发布脚本自动保留上一个可回滚镜像。

## 合并前复查

- [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
- [ ] PR 不再是 WIP:,所有测试结果已经补齐
- [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 origin/main...任务分支 的完整 diff
- [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
- [ ] 合并顺序不会覆盖其他未合并任务
- [x] 已授权当前任务的 Codex 执行 Squash merge、验证 main 并清理任务分支
- [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权

Reviewed-on: http://git.1080p.hk/WuYongJie/CaiWuXiTong/pulls/9
2026-08-04 17:09:14 +08:00
7608f99b9e 生产经营分析副本库隧道端点 (#8)
## 任务占用与边界
- 任务名称:生产经营分析副本库隧道端点
- 实际开发者:WuYongJie
- 任务来源/团队分工:生产快照恢复
- 目标结果:生产环境经受限隧道读取 operations_replica;账号、密码和业务库信息仍仅来自共享系统数据库。
- 预计修改路径:config/upstreams.php;modules/EcommerceFinance/Services/UpstreamSourceRegistry.php;tests/Feature/SystemSettings/UpstreamDatabasesTest.php
- 预计页面或路由:公司、店铺、商标信息页的共享快照读取
- 预计 Controller / Repository:UpstreamSourceRegistry
- 数据源、表/视图和字段:operations_replica 固定只读查询;不新增上游写入或全表同步。
- 上游 source_key / scope:operations_replica;company-information.read、store-information.read、trademark-information.read
- 权限名、菜单键或共享组件:不变
- 明确不修改的范围:上游账号、密码、表结构、业务数据、开发机直连行为

## 开工碰撞检查
- [x] Codex 已执行 scripts/codex-task-preflight.ps1
- [x] 已检查最新 main 和所有远程任务分支
- [x] 已搜索主线既有页面、接口、Repository 和数据查询
- [x] 未发现重叠

## 实际改动
- 完成内容:为生产共享配置增加可选私有隧道端点;仅替换连接主机和端口。
- Codex 实际修改的文件:config/upstreams.php;modules/EcommerceFinance/Services/UpstreamSourceRegistry.php;tests/Feature/SystemSettings/UpstreamDatabasesTest.php
- 新增或变更的公共契约:UPSTREAM_TUNNEL_OPERATIONS_REPLICA_HOST;UPSTREAM_TUNNEL_OPERATIONS_REPLICA_PORT
- 与原计划的差异:无

## 验证证据
- 正常流程:生产 Docker 网络已验证可达既有受限隧道。
- 空数据/错误输入/无权限场景:端点缺失或无效时拒绝使用不完整隧道配置。
- 受影响旧功能:本地共享模式与显式本机覆盖模式保持原行为。
- 自动测试及结果:UpstreamDatabasesTest 18 passed,102 assertions。
- 实际页面、接口或只读业务查询结果:待合并和生产部署后执行首份快照验证。

## 风险检查
- [ ] 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复
- [x] 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权
- [x] 未提交 .env、密码、Token、私钥、真实财务数据、生产日志或构建产物
- [x] 前端改动符合 DESIGN.md;无前端改动则写“不适用”
高风险影响、回滚和授权状态:生产私有运行配置会新增两项仅端点变量;已存在运行配置备份与共享系统数据库备份。部署和生成快照需在合并后单独复核。

## 合并前复查
- [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
- [ ] PR 不再是 WIP:,所有测试结果已经补齐
- [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 origin/main...任务分支 的完整 diff
- [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
- [ ] 合并顺序不会覆盖其他未合并任务
- [x] 已授权当前任务的 Codex 执行 Squash merge、验证 main 并清理任务分支
- [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权

Reviewed-on: http://git.1080p.hk/WuYongJie/CaiWuXiTong/pulls/8
2026-08-04 16:15:33 +08:00
79e25e90fc fix: refresh operations replica snapshots (#7) 2026-08-04 15:41:49 +08:00
f7d90740a9 merge: 同步远端主线更新
# Conflicts:
#	app/Http/Controllers/Business/Pages.php
2026-08-04 12:09:09 +08:00
5416442e19 feat: 完善业务管理页面与中文表头 2026-08-04 12:01:19 +08:00
e144a3562c 修复上游业务页面快照完整性 (#2)
## 任务占用与边界

- 任务名称:修复上游业务页面快照完整性
- 实际开发者:WuYongJie
- 任务来源/团队分工:项目负责人反馈生产业务页面空数据、503 与首份快照长期未生成
- 目标结果:所有已接入上游的页面能够公平生成列表、汇总和筛选项快照;未放行范围明确列出并走生产授权
- 预计修改路径:modules/EcommerceFinance/Services/UpstreamQueryCache.php;tests/Unit/EcommerceFinance/JianSunQueryCacheTest.php
- 预计页面或路由:所有使用 upstream snapshots 的业务页面与 workspace-data 接口
- 预计 Controller / Repository:不修改业务 Repository;修复共享 UpstreamQueryCache 调度
- 数据源、表/视图和字段:jiansun 已有固定只读 Repository;不新增表、不改字段
- 上游 source_key / scope:jiansun;goods.*、invoice-deductions.*、taobao-alipay-bills.* 及既有快照范围
- 权限名、菜单键或共享组件:不修改
- 明确不修改的范围:不写生产数据库、不迁移、不部署、不修改上游 SQL 与业务金额逻辑

## 开工碰撞检查

- [x] Codex 已执行 scripts/codex-task-preflight.ps1
- [x] 已检查最新 main 和所有远程任务分支
- [x] 已搜索主线既有页面、接口、Repository 和数据查询
- [x] 未发现当前计划文件重叠

相关分支、重叠项与协调结论:两个历史本地共享数据库分支涉及 Pages.php 等文件;本任务缩小为 UpstreamQueryCache 与对应单测,不与其重叠。

## 实际改动

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

## 验证证据

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

## 风险检查

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

高风险影响、回滚和授权状态:代码修复本身不写生产数据;生产 allowed_scopes 调整、快照生成和部署必须另行取得明确授权。

## 合并前复查

- [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
- [ ] PR 不再是 WIP:,所有测试结果已经补齐
- [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核完整 diff
- [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
- [ ] 合并顺序不会覆盖其他未合并任务
- [ ] 已授权当前任务的 Codex执行 Squash merge、验证 main 并清理任务分支
- [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权

Reviewed-on: http://git.1080p.hk/WuYongJie/CaiWuXiTong/pulls/2
2026-08-03 18:22:46 +08:00
6f945d2a79 Merge remote-tracking branch 'origin/main' into fix/sumu-product-prices
# Conflicts:
#	app/Http/Controllers/Business/Pages.php
#	modules/EcommerceFinance/Services/JianSunSnapshotRefresher.php
#	tests/Unit/EcommerceFinance/JianSunSnapshotRefresherTest.php
2026-07-30 18:07:38 +08:00
1950733844 功能:接入供应商应付数据与快照 2026-07-30 18:01:57 +08:00
85f3db56ce 合并:本地共享数据库验证与原材料数据页面 2026-07-30 16:11:38 +08:00
8a8ea93c63 功能:合并淘系支付宝上游账单 2026-07-30 10:22:37 +08:00
614dfeb9b0 修复:本地开发自动直读上游数据库 2026-07-24 22:13:00 +08:00
e36deb4c09 修复:兼容上游重复字段目录 2026-07-24 21:51:49 +08:00
5045fadfe8 功能:安全整合封边条上游数据 2026-07-24 18:34:09 +08:00
d9590ae28d 功能:增加共享上游数据字典和后台取数中转 2026-07-24 18:20:33 +08:00
387b44426d 功能:按需共享上游查询快照 2026-07-24 13:40:03 +08:00
e92ccfa376 修复:支持生产私有上游端点覆盖 2026-07-24 13:00:12 +08:00
9a65836e3f 修复:完善本地初始化与共享系统数据库切换 2026-07-24 12:18:01 +08:00
7660cec0f9 功能:安全整合拼多多账单筛选与分页 2026-07-23 22:03:45 +08:00
287a3eb565 功能:安全接入拼多多上游账单 2026-07-23 20:59:49 +08:00
4b56c9cd07 修复:统一开发环境上游数据库连接 2026-07-23 20:49:06 +08:00
f5500c6667 修复:系统数据库凭据解锁共享云数据库 2026-07-23 13:31:39 +08:00
wangshu
e30f8da360 fix: 修复店铺账单接口路由加载 2026-07-22 21:08:49 +08:00