yml2213
|
d90c066888
|
feat(cost-center): 成本异常 60 天归档
cost_exceptions 只增不减:本地快照 260,253 行(resolved 151,939 / open 108,314),
已处理的行只是审计痕迹,留在热表会拖慢「状态 + 时间」分页,并让唯一索引持续膨胀。
- 迁移 108:新增 cost_exceptions_archive(保留原 id 与时间字段,加 archived_at),
热表补部分索引 idx_cost_exceptions_archivable
(COALESCE(resolved_at, created_at)) WHERE status <> 'open',让每日任务不扫全表;
- cost-exception-archive-service:只归档 status <> 'open' 且超期的行,每批 1000 行,
DELETE ... RETURNING + INSERT 在同一语句内完成,单批原子,不存在「删了没归档」;
- data-retention 每日任务接入;保留期走 COST_EXCEPTION_RETENTION_DAYS(默认 60);
- 新增 npm run cost-exceptions:archive(--dry-run / --days / --batch-size)。
为什么 open 行不归档:open 是待办队列,超期不等于已解决,归档等于把问题藏起来。
验证:
- 3 条 resolved 回拨到 90 天前 → 归档 3 条,热表 resolved 151,939 → 151,936;
- 1 条 open 回拨到 90 天前 → 仍在热表,未被归档;
- 归档表保留原 id 与时间,archived_at 记录归档时刻;
- 恢复测试数据后计数回到 151,939 / 108,314。
|
2026-10-25 12:09:20 +08:00 |
|
yml2213
|
ad1e1bc884
|
perf(db): 收入口径回填改为分批脚本
迁移 104 里对 order_items 的全表 UPDATE 实测 34.4 秒(375,447 行),
远超默认语句超时 15s,单事务迁移会拖住启动甚至直接失败。
- 104 只保留 DDL 与索引/约束,删除全表 UPDATE;
- 新增 scripts/backfill-revenue-basis.ts:按 id 分批、幂等、支持
--dry-run / --batch-size / --max-batches(kebab 与 camel 两种写法);
- package.json 增加 revenue:backfill;
- migrate.ts 启动时做一次带索引计数,仍有 unknown 时打印告警并给出命令,
不阻塞启动;
- 文档补充回填步骤与「不执行的后果」。
验证:
- 实测 37.5 万行全表更新 34.4s → 脚本按批执行,单批 5000 行;
- 功能验证:单条订单项置 unknown → 脚本回填 → 金额与 basis 恢复正确;
- 启动告警验证:保留 1 条 unknown 重启 → 日志出现告警;回填后计数归零;
- 全新库从 102 迁移到 107 仍成功(2s)。
|
2026-10-25 12:02:26 +08:00 |
|
yml2213
|
5d1ba11523
|
feat(finance): 统一履约事实并改造人工账单分类
|
2026-10-23 13:35:48 +08:00 |
|
yml2213
|
0889235870
|
feat(finance): 完成成本快照运行层、销售事实与人工支出登记
迁移 108-111:快照业务时间与预估转实际、销售事实表、系统成本项、公司人工支出登记。接单平台按工单实际 reward 入账;人工支出支持登记/审批/驳回/报销并写 actual 快照。新增销售毛利页、人工支出页与订单入口。
|
2026-10-22 16:41:03 +08:00 |
|
yml2213
|
bce1168bbb
|
chore(douyin-mashida): 新增推送订阅与自测脚本
排查「下了单但本地什么都没收到」时定位到根因:**平台推送是订阅制的**,
只填 uid/secret 不会收到任何消息,必须调「消息设置」接口 `message.config`
配置 `message_url` + `topics` + `status=1`。此脚本把这一步自动化:
- 订阅:从后台配置读真实 uid/secret → 调 message.config(status=1)
→ 打印平台返回;`--disable` 可关闭推送(隧道失效时避免平台一直推空地址)
- 自测:打平台 `messagetest` 入口尝试触发一次推送
(注:该入口对 data 的解析要求未探明,实测各种编码/字段形态都返回
`20006 data参数内容解析异常`,故不把它当作必过项;真实下单才是权威验证)
- 顺带修复 lint:`Boolean(args.test)` 属多余的布尔转换
实测:订阅返回 `code=10000 成功`;随后用真密钥按平台形态签名推送自有订单,
后端成功调真实 orderDetail 建单并完成 coupons.syncV2(sync_status=success)。
|
2026-10-09 12:43:34 +08:00 |
|
yml2213
|
e9a87194bd
|
chore(douyin-mashida): 公网联调工具链(切地址 + 前置自检)
真实联调必须让平台能主动推到本机,所以需要隧道;这两个脚本把「配置切换」和
「联调前该验的东西」自动化,避免手工漏配(尤其 certLink 漏改、占位密钥没换):
- `douyin-mashida:set-public-url`:把 certLink/afterVerifyLink 切成隧道地址,
打印平台侧要配的三项(message_url / topics / 卡券链接),并自检隧道:
用错误签名打公网地址,期望 401 —— 证明「隧道 → Caddy → 后端 → 验签」通了,
不需要密钥、也不产生真实订单
- `douyin-mashida:preflight`:四步自检
① 配置就绪度(含识别早期联调留下的占位密钥,它会让 hasSecret=true 骗过你)
② 真实网关连通性:平台是先校 uid 再校签名,带 --secret 时若平台报的不是
签名错误即证明签名/密钥正确(正式推送前就能排掉密钥问题)
③ 公网回调可达性 ④ certLink 与公网域名是否一致
- 平台文档只给了 code=10000 表示成功,无完整错误码表,故脚本不翻译码值、
只原样打印,并对实测观测到的码(如 10014)加说明
同时修掉 vite dev server 的一个潜在坑:`VITE_ALLOWED_HOSTS` 早已在 .env 与
compose 中配置,但 vite.config.ts 的白名单是硬编码的、从未读取该变量,
换隧道域名必然被 Vite 拦(Blocked request);现已真正接上并默认放行
常见隧道域名后缀。
|
2026-10-09 12:01:42 +08:00 |
|
 yml2213andCursor
