Files
hfb_sys/backend/migrations/000086_invitation_rebate_source.sql
T
yml2213 ead58417e0 fix(invitation): 线下提号接入邀请返利并补发历史漏发,返利比例文案改读配置
- 线下提号(admin_pickups)不走订单结账流程,此前完全不发邀请返利;现于 Complete() 内按号主利润对半基数发放卖家侧返利
- 迁移 000086:invitation_rebate_ledgers 增加 source 列,唯一键调整为 (source, order_id, trade_role),支持提号来源且保持幂等
- 新增 cmd/rebate-backfill 幂等补发脚本:默认预演,加 -apply 才写库
- 返利阶段文案不再写死 60%/30%/15%,改为按本次实际生效比例生成(钱包流水备注同步修正)
- 前台邀请页阶段标签/横幅/空态文案、移动端个人中心入口文案均改读接口配置,并修掉合法 0% 比例被 || 覆盖成 60% 的问题
- 新增单测:提号返利发放与幂等、cycleLabel 跟随后台配置
2026-10-13 15:12:54 +08:00

21 lines
1.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- +goose Up
-- 邀请返利来源扩展:线下提号(admin_pickups)此前不经过正常订单结账流程,
-- 因此提号产生的平台毛利从未参与返利计算(已确认漏发)。
-- source 标识来源单据类型:rental_order=租赁订单,pickup=线下提号;
-- order_id 统一存「来源单据 ID」(rental_orders.id 或 admin_pickups.id);
-- 唯一键加入 source 后,两类来源的幂等键互不干扰,历史租赁订单行默认 rental_order。
ALTER TABLE invitation_rebate_ledgers
ADD COLUMN source VARCHAR(32) NOT NULL DEFAULT 'rental_order' COMMENT '来源单据类型: rental_order=租赁订单, pickup=线下提号' AFTER order_no,
MODIFY COLUMN order_id BIGINT UNSIGNED NOT NULL COMMENT '来源单据ID(rental_order=>rental_orders.id;pickup=>admin_pickups.id)',
DROP INDEX uk_invitation_rebate_order_role,
ADD UNIQUE KEY uk_invitation_rebate_source_role (source, order_id, trade_role);
-- +goose Down
ALTER TABLE invitation_rebate_ledgers
DROP INDEX uk_invitation_rebate_source_role,
ADD UNIQUE KEY uk_invitation_rebate_order_role (order_id, trade_role),
MODIFY COLUMN order_id BIGINT UNSIGNED NOT NULL COMMENT '关联订单ID',
DROP COLUMN source;