-- 代理模式改造升级脚本 -- 适用范围: -- 1. 将会员资料补充代理级别字段。 -- 2. 为历史会员回填默认代理级别为二级代理。 -- 3. 规范异常代理级别值,保证新代码可直接使用。 -- -- 执行建议: -- 1. 执行前先备份数据库。 -- 2. 在业务低峰期执行。 -- 3. 执行完成后再发布本次 Java / UI / member-web 代码。 SET @current_schema = DATABASE(); -- 1) 如果 xxk_member_profile.agent_level 不存在,则新增字段 SET @has_agent_level = ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @current_schema AND TABLE_NAME = 'xxk_member_profile' AND COLUMN_NAME = 'agent_level' ); SET @ddl_sql = IF( @has_agent_level = 0, 'ALTER TABLE `xxk_member_profile` ADD COLUMN `agent_level` TINYINT NOT NULL DEFAULT 2 COMMENT ''代理级别(1一级代理 2二级代理)'' AFTER `invite_code`', 'SELECT ''xxk_member_profile.agent_level already exists'' AS message' ); PREPARE stmt FROM @ddl_sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- 2) 历史数据回填: -- 空值、0、其他非法值一律收敛成二级代理 UPDATE `xxk_member_profile` SET `agent_level` = 2 WHERE `agent_level` IS NULL OR `agent_level` NOT IN (1, 2); UPDATE `sys_menu` SET `name` = '代理返佣流水' WHERE `id` = 1200 ALTER TABLE `xxk_distribution_config` ADD COLUMN IF NOT EXISTS `withdraw_threshold` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '提现门槛金额' AFTER `second_level_rate`, ADD COLUMN IF NOT EXISTS `withdraw_fee_rate` decimal(10,4) NOT NULL DEFAULT 0.0000 COMMENT '提现手续费比例' AFTER `withdraw_threshold`;