-- ============================================ -- 新代理系统数据表创建脚本 -- 说明:创建新代理系统的所有数据表 -- ============================================ -- ============================================ -- 1. 代理基本信息表 -- ============================================ CREATE TABLE `agent` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` bigint NOT NULL COMMENT '用户ID', `level` tinyint NOT NULL DEFAULT 1 COMMENT '代理等级:1=普通,2=黄金,3=钻石', `region` varchar(50) DEFAULT NULL COMMENT '区域(可选)', `mobile` varchar(50) NOT NULL DEFAULT '' COMMENT '手机号(加密)', `wechat_id` varchar(100) DEFAULT NULL COMMENT '微信号', `team_leader_id` bigint DEFAULT NULL COMMENT '团队首领ID(钻石代理的ID,普通/黄金代理指向其团队首领)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_user_id` (`user_id`), KEY `idx_mobile` (`mobile`), KEY `idx_level` (`level`), KEY `idx_team_leader_id` (`team_leader_id`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理基本信息表'; -- ============================================ -- 2. 代理钱包表(注意:agent_audit 表已废弃,新系统通过邀请码直接成为代理,无需审核) -- ============================================ -- ============================================ CREATE TABLE `agent_wallet` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `balance` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '可用余额', `frozen_balance` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '冻结余额', `total_earnings` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '累计收益', `withdrawn_amount` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '累计提现金额', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_id` (`agent_id`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理钱包表'; -- ============================================ -- 4. 代理上下级关系表(支持脱离关系) -- ============================================ CREATE TABLE `agent_relation` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `parent_id` bigint NOT NULL COMMENT '上级代理ID', `child_id` bigint NOT NULL COMMENT '下级代理ID', `relation_type` tinyint NOT NULL DEFAULT 1 COMMENT '关系类型:1=直接关系,2=已脱离(历史记录)', `detach_reason` varchar(100) DEFAULT NULL COMMENT '脱离原因:upgrade=升级脱离', `detach_time` datetime DEFAULT NULL COMMENT '脱离时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_parent_child_type` (`parent_id`, `child_id`, `relation_type`), KEY `idx_parent_id` (`parent_id`), KEY `idx_child_id` (`child_id`), KEY `idx_relation_type` (`relation_type`), KEY `idx_parent_relation` (`parent_id`, `relation_type`) COMMENT '复合索引:查询有效下级', KEY `idx_child_relation` (`child_id`, `relation_type`) COMMENT '复合索引:查询有效上级', KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理上下级关系表'; -- ============================================ -- 5. 代理推广链接表 -- ============================================ CREATE TABLE `agent_link` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `user_id` bigint NOT NULL COMMENT '用户ID', `product_id` bigint NOT NULL COMMENT '产品ID', `link_identifier` varchar(200) NOT NULL COMMENT '推广链接标识(加密)', `set_price` decimal(10,2) NOT NULL COMMENT '代理设定价格', `actual_base_price` decimal(10,2) NOT NULL COMMENT '实际底价(基础底价+等级加成)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_link_identifier` (`link_identifier`), UNIQUE KEY `uk_agent_product_price` (`agent_id`, `product_id`, `set_price`, `del_state`) COMMENT '唯一约束:同一代理、同一产品、同一价格只能有一个有效链接', KEY `idx_agent_id` (`agent_id`), KEY `idx_user_id` (`user_id`), KEY `idx_product_id` (`product_id`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理推广链接表'; -- ============================================ -- 6. 代理订单关联表 -- ============================================ CREATE TABLE `agent_order` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `order_id` bigint NOT NULL COMMENT '订单ID', `product_id` bigint NOT NULL COMMENT '产品ID', `order_amount` decimal(10,2) NOT NULL COMMENT '订单金额(用户实际支付金额,冗余字段)', `set_price` decimal(10,2) NOT NULL COMMENT '代理设定价格', `actual_base_price` decimal(10,2) NOT NULL COMMENT '实际底价(基础底价+等级加成)', `price_cost` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '提价成本((设定价格-提价标准阈值)×提价手续费比例)', `agent_profit` decimal(10,2) NOT NULL COMMENT '代理收益(设定价格-实际底价-提价成本)', `process_status` tinyint NOT NULL DEFAULT 0 COMMENT '处理状态:0=待处理,1=处理成功,2=处理失败', `process_time` datetime DEFAULT NULL COMMENT '处理时间', `process_remark` varchar(500) DEFAULT NULL COMMENT '处理备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_order_id` (`order_id`), KEY `idx_agent_id` (`agent_id`), KEY `idx_product_id` (`product_id`), KEY `idx_process_status` (`process_status`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理订单关联表'; -- ============================================ -- 7. 代理佣金记录表 -- ============================================ CREATE TABLE `agent_commission` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `order_id` bigint NOT NULL COMMENT '订单ID', `product_id` bigint NOT NULL COMMENT '产品ID', `amount` decimal(10,2) NOT NULL COMMENT '佣金金额', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1=已发放,2=已冻结,3=已取消', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), KEY `idx_agent_id` (`agent_id`), KEY `idx_order_id` (`order_id`), KEY `idx_product_id` (`product_id`), KEY `idx_status` (`status`), KEY `idx_agent_status` (`agent_id`, `status`) COMMENT '复合索引:查询代理的佣金记录', KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理佣金记录表'; -- ============================================ -- 8. 代理返佣记录表(等级加成返佣) -- ============================================ CREATE TABLE `agent_rebate` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '获得返佣的代理ID', `source_agent_id` bigint NOT NULL COMMENT '来源代理ID(推广订单的代理)', `order_id` bigint NOT NULL COMMENT '订单ID', `product_id` bigint NOT NULL COMMENT '产品ID', `rebate_type` tinyint NOT NULL COMMENT '返佣类型:1=直接上级返佣,2=钻石上级返佣,3=黄金上级返佣', `level_bonus` decimal(10,2) NOT NULL COMMENT '等级加成金额(来源代理的等级加成)', `rebate_amount` decimal(10,2) NOT NULL COMMENT '返佣金额', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1=已发放,2=已冻结,3=已取消', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), KEY `idx_agent_id` (`agent_id`), KEY `idx_source_agent_id` (`source_agent_id`), KEY `idx_order_id` (`order_id`), KEY `idx_product_id` (`product_id`), KEY `idx_rebate_type` (`rebate_type`), KEY `idx_status` (`status`), KEY `idx_order_rebate_type` (`order_id`, `rebate_type`) COMMENT '复合索引:查询订单的返佣明细', KEY `idx_agent_status` (`agent_id`, `status`) COMMENT '复合索引:查询代理的返佣记录', KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理返佣记录表(等级加成返佣)'; -- ============================================ -- 9. 代理升级记录表 -- ============================================ CREATE TABLE `agent_upgrade` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '被升级的代理ID', `from_level` tinyint NOT NULL COMMENT '原等级:1=普通,2=黄金,3=钻石', `to_level` tinyint NOT NULL COMMENT '目标等级:1=普通,2=黄金,3=钻石', `upgrade_type` tinyint NOT NULL COMMENT '升级类型:1=自主付费,2=钻石升级下级', `upgrade_fee` decimal(10,2) DEFAULT 0.00 COMMENT '升级费用', `rebate_amount` decimal(10,2) DEFAULT 0.00 COMMENT '返佣金额(给原直接上级)', `rebate_agent_id` bigint DEFAULT NULL COMMENT '返佣代理ID(原直接上级)', `operator_agent_id` bigint DEFAULT NULL COMMENT '操作代理ID(如果是钻石升级下级,记录操作者)', `order_no` varchar(100) DEFAULT NULL COMMENT '支付订单号(如果是自主付费)', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1=待处理,2=已完成,3=已失败', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), KEY `idx_agent_id` (`agent_id`), KEY `idx_rebate_agent_id` (`rebate_agent_id`), KEY `idx_operator_agent_id` (`operator_agent_id`), KEY `idx_upgrade_type` (`upgrade_type`), KEY `idx_status` (`status`), KEY `idx_agent_status` (`agent_id`, `status`) COMMENT '复合索引:查询代理的升级记录', KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理升级记录表'; -- ============================================ -- 10. 代理提现表 -- ============================================ CREATE TABLE `agent_withdrawal` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `withdraw_no` varchar(100) NOT NULL COMMENT '提现单号', `payee_account` varchar(100) NOT NULL COMMENT '收款账户', `payee_name` varchar(50) NOT NULL COMMENT '收款人姓名', `amount` decimal(10,2) NOT NULL COMMENT '提现金额', `actual_amount` decimal(10,2) NOT NULL COMMENT '实际到账金额(扣除税费后)', `tax_amount` decimal(10,2) NOT NULL DEFAULT 0.00 COMMENT '税费金额', `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1=处理中,2=成功,3=失败', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_withdraw_no` (`withdraw_no`), KEY `idx_agent_id` (`agent_id`), KEY `idx_status` (`status`), KEY `idx_agent_status` (`agent_id`, `status`) COMMENT '复合索引:查询代理的提现记录', KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理提现表'; -- ============================================ -- 11. 代理系统配置表 -- ============================================ CREATE TABLE `agent_config` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `config_key` varchar(100) NOT NULL COMMENT '配置键', `config_value` varchar(500) NOT NULL COMMENT '配置值', `config_type` varchar(50) NOT NULL COMMENT '配置类型:price=价格,bonus=等级加成,upgrade=升级费用,rebate=返佣,tax=税费', `description` varchar(500) DEFAULT NULL COMMENT '配置描述', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_config_key` (`config_key`), KEY `idx_config_type` (`config_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理系统配置表'; -- ============================================ -- 12. 代理产品配置表(简化版) -- ============================================ CREATE TABLE `agent_product_config` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `product_id` bigint NOT NULL COMMENT '产品ID', `product_name` varchar(100) NOT NULL COMMENT '产品名称', `base_price` decimal(10,2) NOT NULL COMMENT '基础底价(BasePrice)', `system_max_price` decimal(10,2) NOT NULL COMMENT '系统价格上限(SystemMaxPrice)', `price_threshold` decimal(10,2) DEFAULT NULL COMMENT '提价标准阈值(PriceThreshold)', `price_fee_rate` decimal(5,4) DEFAULT NULL COMMENT '提价手续费比例(PriceFeeRate)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_product_id` (`product_id`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理产品配置表'; -- ============================================ -- 13. 代理实名认证表 -- ============================================ CREATE TABLE `agent_real_name` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `name` varchar(50) NOT NULL COMMENT '真实姓名', `id_card` varchar(50) NOT NULL COMMENT '身份证号(加密)', `mobile` varchar(50) NOT NULL COMMENT '手机号(加密)', `verify_time` datetime DEFAULT NULL COMMENT '验证时间(三要素验证通过时间,NULL表示未验证)', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_id` (`agent_id`), KEY `idx_verify_time` (`verify_time`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理实名认证表'; -- ============================================ -- 14. 代理提现扣税记录表 -- ============================================ CREATE TABLE `agent_withdrawal_tax` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `agent_id` bigint NOT NULL COMMENT '代理ID', `withdrawal_id` bigint NOT NULL COMMENT '提现记录ID', `year_month` int NOT NULL COMMENT '年月(格式:YYYYMM)', `withdrawal_amount` decimal(10,2) NOT NULL COMMENT '提现金额', `taxable_amount` decimal(10,2) NOT NULL COMMENT '应税金额', `tax_rate` decimal(5,4) NOT NULL COMMENT '税率', `tax_amount` decimal(10,2) NOT NULL COMMENT '税费金额', `actual_amount` decimal(10,2) NOT NULL COMMENT '实际到账金额', `tax_status` tinyint NOT NULL DEFAULT 1 COMMENT '扣税状态:1=待扣税,2=已扣税,3=扣税失败', `tax_time` datetime DEFAULT NULL COMMENT '扣税时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), KEY `idx_agent_id` (`agent_id`), KEY `idx_withdrawal_id` (`withdrawal_id`), KEY `idx_year_month` (`year_month`), KEY `idx_tax_status` (`tax_status`), KEY `idx_agent_year_month` (`agent_id`, `year_month`) COMMENT '复合索引:查询代理的月度扣税记录' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理提现扣税记录表'; -- ============================================ -- 初始化系统配置数据 -- ============================================ INSERT INTO `agent_config` (`config_key`, `config_value`, `config_type`, `description`) VALUES ('base_price', '0.00', 'price', '系统基础底价(BasePrice)'), ('system_max_price', '9999.99', 'price', '系统价格上限(SystemMaxPrice)'), ('price_threshold', '0.00', 'price', '提价标准阈值(PriceThreshold)'), ('price_fee_rate', '0.0000', 'price', '提价手续费比例(PriceFeeRate)'), ('level_bonus_normal', '6.00', 'bonus', '普通代理等级加成(6元)'), ('level_bonus_gold', '3.00', 'bonus', '黄金代理等级加成(3元)'), ('level_bonus_diamond', '0.00', 'bonus', '钻石代理等级加成(0元)'), ('upgrade_fee_normal_to_gold', '199.00', 'upgrade', '普通→黄金升级费用(199元)'), ('upgrade_fee_to_diamond', '980.00', 'upgrade', '升级为钻石费用(980元)'), ('upgrade_rebate_normal_to_gold', '139.00', 'upgrade', '普通→黄金返佣金额(139元)'), ('upgrade_rebate_to_diamond', '680.00', 'upgrade', '升级为钻石返佣金额(680元)'), ('direct_parent_amount_diamond', '6.00', 'rebate', '直接上级是钻石的返佣金额(6元)'), ('direct_parent_amount_gold', '3.00', 'rebate', '直接上级是黄金的返佣金额(3元)'), ('direct_parent_amount_normal', '2.00', 'rebate', '直接上级是普通的返佣金额(2元)'), ('max_gold_rebate_amount', '3.00', 'rebate', '黄金代理最大返佣金额(3元)'), ('tax_rate', '0.0600', 'tax', '提现税率(6%)'); -- ============================================ -- 15. 代理邀请码表 -- ============================================ CREATE TABLE `agent_invite_code` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `code` varchar(50) NOT NULL COMMENT '邀请码(唯一)', `agent_id` bigint DEFAULT NULL COMMENT '发放代理ID(NULL表示平台发放的钻石邀请码)', `target_level` tinyint NOT NULL DEFAULT 1 COMMENT '目标等级:1=普通,2=黄金,3=钻石', `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0=未使用,1=已使用,2=已失效(钻石邀请码只能使用一次,普通邀请码可无限使用)', `used_user_id` bigint DEFAULT NULL COMMENT '使用用户ID', `used_agent_id` bigint DEFAULT NULL COMMENT '使用代理ID', `used_time` datetime DEFAULT NULL COMMENT '使用时间', `expire_time` datetime DEFAULT NULL COMMENT '过期时间(可选)', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT 0 COMMENT '删除状态:0=未删除,1=已删除', `version` bigint NOT NULL DEFAULT 0 COMMENT '版本号(乐观锁)', PRIMARY KEY (`id`), UNIQUE KEY `uk_code` (`code`), KEY `idx_agent_id` (`agent_id`), KEY `idx_status` (`status`), KEY `idx_target_level` (`target_level`), KEY `idx_used_user_id` (`used_user_id`), KEY `idx_create_time` (`create_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理邀请码表'; -- ============================================ -- 表创建完成 -- ============================================ -- 执行完成后,请使用goctl生成新的Model代码 -- 参考命令见 generate_agent_models.md 文件