-- ============================================ -- 代理提现功能数据库迁移 -- 执行日期: 2025-01-XX -- ============================================ -- 1. 修改 agent 表,增加冻结金额和累计提现字段 ALTER TABLE `agent_wallet` ADD COLUMN `frozen_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '冻结金额' AFTER `balance`, ADD COLUMN `total_withdraw` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '累计提现金额' AFTER `frozen_amount`; -- 2. 创建代理提现记录表(符合项目规范) CREATE TABLE `agent_withdraw` ( `id` CHAR(36) NOT NULL COMMENT 'UUID主键', `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 '版本号', /* 业务字段开始 */ /* 代理信息 */ `agent_id` CHAR(36) NOT NULL COMMENT '代理ID(关联agent表的id)', `agent_mobile` varchar(20) DEFAULT NULL COMMENT '代理手机号(冗余)', `agent_code` bigint(20) DEFAULT NULL COMMENT '代理编码(冗余)', /* 提现金额信息 */ `withdraw_amount` decimal(10, 2) NOT NULL COMMENT '提现金额', `tax_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '税费金额', `actual_amount` decimal(10, 2) NOT NULL DEFAULT '0.00' COMMENT '实际到账金额(税后)', `frozen_amount` decimal(10, 2) NOT NULL COMMENT '冻结金额(与提现金额相同)', /* 银行卡信息 */ `account_name` varchar(100) NOT NULL COMMENT '收款人姓名', `bank_card_number` varchar(50) NOT NULL COMMENT '银行卡号(明文,仅用于显示)', `bank_card_number_encrypted` varchar(255) DEFAULT NULL COMMENT '加密的银行卡号', `bank_branch` varchar(200) DEFAULT NULL COMMENT '开户支行', /* 审核信息 */ `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态:0=待审核,1=已通过,2=已拒绝', `audit_user_id` CHAR(36) DEFAULT NULL COMMENT '审核人ID', `audit_time` datetime DEFAULT NULL COMMENT '审核时间', `audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注(拒绝时必填)', /* 业务字段结束 */ PRIMARY KEY (`id`), /* 索引定义 */ KEY `idx_agent_id` (`agent_id`) COMMENT '优化代理查询', KEY `idx_status` (`status`) COMMENT '优化状态筛选', KEY `idx_create_time` (`create_time`) COMMENT '优化时间排序', KEY `idx_del_state` (`del_state`) COMMENT '优化删除状态查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代理提现记录表';