first commit
This commit is contained in:
386
deploy/sql/agent_system_migration.sql
Normal file
386
deploy/sql/agent_system_migration.sql
Normal file
@@ -0,0 +1,386 @@
|
||||
-- ============================================
|
||||
-- 新代理系统数据表创建脚本
|
||||
-- 说明:创建新代理系统的所有数据表
|
||||
-- ============================================
|
||||
|
||||
-- ============================================
|
||||
-- 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 文件
|
||||
|
||||
190
deploy/sql/generate_agent_models.md
Normal file
190
deploy/sql/generate_agent_models.md
Normal file
@@ -0,0 +1,190 @@
|
||||
# 生成新代理系统Model说明
|
||||
|
||||
## 一、执行数据库迁移
|
||||
|
||||
### 1.1 备份数据库(重要!)
|
||||
|
||||
```bash
|
||||
# 备份整个数据库
|
||||
mysqldump -u root -p your_database > backup_before_migration.sql
|
||||
|
||||
# 或者只备份agent相关表
|
||||
mysqldump -u root -p your_database agent agent_audit agent_closure agent_commission agent_wallet agent_link agent_order agent_rewards agent_membership_config agent_product_config agent_real_name agent_withdrawal agent_withdrawal_tax agent_withdrawal_tax_exemption agent_active_stat agent_platform_deduction agent_commission_deduction agent_membership_recharge_order agent_membership_user_config > agent_tables_backup.sql
|
||||
```
|
||||
|
||||
### 1.2 执行迁移SQL
|
||||
|
||||
```bash
|
||||
# 方式1:使用mysql命令行
|
||||
mysql -u root -p your_database < deploy/sql/agent_system_migration.sql
|
||||
|
||||
# 方式2:使用数据库客户端工具(如Navicat、DBeaver等)
|
||||
# 直接执行 deploy/sql/agent_system_migration.sql 文件
|
||||
```
|
||||
|
||||
## 二、生成Model代码
|
||||
|
||||
### 2.1 方式一:使用脚本批量生成(推荐)
|
||||
|
||||
**Windows (PowerShell):**
|
||||
|
||||
```powershell
|
||||
# 修改脚本中的数据库配置
|
||||
# 然后执行(需要安装goctl工具)
|
||||
cd deploy/sql
|
||||
bash generate_agent_models.sh
|
||||
```
|
||||
|
||||
**Linux/Mac:**
|
||||
|
||||
```bash
|
||||
# 修改脚本中的数据库配置
|
||||
chmod +x deploy/sql/generate_agent_models.sh
|
||||
cd deploy/sql
|
||||
./generate_agent_models.sh
|
||||
```
|
||||
|
||||
### 2.2 方式二:使用goctl命令逐个生成
|
||||
|
||||
```bash
|
||||
# 1. agent表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 2. agent_audit表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_audit" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 3. agent_wallet表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_wallet" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 4. agent_relation表(新表,替代agent_closure)
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_relation" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 5. agent_link表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_link" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 6. agent_order表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_order" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 7. agent_commission表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_commission" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 8. agent_rebate表(新表)
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_rebate" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 9. agent_upgrade表(新表)
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_upgrade" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 10. agent_withdrawal表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_withdrawal" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 11. agent_config表(新表)
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_config" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 12. agent_product_config表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_product_config" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 13. agent_real_name表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_real_name" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
|
||||
# 14. agent_withdrawal_tax表
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent_withdrawal_tax" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
```
|
||||
|
||||
### 2.3 方式三:使用goctl一次性生成所有表
|
||||
|
||||
```bash
|
||||
# 生成所有agent相关表的Model
|
||||
goctl model mysql datasource -url="root:password@tcp(localhost:3306)/database" -table="agent,agent_audit,agent_wallet,agent_relation,agent_link,agent_order,agent_commission,agent_rebate,agent_upgrade,agent_withdrawal,agent_config,agent_product_config,agent_real_name,agent_withdrawal_tax" -dir="app/main/model" -cache=true --style=goZero --home="./deploy/template"
|
||||
```
|
||||
|
||||
## 三、表结构变化说明
|
||||
|
||||
### 3.1 删除的旧表
|
||||
|
||||
以下表在新系统中已删除,不再需要:
|
||||
|
||||
- `agent_closure` → 被 `agent_relation` 替代
|
||||
- `agent_commission_deduction` → 新系统不需要
|
||||
- `agent_rewards` → 新系统不需要
|
||||
- `agent_membership_config` → 新系统不需要
|
||||
- `agent_membership_recharge_order` → 新系统不需要
|
||||
- `agent_membership_user_config` → 新系统不需要
|
||||
- `agent_platform_deduction` → 新系统不需要
|
||||
- `agent_active_stat` → 新系统不需要
|
||||
- `agent_withdrawal_tax_exemption` → 新系统不需要
|
||||
|
||||
### 3.2 新增的表
|
||||
|
||||
- `agent_relation` - 替代 `agent_closure`,支持关系脱离
|
||||
- `agent_rebate` - 等级加成返佣记录表
|
||||
- `agent_upgrade` - 代理升级记录表
|
||||
- `agent_config` - 代理系统配置表
|
||||
|
||||
### 3.3 结构变化的表
|
||||
|
||||
以下表结构有变化,需要重新生成Model:
|
||||
|
||||
- `agent` - 等级字段改为数值型,新增 `team_leader_id`
|
||||
- `agent_audit` - 新增 `ancestor_mobile`、`audit_user_id` 字段
|
||||
- `agent_wallet` - 字段保持不变
|
||||
- `agent_link` - 新增唯一约束
|
||||
- `agent_order` - 新增 `order_amount`、`process_status` 等字段
|
||||
- `agent_commission` - 字段保持不变
|
||||
- `agent_product_config` - 字段保持不变
|
||||
- `agent_real_name` - 新增 `audit_user_id` 字段
|
||||
- `agent_withdrawal` - 字段保持不变
|
||||
- `agent_withdrawal_tax` - 字段保持不变
|
||||
|
||||
## 四、生成后的文件结构
|
||||
|
||||
生成后,会在 `app/main/model` 目录下创建以下文件:
|
||||
|
||||
```
|
||||
app/main/model/
|
||||
├── agentModel.go # agent表Model(自定义方法)
|
||||
├── agentModel_gen.go # agent表Model(自动生成)
|
||||
├── agentAuditModel.go # agent_audit表Model(自定义方法)
|
||||
├── agentAuditModel_gen.go # agent_audit表Model(自动生成)
|
||||
├── agentWalletModel.go # agent_wallet表Model(自定义方法)
|
||||
├── agentWalletModel_gen.go # agent_wallet表Model(自动生成)
|
||||
├── agentRelationModel.go # agent_relation表Model(自定义方法,新)
|
||||
├── agentRelationModel_gen.go # agent_relation表Model(自动生成,新)
|
||||
├── agentLinkModel.go # agent_link表Model(自定义方法)
|
||||
├── agentLinkModel_gen.go # agent_link表Model(自动生成)
|
||||
├── agentOrderModel.go # agent_order表Model(自定义方法)
|
||||
├── agentOrderModel_gen.go # agent_order表Model(自动生成)
|
||||
├── agentCommissionModel.go # agent_commission表Model(自定义方法)
|
||||
├── agentCommissionModel_gen.go # agent_commission表Model(自动生成)
|
||||
├── agentRebateModel.go # agent_rebate表Model(自定义方法,新)
|
||||
├── agentRebateModel_gen.go # agent_rebate表Model(自动生成,新)
|
||||
├── agentUpgradeModel.go # agent_upgrade表Model(自定义方法,新)
|
||||
├── agentUpgradeModel_gen.go # agent_upgrade表Model(自动生成,新)
|
||||
├── agentWithdrawalModel.go # agent_withdrawal表Model(自定义方法)
|
||||
├── agentWithdrawalModel_gen.go # agent_withdrawal表Model(自动生成)
|
||||
├── agentConfigModel.go # agent_config表Model(自定义方法,新)
|
||||
├── agentConfigModel_gen.go # agent_config表Model(自动生成,新)
|
||||
├── agentProductConfigModel.go # agent_product_config表Model(自定义方法)
|
||||
├── agentProductConfigModel_gen.go # agent_product_config表Model(自动生成)
|
||||
├── agentRealNameModel.go # agent_real_name表Model(自定义方法)
|
||||
├── agentRealNameModel_gen.go # agent_real_name表Model(自动生成)
|
||||
├── agentWithdrawalTaxModel.go # agent_withdrawal_tax表Model(自定义方法)
|
||||
└── agentWithdrawalTaxModel_gen.go # agent_withdrawal_tax表Model(自动生成)
|
||||
```
|
||||
|
||||
## 五、注意事项
|
||||
|
||||
1. **备份数据**:执行迁移前务必备份数据库
|
||||
2. **测试环境**:建议先在测试环境执行,验证无误后再在生产环境执行
|
||||
3. **代码兼容**:生成新Model后,需要更新相关业务代码以适配新的表结构
|
||||
4. **删除旧Model**:生成新Model后,需要删除旧的Model文件(如 `agentClosureModel.go`)
|
||||
5. **更新ServiceContext**:需要在 `svc/servicecontext.go` 中更新Model初始化代码
|
||||
|
||||
## 六、验证
|
||||
|
||||
生成Model后,请验证:
|
||||
|
||||
1. 所有新表都有对应的Model文件
|
||||
2. Model文件可以正常编译
|
||||
3. 数据库连接正常
|
||||
4. 基本的CRUD操作可以正常执行
|
||||
|
||||
70
deploy/sql/generate_agent_models.sh
Normal file
70
deploy/sql/generate_agent_models.sh
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
# ============================================
|
||||
# 生成新代理系统Model脚本
|
||||
# 使用goctl工具根据数据库表生成Model代码
|
||||
# ============================================
|
||||
|
||||
# 数据库配置(请根据实际情况修改)
|
||||
DB_HOST="localhost"
|
||||
DB_PORT="3306"
|
||||
DB_USER="root"
|
||||
DB_PASSWORD="your_password"
|
||||
DB_NAME="your_database"
|
||||
|
||||
# Model输出目录
|
||||
MODEL_DIR="app/main/model"
|
||||
|
||||
# goctl模板目录
|
||||
TEMPLATE_DIR="./deploy/template"
|
||||
|
||||
echo "============================================"
|
||||
echo "开始生成新代理系统Model..."
|
||||
echo "============================================"
|
||||
|
||||
# 生成各个表的Model
|
||||
echo "1. 生成 agent Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "2. 生成 agent_audit Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_audit" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "3. 生成 agent_wallet Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_wallet" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "4. 生成 agent_relation Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_relation" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "5. 生成 agent_link Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_link" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "6. 生成 agent_order Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_order" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "7. 生成 agent_commission Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_commission" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "8. 生成 agent_rebate Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_rebate" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "9. 生成 agent_upgrade Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_upgrade" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "10. 生成 agent_withdrawal Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_withdrawal" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "11. 生成 agent_config Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_config" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "12. 生成 agent_product_config Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_product_config" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "13. 生成 agent_real_name Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_real_name" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "14. 生成 agent_withdrawal_tax Model..."
|
||||
goctl model mysql datasource -url="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" -table="agent_withdrawal_tax" -dir="${MODEL_DIR}" -cache=true --style=goZero --home="${TEMPLATE_DIR}"
|
||||
|
||||
echo "============================================"
|
||||
echo "Model生成完成!"
|
||||
echo "============================================"
|
||||
|
||||
20
deploy/sql/template.sql
Normal file
20
deploy/sql/template.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
CREATE TABLE `表名` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` datetime DEFAULT NULL COMMENT '删除时间',
|
||||
`del_state` tinyint NOT NULL DEFAULT '0',
|
||||
`version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
|
||||
|
||||
/* 业务字段开始 */
|
||||
`字段1` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
|
||||
`字段2` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
|
||||
/* 关联字段 - 软关联 */
|
||||
`关联表id` bigint [NOT NULL] [DEFAULT '0'] COMMENT '关联到XX表的id',
|
||||
/* 业务字段结束 */
|
||||
|
||||
PRIMARY KEY (`id`),
|
||||
/* 索引定义 */
|
||||
UNIQUE KEY `索引名称` (`字段名`),
|
||||
KEY `idx_关联字段` (`关联表id`) COMMENT '优化关联查询'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='表说明';
|
||||
Reference in New Issue
Block a user