22 lines
1.5 KiB
SQL
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)';
|