yml2213
|
769bc69bcf
|
refactor(db): 财务渠道迁移合并为单条 113
生产当前在 112,原 113–118 六条迁移合并为 113_finance_channel_cutover:
- 渠道/状态三列 + 从 fulfillment_mode 回填
- 删除旧列及旧索引
- 销售事实列改名 channel
- 财务管道增量索引(原 117/118)
- 移除不再使用的 refund_adjustment 约束(历史退款不入财务)
42 万行副本实测 49 秒完成;生产只需执行一条迁移,不再需要中间回填脚本。
|
2026-11-01 16:34:12 +08:00 |
|
yml2213
|
64e04cc667
|
fix(finance): 历史归档订单退款跳过期间校验
归档订单退款不进入财务口径,不应被历史月份/退款月份的关账状态阻断;
非归档订单退款仍严格校验期间。
|
2026-11-01 16:24:18 +08:00 |
|
yml2213
|
d62f86de0f
|
docs: 新增财务流程总览,明确断代后范围与历史退款边界
|
2026-11-01 16:22:52 +08:00 |
|
yml2213
|
8391912bda
|
perf(finance): 管道增量索引与异常批量入队
生产副本 42 万单压测发现:
- carrier_missing 查询在 26 万条上 15s 超时 → 改 anti-join,异常去重改批量
- 缺成本异常逐条 3 条 SQL,12 万人工单会跑几十分钟 → 按 scope 批量入队
- 新增 117/118 部分索引,成本快照/人工挂配置/载体检查走 id 顺序扫描
- 人工挂配置查询改为按配置 SKU 数组过滤,避免全量人工单排序
|
2026-11-01 16:22:52 +08:00 |
|
yml2213
|
5d7904f6ee
|
fix(finance): 历史订单退款不再进入新财务口径
- 断代前 archived 订单的退款只保留业务记录,不再生成冲减事实/总账
- 退款后的事实与费用重算只针对非归档订单
- 移除 refund_adjustment 渠道值的前端筛选与标签
- 迁移 116 的列约束保留,不再写入该值
|
2026-11-01 16:22:49 +08:00 |
|
yml2213
|
a692723c73
|
docs+test: 补充成本缺失、退款期间与追溯限制说明
|
2026-11-01 15:21:55 +08:00 |
|
yml2213
|
20287916b1
|
fix(finance): 退款所属期间关账时阻断退款
- 手工退款按实际退款日期校验期间
- 平台退款按当前退款月份校验期间
- 避免退款成功但冲减行被关账跳过的静默丢失
|
2026-11-01 15:21:53 +08:00 |
|
yml2213
|
fd6d2d561b
|
feat(pipeline): 渠道判定后立即归一商品并算成本
- 新增按订单项定向归一,避免新判定订单等冷通道
- 判定/指定渠道后立即归一 → 算成本 → 按业务日回填事实与总账
- 提取 refreshFactsForDates 供管道与渠道服务复用
|
2026-11-01 15:21:53 +08:00 |
|
yml2213
|
9e154cb16d
|
fix(cost): 派生费用可随退款重算,成本版本与基线禁止追溯
- 平台费/支付费允许 estimated→estimated 按净收入重算;采购与打手报酬保持固化
- 创建成本版本时拒绝早于当前时间的 effectiveFrom
- 已有快照后禁止导入价格基线;基线生效时间改为当前
- 删除基线导入中前移现有版本生效时间的逻辑
|
2026-11-01 15:21:50 +08:00 |
|
yml2213
|
045ac98479
|
fix(finance): 成本缺失按渠道期望成本项判定
- 采购/打手报酬/卡券采购各自校验对应成本项快照
- 人工渠道校验 manual_case 快照
- 未分类订单仍按「任意快照」兜底
- 平台费等通用费用不再把缺失成本掩盖成完整
|
2026-11-01 15:21:50 +08:00 |
|
yml2213
|
ceb786f32e
|
fix(cost-center): 禁止追溯改价,改价只能当前或未来生效
- 后端统一校验:retroactive 请求直接拒绝,effectiveFrom 早于当前时间拒绝
- 去掉「追溯至历史订单」入口,改价只影响之后的新订单
- 历史订单成本与成交价由快照固化,不再受改价影响
|
2026-11-01 14:53:25 +08:00 |
|
yml2213
|
fed459c7aa
|
fix(cost): 历史订单成本固化,只有预估→实际允许升级
- 已有快照不再因成本版本变更而替换,历史订单成交价与成本保持固定
- 仅接单平台「预估 → 实际」履约结算允许 supersede
- 补配价格只影响没有快照的订单;文档同步口径
|
2026-11-01 14:53:11 +08:00 |
|
yml2213
|
00fa4d7f0a
|
docs(finance): 补充退款冲减、通用成本范围与快照双通道说明
|
2026-11-01 14:46:14 +08:00 |
|
yml2213
|
fca836eb4b
|
feat(cost-center): 卡券商品创建即生成渠道规则,补齐成本项预设
- 新建 tpv: 商品时自动写 third_party_voucher 规则,避免新卡券 SKU 停在待分类
- 成本项预设新增「第三方卡券采购成本」
|
2026-11-01 14:46:14 +08:00 |
|
yml2213
|
624c0ef4af
|
feat(finance): 历史订单退款按退款日入账
- 迁移 116 新增 refund_adjustment 渠道值,并允许该类行净收入为负
- 销售事实按退款日聚合 archived 订单的已确认退款,写冲减行
- 退款后同时回填原销售日与退款日的事实与总账
- 退款同时重算相关订单项的费用快照(比例费按净收入)
- 前端渠道筛选与标签支持「历史退款冲减」
|
2026-11-01 14:46:11 +08:00 |
|
yml2213
|
cf0d600c7d
|
fix(cost): 快照新单优先、费用口径与回填健壮性
- 成本快照拆热/冷双通道:新单走热通道分钟级入账,历史项冷通道轮询重算
- 通用成本只允许平台费/支付费自动全量,售后损失/其他必须按商品配置
- 比例费用按扣除已确认退款后的净收入计算
- 已入账 actual 快照不再被后续预估覆盖
- 受影响日期超过 31 天时按整段重算,不再静默丢弃;关账跳过会提示
- 通用费用解析不到时计数告警;已入队的成本缺失不再重复 upsert
- 快照替换与写入放入同一事务,避免事实任务读到空窗
|
2026-11-01 14:46:08 +08:00 |
|
yml2213
|
34832139b0
|
fix(db): 渠道迁移顺延为 113–115,避让远程 112 补资料链接
远程 main 新增 112_work_order_material_link,本地原 112–114 顺延为 113–115:
- 113_fulfillment_channel_split
- 114_drop_legacy_fulfillment_mode
- 115_rename_facts_channel
同步更新文档与代码里的迁移编号引用。
|
2026-11-01 14:02:52 +08:00 |
|
yml2213
|
6c3e360392
|
merge: 合并远程 main(补资料链接与工单验收修复)
|
2026-11-01 13:58:45 +08:00 |
|
zhaoxing
|
b9d8630026
|
fix(worker): 整单验收不再被拼单份额防呆拦截
|
2026-11-01 13:17:39 +08:00 |
|
zhaoxing
|
92c70d472f
|
fix(db): 恢复 109 售后追缴迁移并为补资料链接迁移顺延 112
|
2026-11-01 12:52:39 +08:00 |
|
zhaoxing
|
da16e8cf75
|
Merge branch 'dev'
|
2026-11-01 12:30:02 +08:00 |
|
zhaoxing
|
94a1436453
|
fix(worker): 多份额验收优先唯一待提交份额并补充 shareId 防呆
|
2026-11-01 12:27:55 +08:00 |
|
zhaoxing
|
26beaca0c9
|
fix(db): 顺延售后追缴迁移至 112 并补回 109 补资料链接迁移
|
2026-11-01 12:27:37 +08:00 |
|
zhaoxing
|
2f20e36a75
|
fix(work-order): 客户补资料页移除未分配状态文案
|
2026-11-01 11:18:20 +08:00 |
|
zhaoxing
|
8fb28b98c7
|
fix(work-order): 收紧补资料链接过期校验
|
2026-11-01 11:12:08 +08:00 |
|
zhaoxing
|
15956e704f
|
feat(work-order): 新增一次性补资料链接
|
2026-11-01 10:46:31 +08:00 |
|
yml2213
|
9bd5a9d324
|
docs(finance): 补充快照重算与通用成本口径
|
2026-10-31 20:41:50 +08:00 |
|
yml2213
|
7fab610159
|
feat(cost-center): 卡券规则批量生成与异常标签补齐
- 新增「批量生成渠道规则」,为 tpv: 商品一次性补 third_party_voucher 规则
- 异常原因补「缺少履约载体」,渠道标签补卡券/待分类/归档/未分类
|
2026-10-31 20:41:50 +08:00 |
|
yml2213
|
a62f6e1ec8
|
fix(pipeline): 变更按业务日回填,异常自动收口,载体管道加游标
- 渠道判定/成本快照返回受影响业务日,任务按日重算事实与总账
- 人工配置或载体补齐后,manual_config_missing / carrier_missing 自动关闭
- carrier_dispatch 使用水位游标,避免每轮从 id=0 重扫
|
2026-10-31 20:41:43 +08:00 |
|
yml2213
|
42d5874411
|
fix(cost): 快照变更即重算,0 元占位视为缺失,通用成本入账
- 预估→实际、补配价格时 supersede 旧快照再写新行,不再一次写死
- 全局 0 元版本不产生快照,转入 cost_missing
- 比例成本按 rate_bps 计算,费率为 0 视为未配置
- 平台费/支付费/售后等通用成本模型按渠道+通用各写一条快照
|
2026-10-31 20:41:38 +08:00 |
|
yml2213
|
fef1d0b77e
|
docs(finance): 文档口径切到渠道模型并标注历史文档
- API 契约/成本中心模型改为 fulfillment_channel/status 与 channel 字段
- 验收 SQL 的销售事实检查改用 channel
- 2026-10 之前的口径文档加历史横幅,避免被当成现行实现
|
2026-10-31 20:26:20 +08:00 |
|
yml2213
|
6cd6401eca
|
refactor(finance)!: 事实维度与接口字段统一改名 channel
- migration 114 将 sales_daily_facts.fulfillment_mode 重命名为 channel
- DTO/查询参数/前端类型从 fulfillmentMode 统一为 channel
- 成本中心类型 FulfillmentMode 更名为 FulfillmentChannel,并补齐卡券/待分类/归档取值
- 销售事实响应分组改为 byChannel
|
2026-10-31 20:26:15 +08:00 |
|
yml2213
|
657e49f324
|
perf(pipeline): 已入队的异常不再重复 upsert,未映射只算已定渠道
- 载体/人工配置/人工成本三类扫描跳过已有未解决异常的订单项
- 成本中心「未映射订单项」只统计 assigned,待分类单归履约队列
|
2026-10-31 20:26:10 +08:00 |
|
yml2213
|
3f13b8a5f7
|
chore(cost-center): 下线会与管道冲突的旧商品入口
- 移除自动发货商品同步、SKU 回填、按工单回填、人工商品归一等旧接口与按钮
- 商品目录只保留「从接单模板初始化」与手工新建
- 自动发货面板移除已失效的「重算成本快照」入口
|
2026-10-31 20:17:39 +08:00 |
|
yml2213
|
d979ef50d6
|
perf(pipeline): 订单项管道改用水位游标并只扫缺失
- 新增 watermark-store:统一读写游标/日水位/失败原因
- 渠道判定、商品归一、成本快照从上次游标继续,到表尾后回绕重试
- 成本快照只处理没有有效快照的订单项,避免每 5 分钟全量重扫
|
2026-10-31 20:17:33 +08:00 |
|
yml2213
|
ce775ca102
|
feat(cost-center): 第三方卡券渠道完整接入成本模型
- 商品来源筛选补 tpv: 前缀,卡券商品列表不再为空
- 成本模型新增 third_party_voucher_cost,覆盖预览/成本项/概览作用域
- 前后端成本模型枚举与下拉同步
|
2026-10-31 20:17:28 +08:00 |
|
yml2213
|
9ca1d52419
|
fix(finance): 人工确认后按业务日重算事实与总账
确认履约写入 manual_case 快照后,立即按该订单业务日期重算销售事实并同步总账,
避免较早订单的成本只等 3 天窗口而永远入不了报表。
|
2026-10-31 20:17:28 +08:00 |
|
yml2213
|
8e3b8e0a32
|
fix(finance): 销售事实只统计已支付订单并扣减退款
- 事实范围增加 pay_status IN ('paid','refunded')
- 关联 order_refunds 已确认退款,净收入/毛利按扣除退款计算
- 补回归断言,防止再次出现退款不减收入
|
2026-10-31 20:17:23 +08:00 |
|
yml2213
|
2f11ed6bca
|
chore(deploy): 上线脚本与验收 SQL 适配渠道模型
- post-deploy 去掉已删除的履约回填与 finance:sync,改用 finance:rebuild-cutover
- 验收 SQL 的履约检查改读 fulfillment_channel/status
- 相关文档同步更新
|
2026-10-31 19:57:00 +08:00 |
|
yml2213
|
0a77524331
|
refactor(finance): 总账人工渠道判定改用渠道/状态列
|
2026-10-31 19:52:40 +08:00 |
|
yml2213
|
f4e0c47744
|
feat(cost-center): 第三方卡券渠道归一与采购价配置
- 归一新增 tpv:<SKU> 直达,卡券单无需手工映射
- 成本配置/总览/异常支持 third_party_voucher 与 archived 维度
- 新增卡券采购价面板,写入 sys_third_party_voucher_cost
- 修正 man: 商品改价误用不存在的 sys_manual_cost
|
2026-10-31 19:52:32 +08:00 |
|
yml2213
|
0ce3c8fa97
|
feat(fulfillment): 渠道联动与管道兜底
- 人工配置保存/删除同步渠道规则,人工确认写 channel/status
- 按 SKU 指定渠道默认同时落规则
- 管道补充:载体缺失、人工成本未记录、事实与总账按水位追赶
|
2026-10-31 19:52:22 +08:00 |
|
yml2213
|
4272515956
|
feat(orders): 订单读取与筛选只认渠道/状态三列
- 展示与筛选全部改读 fulfillment_channel/status,不再回退旧列
- 支持 third_party_voucher 与 archived,legacy_platform 映射为归档
- 前端类型、筛选项与标签同步
|
2026-10-31 19:52:13 +08:00 |
|
yml2213
|
65b7f4f9dc
|
refactor(finance)!: 强制渠道模型,移除旧履约方式与同步链路
- 删除 fulfillment_mode 相关的旧同步/回填链路与定时任务
- 删除 cost_finance_sync、成本快照同步、人工商品归一等遗留服务
- 迁移 113 直接删除 order_items.fulfillment_mode 及其索引约束
- 断代脚本自带归档步骤,不再依赖独立回填脚本
- 退款/事实/总账统一走渠道版销售事实
|
2026-10-31 19:52:03 +08:00 |
|
yml2213
|
808949f3b8
|
feat(scheduler): 财务管道自动注册、水位记录与后台状态页
- 老配置读取时自动补齐六个管道任务,升级后无需手工添加
- 每个管道运行后写水位与 last_success_at,失败写 last_error
- 新增 GET /admin/fulfillment/pipeline/status 与单步重跑
- 后台「履约渠道 → 管道状态」展示启停、水位、最近执行与错误
- 定时任务管理接口不再丢弃管道自己的 config 字段
|
2026-10-31 19:13:38 +08:00 |
|
yml2213
|
2ba2656d58
|
feat(finance): 商品归一按接单模板/人工配置直接命中,减少手工映射
- 接单平台:用工单的 product_rule_id → tpl:<rule_key> 直接归一,不再依赖渠道映射
- 人工渠道:直接使用人工 SKU 配置里指定的商品
- 成本中心「未映射订单项」排除断代归档行,避免断代后仍显示历史未映射量
|
2026-10-31 19:05:02 +08:00 |
|
yml2213
|
6d86d4df7e
|
refactor(admin-web): 财务各页去掉大标题,统一由财务导航栏进入
- 销售毛利 / 收支明细 / 商品与成本中心 / 履约渠道 移除 PageHeader 大标题块
- 与钱包管理、总账与对账保持一致(这两页本来就没有大标题)
- 成本中心的「刷新」按钮并入统计口径行,功能位置不变
|
2026-10-31 18:42:20 +08:00 |
|
yml2213
|
4538ed2ce9
|
fix(admin-web): 履约渠道页导航栏移到标题上方,与其他财务页对齐
|
2026-10-31 18:34:45 +08:00 |
|
yml2213
|
9b01443424
|
feat(admin-web): 新增履约渠道页,含待分类队列与渠道规则
- 待分类按 SKU 聚合,可直接指定渠道(含第三方卡券仅统计渠道)
- 渠道规则支持新增/删除,展示优先级与作用范围
- 问题队列按类型筛选,统一使用 PercentTable
|
2026-10-31 18:12:31 +08:00 |
|
yml2213
|
855f2efcff
|
feat(admin): 履约渠道接口与断代运维脚本
- 新增 /admin/fulfillment 待分类、指定渠道、规则 CRUD、问题队列、管道触发
- backfill-fulfillment-channel:438k 行分批回填,幂等可续跑
- finance-cutover-v2:默认 dry-run,--execute 才清理派生数据,禁止重复执行
- rebuild-after-cutover:按断代日重跑三条管道并生成期初分录
|
2026-10-31 18:12:25 +08:00 |
|