feat(finance): 接单模板发单金额落规则级成本版本
此前接单平台成本版本只有 sys_work_order_reward 的全局 0 元占位,662 个模板的发单金额从未进入 cost_versions。\n\n现在为 662 个模板各生成一条规则级版本:634 条固定发单金额 + 28 条按件单价;全局 0 元版本仅作“按工单实际结算”占位。成本版本页新增“用户实付均价”和“平均实发/项”,支持按模板名称/规则键搜索,按商品筛选也能命中规则版本。\n\n历史工单快照关联到对应模板版本;模板保存时自动同步单条成本版本;删除模板会先把历史版本脱钩停用,保留快照可追溯。\n\n新增迁移 112 覆盖索引,用户实付聚合从约 1.1s 降到约 150ms。
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
-- 112_cost_reporting_indexes.sql —— 成本版本页按接单规则汇总用户实付。
|
||||
--
|
||||
-- 背景:成本版本列表需要同时展示「用户实付均价」和「模板发单金额」。
|
||||
-- 原查询按 work_orders.product_rule_id 聚合约 11 万工单 + 31 万订单项,
|
||||
-- 没有覆盖索引时需要 1 秒以上;以下两个覆盖索引把聚合降到约 150 毫秒。
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_work_orders_rule_cover
|
||||
ON work_orders (product_rule_id)
|
||||
INCLUDE (order_item_id)
|
||||
WHERE order_item_id IS NOT NULL;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_order_items_revenue_cover
|
||||
ON order_items (id)
|
||||
INCLUDE (order_id, revenue_amount_fen);
|
||||
Reference in New Issue
Block a user