-- Transfer模块数据库表创建脚本 -- 创建时间: 2025-06-15 -- 模块: Transfer -- 1. 创建划转应用配置表 CREATE TABLE `kku_transfer_apps` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `keyname` varchar(50) NOT NULL COMMENT '应用标识符', `title` varchar(100) NOT NULL COMMENT '应用显示名称', `description` text COMMENT '应用描述信息', `out_id` int NOT NULL COMMENT '外部应用ID', `out_id2` int DEFAULT NULL COMMENT '外部应用ID2-开放接口', `out_id3` int DEFAULT NULL COMMENT '外部应用ID3-三方平台ID', `currency_id` int NOT NULL COMMENT '货币类型ID', `fund_id` int NOT NULL COMMENT '资金账户类型ID', `fund_to_uid` int DEFAULT NULL COMMENT '转入目标账户UID', `fund_in_uid` int DEFAULT NULL COMMENT '转入来源账户UID', `exchange_rate` decimal(10,4) NOT NULL DEFAULT '1.0000' COMMENT '汇率(外部应用:业务)', `order_callback_url` varchar(255) DEFAULT NULL COMMENT '结果通知API地址(为空则不通知)', `order_in_info_url` varchar(255) DEFAULT NULL COMMENT '转入查询API地址(为空则不查询)', `order_out_create_url` varchar(255) DEFAULT NULL COMMENT '转出创建API地址(为空则不创建)', `order_out_info_url` varchar(255) DEFAULT NULL COMMENT '转出查询API地址(为空则不查询)', `is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用(1=启用,0=禁用)', `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间', `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_keyname` (`keyname`), KEY `idx_out_id` (`out_id`), KEY `idx_currency_id` (`currency_id`), KEY `idx_enabled` (`is_enabled`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='划转应用配置表'; -- 2. 创建划转订单表 CREATE TABLE `kku_transfer_orders` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `transfer_app_id` int unsigned NOT NULL COMMENT '划转应用ID', `out_id` int NOT NULL COMMENT '外部应用ID', `out_order_id` varchar(100) NOT NULL COMMENT '外部订单ID', `out_user_id` varchar(50) DEFAULT NULL COMMENT '外部用户ID', `user_id` int unsigned NOT NULL COMMENT '内部用户ID', `currency_id` int NOT NULL COMMENT '货币类型ID', `fund_id` int NOT NULL COMMENT '资金账户类型ID', `type` tinyint NOT NULL COMMENT '订单类型(1=转入,2=转出)', `status` tinyint NOT NULL DEFAULT '1' COMMENT '订单状态', `out_amount` decimal(30,10) NOT NULL COMMENT '外部金额', `amount` decimal(30,10) NOT NULL COMMENT '内部金额', `exchange_rate` decimal(10,4) NOT NULL COMMENT '使用汇率', `callback_data` json DEFAULT NULL COMMENT '回调数据', `error_message` text COMMENT '错误信息', `remark` varchar(255) DEFAULT NULL COMMENT '备注信息', `processed_at` timestamp NULL DEFAULT NULL COMMENT '处理时间', `callback_at` timestamp NULL DEFAULT NULL COMMENT '回调时间', `completed_at` timestamp NULL DEFAULT NULL COMMENT '完成时间', `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间', `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间', `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_out_order` (`out_id`, `out_order_id`), KEY `idx_transfer_app_id` (`transfer_app_id`), KEY `idx_user_id` (`user_id`), KEY `idx_status` (`status`), KEY `idx_type` (`type`), KEY `idx_created_at` (`created_at`), KEY `idx_processed_at` (`processed_at`), CONSTRAINT `fk_transfer_orders_app` FOREIGN KEY (`transfer_app_id`) REFERENCES `kku_transfer_apps` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='划转订单表';