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