83 Commits

Author SHA1 Message Date
17429d65ab perf(财务): 减少大表扫描与重复重算,串行受限导出 2026-10-19 17:53:14 +08:00
aaron
c44d267902 chore(部署): 增加财务台账每日同步 cron 2026-10-19 16:07:32 +08:00
1f4f6f48d4 优化财务资源:减少重复扫描、隔离重型任务、约束系统日志 (#390) 2026-10-19 14:56:54 +08:00
cbbf32bb5c 科目映射表保存后自动重跑业绩明细
映射表保存、删除、恢复、导入和重置后,自动把受影响平台已存在的月份排入后台队列;后台按平台×月份逐个独立进程重跑,数据库锁防重复,生产 cron 每分钟兜底。保存响应直接提示排队任务数。
2026-10-19 14:22:43 +08:00
656c655c91 应付款终版导入:支持 20 万行(流式读取 + 分片导入 + 进度显示) (#361)
新增流式 xlsx/csv 读取器与分片导入:上传建行缓存,按片处理(2 万行/25 秒预算),批量 upsert + 批量审计事件,前端进度条自动续跑;上限 20 万行,上传 50MB。
2026-10-16 23:54:03 +08:00
7742163632 应付款终版导入:分块读取工作簿,避免大文件把进程撑爆导致 500 (#359)
按 2000 行分块读取(大文件不再整表载入内存),读满 1 万行立即提示拆分文件;php.ini 补 log_errors/error_log,致命错误可查。
2026-10-16 23:15:33 +08:00
8d7f6da49f feat(协议签署): 按需生成证件推送单并独立签署归档 (#335) 2026-10-15 08:19:32 +08:00
ea80148dfc 店铺违规预警:级别/责任人/处理截止/超时/推送状态 + 处理状态四档 + 群推送接口 + 预览统计页 (#332) 2026-10-13 19:54:01 +08:00
e61e3b50fb 店铺违规预警:补充生产每日同步定时任务(cron 遗漏) (#315) 2026-10-13 09:36:14 +08:00
c55c06026f 快递应付:报价维护只留报价页签 + 附加费结算定时同步(每日7天/每周90天) (#314) 2026-10-12 17:49:10 +08:00
9f6a5f6fde 退货取件管理:整行点击异步加载详情,本地 opcache 提速 2026-10-12 13:47:01 +08:00
cbec6a8b62 供应商管理增加每天08:15完整同步 (#302) 2026-10-11 13:57:28 +08:00
401dfb089a 店铺账号密码:上游新增字段自动跟随(镜像补列 + 页面自动多出这一列)
新增 business-mirror:follow-upstream-columns:先把数据字典刷新到最新,再把上游
视图里新增、当前数据集还没同步的字段追加进镜像定义并立刻建列,下一次常规同步
就会带回数据。只做新增,不删除/不改写已有字段;字段名带 password/secret/token/
cipher/credential 等敏感关键字的一律跳过。已登记到发布 cron(每天 06:40)。

页面侧:config/upstream_mirrors.php 的 auto_follow_columns 用「页面 => 数据集」
登记,FollowedUpstreamColumns 服务把 followed_columns 变成表格列;这类列只展示、
不生成查询条件(后端还没有对应筛选口径)。

数据集自带的数据变动仍然由每分钟的 business-mirror:sync-tables 增量同步。
2026-10-08 13:19:53 +08:00
db2ee47fd8 发布切换容器前等待生产上游同步完成 (#284) 2026-10-07 15:00:48 +08:00
c4a976751d 修复订单售后页面一直转圈:店铺候选改成定时预热
上一次把店铺候选的完整计算放在 app()->terminating() 里,但服务器是 mod_php,
响应要等整个请求(含终止回调)结束才算完成,浏览器就一直转圈、侧边栏停在骨架屏。
线上实测:发布后第一个打开订单售后费用明细的人,页面会卡两分钟以上。

改成:页面只返回毫秒级的店铺目录兜底,完整候选(目录 ∪ 订单镜像店铺)由新增的
order-data:warm-shop-candidates 每小时预热一次,并在发布脚本的 cron 里注册。
2026-10-07 14:21:36 +08:00
44a2664372 发布脚本:头条放心购原始账单镜像每天 09:30 定点刷新(店铺收款账户账单·抖音账户数据到齐) 2026-10-06 15:42:58 +08:00
960d418c8e 发布构建支持指定 Composer 下载源
国内网络访问 GitHub 受限时,composer install 会因 GitHub dist 拉取失败而中断
(api.github.com / codeload.github.com SSL_ERROR_SYSCALL)。

- deploy/Dockerfile 新增可选构建参数 COMPOSER_REPO_PACKAGIST,留空仍用官方源
- macOS 发布脚本默认传腾讯云镜像,可用 CAIWU_COMPOSER_REPO_PACKAGIST 覆盖
2026-09-30 14:07:55 +08:00
26556a9169 Add warehouse short names to inventory report
Restore warehouse name mapping ledger and inventory short-name column.
2026-09-28 16:33:38 +08:00
454919b0c7 Revert "Merge branch 'fix/chenxi-inventory-mapping-release-20260928'"
This reverts commit c328dcbe77e114d1111c22ca22870227ad280ab7, reversing
changes made to bfbfe935eab814027d7d2328accc18a60171a712.
2026-09-28 12:00:54 +08:00
chenxi
72777aa44e Merge remote-tracking branch 'origin/main' into fix/chenxi-inventory-mapping-release-20260928 2026-09-28 09:16:35 +08:00
chenxi
f562faca3c 完善进销存映射表与开发环境刷新配置 2026-09-28 09:16:02 +08:00
2c02f80b01 在后台页脚显示构建版本标识 2026-09-27 14:29:03 +08:00
374df29d2b 修复生产报表负载根因 (#257)
消除报表缓存穿透与后台千万级全表计数,降低同步频率并调整共享数据库资源。
2026-09-23 20:15:59 +08:00
2017d6520b feat: add Jushuitan shipping data mirror 2026-09-23 18:29:15 +08:00
7e4a30365d fix: 完善本地热更新开发环境 (#250)
启用本地 PHP 与前端资源热更新,并同步初始化脚本与健康检查。
Co-authored-by: 92451 <924518135@qq.com>
Co-committed-by: 92451 <924518135@qq.com>
2026-09-23 12:50:16 +08:00
170e252e6f fix: schedule online daifa mirror refresh at 5am 2026-09-23 11:46:37 +08:00
836848f431 完善供应商应付五项操作 2026-09-22 14:49:09 +08:00
3b1d689b26 修复生产构建 Composer 镜像解析 (#233) 2026-09-21 17:49:00 +08:00
7146b19bd3 修复生产发布健康探针 (#188)
使用容器已声明的公开静态资源执行发布健康检查,避免根路径被 Laravel 防火墙拒绝后误回滚。
2026-09-15 11:53:17 +08:00
41d80e4056 feat: add jushuitan cost price history 2026-09-15 09:21:09 +08:00
179b2cdbcc 接入并校准三方仓进销存 (#176)
新增三方仓进销存共享镜像、按日查询汇总导出、每日零点增量同步和权威历史锚点校准。
2026-09-12 20:29:43 +08:00
6fa73352d0 build: use bundled dockerfile frontend 2026-09-08 14:08:43 +08:00
cc355b32ce 修复旧钉钉回调丢失域名会话 (#115) 2026-09-08 06:30:59 +08:00
be670ad988 feat: stage tiered business data storage (#104) 2026-09-07 11:55:37 +08:00
b5a53f061b fix: use canonical url after DingTalk callback 2026-09-03 18:44:30 +08:00
1486f22b55 fix: rewrite DingTalk callback redirects to https 2026-09-03 18:42:28 +08:00
754e421378 fix: preserve https after DingTalk callback 2026-09-03 18:37:07 +08:00
798a178927 chore: retire private certificate release path 2026-09-03 17:53:09 +08:00
b48786c7c4 test: stabilize DingTalk callback route check 2026-09-03 17:07:11 +08:00
0f057bc1d6 fix: route plain HTTP DingTalk callback 2026-09-03 17:07:11 +08:00
6995ad31c5 feat: add DingTalk account login 2026-09-03 15:42:46 +08:00
23fda46567 fix: install eSign polling cron during release 2026-09-02 16:16:54 +08:00
d62ad27d0f fix: centralize shared business data and remove local sqlite path 2026-09-01 11:34:37 +08:00
298632003b 修复开发机共享连接不跟随团队服务器迁移 (#90) 2026-08-31 19:43:03 +08:00
8cbd1f21be 修正新人临时引导库与共享数据库接入状态的误判 (#86) 2026-08-31 17:50:42 +08:00
11c79a2146 修复云数据库管理不支持 PostgreSQL 连接 (#85) 2026-08-31 17:26:25 +08:00
4e702bfa45 修复:保留生产构建基础依赖缓存 2026-08-26 13:24:59 +08:00
d87ca96593 普通商品增加1688代发采购单价来源 (#74)
保留并标注普通商品采购价,接入已完成1688代发采购单价的只读共享业务镜像。
2026-08-21 14:49:16 +08:00
1993996a96 普通商品与聚水潭同步一致性 (#64) 2026-08-15 19:10:52 +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