Files
code-bang/backend/deploy/sql/20261014_promotion_commission.sql
T
2026-10-14 14:44:01 +08:00

22 lines
1.5 KiB
SQL

-- 推广分佣:用户推广关系 + 订单佣金字段 + 账户日志调整
-- 执行前请先备份 fa_user / fa_orders / fa_account_logs
ALTER TABLE `fa_user`
ADD COLUMN `promoter_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '推广人用户ID(首次通过分享进入时永久绑定)',
ADD COLUMN `promoter_bind_time` bigint(16) NULL DEFAULT NULL COMMENT '推广关系绑定时间',
ADD INDEX `idx_promoter_id` (`promoter_id`);
ALTER TABLE `fa_orders`
ADD COLUMN `promoter_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '推广人用户ID(下单时快照)',
ADD COLUMN `commission_ratio` decimal(5, 4) NOT NULL DEFAULT 0.0000 COMMENT '结算时的佣金比例',
ADD COLUMN `commission_amount` decimal(10, 2) NOT NULL DEFAULT 0.00 COMMENT '推广佣金',
ADD COLUMN `commission_status` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '佣金状态:0=待结算,1=已结算,2=不分佣',
ADD COLUMN `commission_time` bigint(16) NULL DEFAULT NULL COMMENT '佣金结算时间',
ADD INDEX `idx_promoter_id` (`promoter_id`),
ADD INDEX `idx_commission_settle` (`commission_status`, `order_status`);
-- percent 原为 double(2,2),只能存 -0.99~0.99 且仅两位小数,比例为 1 时会越界、0.125 会被四舍五入
ALTER TABLE `fa_account_logs`
MODIFY COLUMN `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '日志类型:1=充值,2=消费,3=收益,4=退款,5=提现,6=冻结,7=解冻,8=推广佣金,9=后台操作',
MODIFY COLUMN `percent` decimal(5, 4) NOT NULL DEFAULT 0.0000 COMMENT '分成比例(0~1)';