From c928012df57858cfb59f14f050998c42ff63968a Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Thu, 19 Feb 2026 08:55:15 +0000 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database_full.sql | 238 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 238 insertions(+) create mode 100644 database_full.sql diff --git a/database_full.sql b/database_full.sql new file mode 100644 index 0000000..6770c1a --- /dev/null +++ b/database_full.sql @@ -0,0 +1,238 @@ +-- -------------------------------------------------------- +-- 完整数据库备份与安装脚本 (V2 - 包含所有业务表) +-- 适用环境:宝塔面板 / PHP + MySQL +-- -------------------------------------------------------- + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for admins +-- ---------------------------- +DROP TABLE IF EXISTS `admins`; +CREATE TABLE `admins` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(50) NOT NULL, + `password_hash` varchar(255) NOT NULL, + `role` varchar(20) DEFAULT 'admin', + `created_at` timestamp NULL DEFAULT current_timestamp(), + `is_agent` tinyint(4) DEFAULT 0, + `permissions` text DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +INSERT INTO `admins` VALUES (1, 'admin', '$2y$10$uJvcqHNb.naRWj.apBapi.C.fF2zaIbMhYEtVdGmmVUWZkQi9ESfe', 'admin', '2026-02-18 03:07:35', 0, NULL); + +-- ---------------------------- +-- Table structure for users +-- ---------------------------- +DROP TABLE IF EXISTS `users`; +CREATE TABLE `users` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(50) DEFAULT NULL, + `email` varchar(100) DEFAULT NULL, + `password_hash` varchar(255) NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + `uid` varchar(20) DEFAULT NULL, + `credit_score` int(11) DEFAULT 80, + `real_name_status` int(11) DEFAULT 0, + `role` varchar(20) DEFAULT 'user', + `vip_level` int(11) DEFAULT 0, + `total_recharge` decimal(16,4) DEFAULT 0.0000, + `transaction_password` varchar(255) DEFAULT NULL, + `kyc_name` varchar(100) DEFAULT NULL, + `kyc_id_number` varchar(50) DEFAULT NULL, + `kyc_photo_front` varchar(255) DEFAULT NULL, + `kyc_photo_back` varchar(255) DEFAULT NULL, + `kyc_photo_handheld?` varchar(255) DEFAULT NULL, + `kyc_photo_handheld` varchar(255) DEFAULT NULL, + `kyc_status` int(11) DEFAULT 0 COMMENT '0: Unverified, 1: Pending, 2: Verified, 3: Rejected', + `registration_ip` varchar(45) DEFAULT NULL, + `status` enum('normal','frozen') DEFAULT 'normal', + `win_loss_control` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: win, 2: loss', + `remark` text DEFAULT NULL, + `kyc_rejection_reason` text DEFAULT NULL, + `agent_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `username` (`username`), + UNIQUE KEY `email` (`email`), + UNIQUE KEY `uid` (`uid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for user_balances +-- ---------------------------- +DROP TABLE IF EXISTS `user_balances`; +CREATE TABLE `user_balances` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `symbol` varchar(10) NOT NULL, + `available` decimal(20,8) DEFAULT 0.00000000, + `frozen` decimal(20,8) DEFAULT 0.00000000, + PRIMARY KEY (`id`), + UNIQUE KEY `user_id` (`user_id`,`symbol`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for system_settings +-- ---------------------------- +DROP TABLE IF EXISTS `system_settings`; +CREATE TABLE `system_settings` ( + `setting_key` varchar(50) NOT NULL, + `setting_value` text DEFAULT NULL, + PRIMARY KEY (`setting_key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +INSERT INTO `system_settings` (setting_key, setting_value) VALUES +('android_download_url', '/downloads/byro.apk'), +('apk_download_url', '/downloads/byro.apk'), +('email_verification_enabled', '0'), +('ios_download_url', '/downloads/byro.apk'), +('mail_from_email', ''), +('mail_from_name', 'Byro Exchange'), +('site_name', 'Byro'), +('smtp_port', '587'), +('smtp_secure', 'tls'), +('usdt_protocol', 'TRC20'), +('usdt_trc20_address', 'TYv9V5J1P1eEwz7y3WqJg9M2yv7f7xXv3x'); + +-- ---------------------------- +-- Table structure for staking_records +-- ---------------------------- +DROP TABLE IF EXISTS `staking_records`; +CREATE TABLE `staking_records` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `plan_name` varchar(100) NOT NULL, + `amount` decimal(20,8) NOT NULL, + `symbol` varchar(10) DEFAULT 'USDT', + `daily_profit` decimal(5,2) NOT NULL, + `period` int(11) NOT NULL COMMENT 'days', + `status` enum('running','ended') DEFAULT 'running', + `start_date` date NOT NULL, + `end_date` date NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for transactions +-- ---------------------------- +DROP TABLE IF EXISTS `transactions`; +CREATE TABLE `transactions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `type` varchar(20) NOT NULL, + `amount` decimal(20,8) NOT NULL, + `symbol` varchar(10) NOT NULL, + `status` varchar(20) DEFAULT 'completed', + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for binary_orders +-- ---------------------------- +DROP TABLE IF EXISTS `binary_orders`; +CREATE TABLE `binary_orders` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `symbol` varchar(20) NOT NULL, + `direction` varchar(10) DEFAULT NULL, + `amount` decimal(20,8) NOT NULL, + `duration` int(11) NOT NULL, + `profit_rate` decimal(5,2) NOT NULL, + `entry_price` decimal(20,8) NOT NULL, + `close_price` decimal(20,8) DEFAULT NULL, + `status` enum('pending','won','lost','cancelled') DEFAULT 'pending', + `control_status` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: force win, 2: force loss', + `created_at` timestamp NULL DEFAULT current_timestamp(), + `end_at` timestamp NULL DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for contract_orders +-- ---------------------------- +DROP TABLE IF EXISTS `contract_orders`; +CREATE TABLE `contract_orders` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `symbol` varchar(20) NOT NULL, + `type` enum('limit','market') DEFAULT 'market', + `direction` varchar(10) DEFAULT NULL, + `leverage` int(11) DEFAULT 1, + `amount` decimal(20,8) NOT NULL, + `entry_price` decimal(20,8) DEFAULT NULL, + `close_price` decimal(20,8) DEFAULT NULL, + `status` enum('open','closed','cancelled') DEFAULT 'open', + `profit` decimal(20,8) DEFAULT 0.00000000, + `control_status` tinyint(4) DEFAULT 0 COMMENT '0: normal, 1: force win, 2: force loss', + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for exchange_records +-- ---------------------------- +DROP TABLE IF EXISTS `exchange_records`; +CREATE TABLE `exchange_records` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `from_symbol` varchar(10) NOT NULL, + `to_symbol` varchar(10) NOT NULL, + `from_amount` decimal(20,8) NOT NULL, + `to_amount` decimal(20,8) NOT NULL, + `rate` decimal(20,8) NOT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for price_controls +-- ---------------------------- +DROP TABLE IF EXISTS `price_controls`; +CREATE TABLE `price_controls` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `symbol` varchar(20) NOT NULL, + `target_price` decimal(20,8) NOT NULL, + `execution_time` timestamp NOT NULL, + `duration` int(11) DEFAULT 60 COMMENT 'seconds', + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for spot_orders +-- ---------------------------- +DROP TABLE IF EXISTS `spot_orders`; +CREATE TABLE `spot_orders` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `symbol` varchar(20) NOT NULL, + `side` enum('buy','sell') NOT NULL, + `price` decimal(20,8) DEFAULT NULL, + `amount` decimal(20,8) NOT NULL, + `filled` decimal(20,8) DEFAULT 0.00000000, + `status` enum('pending','filled','cancelled') DEFAULT 'pending', + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- ---------------------------- +-- Table structure for messages +-- ---------------------------- +DROP TABLE IF EXISTS `messages`; +CREATE TABLE `messages` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) DEFAULT NULL, + `admin_id` int(11) DEFAULT NULL, + `sender` enum('user','admin') DEFAULT NULL, + `message` text DEFAULT NULL, + `ip_address` varchar(45) DEFAULT NULL, + `created_at` timestamp NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +SET FOREIGN_KEY_CHECKS = 1;