create_tables.sql 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. -- Transfer模块数据库表创建脚本
  2. -- 创建时间: 2025-06-15
  3. -- 模块: Transfer
  4. -- 1. 创建划转应用配置表
  5. CREATE TABLE `kku_transfer_apps` (
  6. `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  7. `keyname` varchar(50) NOT NULL COMMENT '应用标识符',
  8. `title` varchar(100) NOT NULL COMMENT '应用显示名称',
  9. `description` text COMMENT '应用描述信息',
  10. `out_id` int NOT NULL COMMENT '外部应用ID',
  11. `out_id2` int DEFAULT NULL COMMENT '外部应用ID2-开放接口',
  12. `out_id3` int DEFAULT NULL COMMENT '外部应用ID3-三方平台ID',
  13. `currency_id` int NOT NULL COMMENT '货币类型ID',
  14. `fund_id` int NOT NULL COMMENT '资金账户类型ID',
  15. `fund_to_uid` int DEFAULT NULL COMMENT '转入目标账户UID',
  16. `fund_in_uid` int DEFAULT NULL COMMENT '转入来源账户UID',
  17. `exchange_rate` decimal(10,4) NOT NULL DEFAULT '1.0000' COMMENT '汇率(钱包:业务)',
  18. `order_callback_url` varchar(255) DEFAULT NULL COMMENT '结果通知API地址(为空则不通知)',
  19. `order_in_info_url` varchar(255) DEFAULT NULL COMMENT '转入查询API地址(为空则不查询)',
  20. `order_out_create_url` varchar(255) DEFAULT NULL COMMENT '转出创建API地址(为空则不创建)',
  21. `order_out_info_url` varchar(255) DEFAULT NULL COMMENT '转出查询API地址(为空则不查询)',
  22. `is_enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用(1=启用,0=禁用)',
  23. `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  24. `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  25. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  26. PRIMARY KEY (`id`),
  27. UNIQUE KEY `uk_keyname` (`keyname`),
  28. KEY `idx_out_id` (`out_id`),
  29. KEY `idx_currency_id` (`currency_id`),
  30. KEY `idx_enabled` (`is_enabled`)
  31. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='划转应用配置表';
  32. -- 2. 创建划转订单表
  33. CREATE TABLE `kku_transfer_orders` (
  34. `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  35. `transfer_app_id` int unsigned NOT NULL COMMENT '划转应用ID',
  36. `out_id` int NOT NULL COMMENT '外部应用ID',
  37. `out_order_id` varchar(100) NOT NULL COMMENT '外部订单ID',
  38. `out_user_id` varchar(50) DEFAULT NULL COMMENT '外部用户ID',
  39. `user_id` int unsigned NOT NULL COMMENT '内部用户ID',
  40. `currency_id` int NOT NULL COMMENT '货币类型ID',
  41. `fund_id` int NOT NULL COMMENT '资金账户类型ID',
  42. `type` tinyint NOT NULL COMMENT '订单类型(1=转入,2=转出)',
  43. `status` tinyint NOT NULL DEFAULT '1' COMMENT '订单状态',
  44. `out_amount` decimal(30,10) NOT NULL COMMENT '外部金额',
  45. `amount` decimal(30,10) NOT NULL COMMENT '内部金额',
  46. `exchange_rate` decimal(10,4) NOT NULL COMMENT '使用汇率',
  47. `callback_data` json DEFAULT NULL COMMENT '回调数据',
  48. `error_message` text COMMENT '错误信息',
  49. `remark` varchar(255) DEFAULT NULL COMMENT '备注信息',
  50. `processed_at` timestamp NULL DEFAULT NULL COMMENT '处理时间',
  51. `callback_at` timestamp NULL DEFAULT NULL COMMENT '回调时间',
  52. `completed_at` timestamp NULL DEFAULT NULL COMMENT '完成时间',
  53. `created_at` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  54. `updated_at` timestamp NULL DEFAULT NULL COMMENT '更新时间',
  55. `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  56. PRIMARY KEY (`id`),
  57. UNIQUE KEY `uk_out_order` (`out_id`, `out_order_id`),
  58. KEY `idx_transfer_app_id` (`transfer_app_id`),
  59. KEY `idx_user_id` (`user_id`),
  60. KEY `idx_status` (`status`),
  61. KEY `idx_type` (`type`),
  62. KEY `idx_created_at` (`created_at`),
  63. KEY `idx_processed_at` (`processed_at`),
  64. CONSTRAINT `fk_transfer_orders_app` FOREIGN KEY (`transfer_app_id`) REFERENCES `kku_transfer_apps` (`id`)
  65. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='划转订单表';