387 lines
24 KiB
MySQL
387 lines
24 KiB
MySQL
|
|
-- ============================================
|
|||
|
|
-- 新代理系统数据表创建脚本
|
|||
|
|
-- 说明:创建新代理系统的所有数据表
|
|||
|
|
-- ============================================
|
|||
|
|
|
|||
|
|
-- ============================================
|
|||
|
|
-- 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 文件
|
|||
|
|
|