-- 推广分佣:用户推广关系 + 订单佣金字段 + 账户日志调整 -- 执行前请先备份 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)';