|
b3aad0044c
|
refactor(fulfillment): 移除飞飞/乐玩通道,仅保留 affiliate_dash
新单只路由 affiliate_dash(未命中走 manual_dispatch);历史飞飞/乐玩任务保留只读 stub,避免订单重同步失败。同步清理 cloudtentacles 调度、Admin 写路径与相关 env。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-14 17:29:47 +08:00 |
|
yml2213
|
f35e47e419
|
fix(pdd): integrate official sandboxed anti-content engine to resolve 40002 WAF error
|
2026-09-14 13:44:55 +08:00 |
|
yml2213
|
6d7f9b5f3f
|
准备迁移1
|
2026-08-23 12:54:38 +08:00 |
|
yml2213
|
1b8e02dd17
|
增加数据库慢查询观测与索引防线并收窄打手拼单分页查询
|
2026-08-22 18:40:11 +08:00 |
|
yml2213
|
81ae04dae0
|
接入 ESLint 并清理未使用代码
- 前后端接入 ESLint 10 扁平配置(typescript-eslint 类型感知检查 + react-hooks/react-refresh),新增 lint / lint:check / lint:fix 脚本并纳入 check 链路
- 清理全部 no-unused-vars 与 no-useless-assignment 警告,修复 floating promises、正则转义等问题
- 删除确认无引用的死代码(markKuaishouCloudBindUrlRefreshFailed、未使用 helper 等)
|
2026-08-16 18:04:55 +08:00 |
|
yml2213
|
5c7c3e14e3
|
统一前后端代码格式化配置
|
2026-08-16 17:27:12 +08:00 |
|
yml2213
|
2227cda73d
|
修复打手短信验证码发送
|
2026-08-02 15:12:02 +08:00 |
|
yml2213
|
a2587eda01
|
完善接单平台上传与物品规则
|
2026-07-25 15:56:18 +08:00 |
|
yml2213
|
3c0d1f108c
|
新增开发 Mock 后台菜单与造单能力
非生产环境在后台提供 lewan/feifei 领取造单与 91 查单模拟,CLI 复用同一服务,避免依赖真实平台联调。
|
2026-07-10 13:35:42 +08:00 |
|
yml2213
|
1155b3c608
|
文档对齐 React 技术栈,并支持渐进式数据库迁移
将 README 与部署文档从仅 init 改为 001 基线 + 增量迁移约定,并补充 create/status 脚手架与序号校验。
|
2026-07-10 12:36:36 +08:00 |
|
yml2213
|
ce01c2aa34
|
优化数据库
|
2026-07-10 08:47:08 +08:00 |
|
yml2213
|
a27419a0b2
|
feat: 实现快手电子凭证三个出站回调接口
- 新增 send-callback-service.ts: 卡券发码回调 (eticket/send)
- 新增 consume-callback-service.ts: 核销回调 (eticket/consume)
- 新增 destroy-callback-service.ts: 销毁回调 (eticket/destroy)
- 三个回调均在对应入站接口处理成功后异步触发(fire-and-forget)
- 共享 sendCallbackEnabled 开关控制,默认关闭
- 新增 accessToken 配置项(OAuth获取)
- 新增 scripts/curl-send-callback.ts: 手动测试 curl 生成脚本
- docker-compose 添加 KUASHOU_INDUSTRY_ACCESS_TOKEN / SEND_CALLBACK_ENABLED 环境变量
|
2026-07-02 13:44:25 +08:00 |
|
yml2213
|
664a7b03f8
|
增加测试
|
2026-07-02 12:09:24 +08:00 |
|
yml
|
9c981991a0
|
订单mock和领取页面优化
|
2026-05-28 09:05:52 +08:00 |
|
yml
|
dd6776c4e4
|
简化履约匹配并支持mock订单测试
|
2026-05-27 12:55:44 +08:00 |
|
yml2213
|
d126b35579
|
优化后端代码质量基础
|
2026-05-26 10:48:30 +08:00 |
|
yml
|
e7aa194dde
|
删除咸鱼旧链路
|
2026-05-25 21:46:39 +08:00 |
|
yml
|
db22ff691b
|
拆分快手轻量后端入口
|
2026-05-25 20:42:27 +08:00 |
|
yml
|
0e6bf88beb
|
[Snow Team] express-types: auto-commit work
|
2026-05-21 22:57:48 +08:00 |
|
yml
|
7513958a4c
|
优化配置文件
|
2026-05-21 19:29:00 +08:00 |
|
yml
|
acd5c0d50e
|
后端迁移测试文件
|
2026-05-21 17:39:34 +08:00 |
|
yml
|
3a2f89e233
|
后端迁移开发脚本
|
2026-05-21 17:37:31 +08:00 |
|
yml
|
78e9d1d5c5
|
后端迁移入口与迁移脚本
|
2026-05-21 17:35:01 +08:00 |
|
yml
|
1476522ab5
|
后端建立 TypeScript 构建链路
|
2026-05-21 13:36:38 +08:00 |
|
yml
|
9f6f67c8a8
|
修复自动发货bug
|
2026-04-14 17:30:36 +08:00 |
|
yml
|
006e68f7f6
|
补充后端核心链路自动化测试
|
2026-04-14 10:57:15 +08:00 |
|
yml2213
|
335eb44104
|
重构后台管理服务并推进渐进式类型化
|
2026-04-14 09:21:20 +08:00 |
|
yml
|
4c395103a9
|
彻底重构-4
|
2026-04-09 15:51:24 +08:00 |
|
yml
|
df2eb34478
|
彻底重构-1
|
2026-04-09 09:06:08 +08:00 |
|
yml
|
a2b09c89e8
|
开始多平台 多店铺整改
|
2026-04-08 22:21:11 +08:00 |
|
yml
|
5787925179
|
Playwright 版本降到稳定旧版
|
2026-04-08 17:43:26 +08:00 |
|
yml
|
313c036845
|
init
|
2026-04-08 16:30:42 +08:00 |
|