562 lines
32 KiB
SQL
562 lines
32 KiB
SQL
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for ads
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `ads` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(255) COLLATE utf8mb4_german2_ci NOT NULL DEFAULT '' COMMENT 'Ads title',
|
|
`type` varchar(255) COLLATE utf8mb4_german2_ci NOT NULL DEFAULT '' COMMENT 'Ads type',
|
|
`content` text COLLATE utf8mb4_german2_ci COMMENT 'Ads content',
|
|
`target_url` varchar(512) COLLATE utf8mb4_german2_ci DEFAULT '' COMMENT 'Ads target url',
|
|
`start_time` datetime DEFAULT NULL COMMENT 'Ads start time',
|
|
`end_time` datetime DEFAULT NULL COMMENT 'Ads end time',
|
|
`status` tinyint(1) DEFAULT '0' COMMENT 'Ads status,0 disable,1 enable',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_german2_ci;
|
|
|
|
|
|
-- ----------------------------
|
|
-- Table structure for announcement
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `announcement` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Title',
|
|
`content` text COLLATE utf8mb4_general_ci COMMENT 'Content',
|
|
`show` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Show',
|
|
`pinned` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Pinned',
|
|
`popup` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Popup',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for application
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `application` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '应用名称',
|
|
`icon` text COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用图标',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT '更新描述',
|
|
`subscribe_type` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订阅类型',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for application_config
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `application_config` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`app_id` bigint NOT NULL DEFAULT '0' COMMENT 'App id',
|
|
`encryption_key` text COLLATE utf8mb4_general_ci COMMENT 'Encryption Key',
|
|
`encryption_method` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Encryption Method',
|
|
`domains` text COLLATE utf8mb4_general_ci,
|
|
`startup_picture` text COLLATE utf8mb4_general_ci,
|
|
`startup_picture_skip_time` bigint NOT NULL DEFAULT '0' COMMENT 'Startup Picture Skip Time',
|
|
`invitation_link` text COLLATE utf8mb4_general_ci COMMENT 'Invitation Link',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for application_version
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `application_version` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`url` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '应用地址',
|
|
`version` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '应用版本',
|
|
`platform` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '应用平台',
|
|
`is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '默认版本',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT '更新描述',
|
|
`application_id` bigint DEFAULT NULL COMMENT '所属应用',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`id`),
|
|
KEY `fk_application_application_versions` (`application_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for coupon
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `coupon` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Coupon Name',
|
|
`code` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Coupon Code',
|
|
`count` bigint NOT NULL DEFAULT '0' COMMENT 'Count Limit',
|
|
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Coupon Type: 1: Percentage 2: Fixed Amount',
|
|
`discount` bigint NOT NULL DEFAULT '0' COMMENT 'Coupon Discount',
|
|
`start_time` bigint NOT NULL DEFAULT '0' COMMENT 'Start Time',
|
|
`expire_time` bigint NOT NULL DEFAULT '0' COMMENT 'Expire Time',
|
|
`user_limit` bigint NOT NULL DEFAULT '0' COMMENT 'User Limit',
|
|
`subscribe` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Subscribe Limit',
|
|
`used_count` bigint NOT NULL DEFAULT '0' COMMENT 'Used Count',
|
|
`enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Enable',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_coupon_code` (`code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for document
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `document` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Document Title',
|
|
`content` text COLLATE utf8mb4_general_ci COMMENT 'Document Content',
|
|
`tags` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Document Tags',
|
|
`show` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Show',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for auth_method
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `auth_method` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`method` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'method',
|
|
`config` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'OAuth Configuration',
|
|
`enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is Enabled',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_auth_method` (`method`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for order
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `order` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`parent_id` bigint DEFAULT NULL COMMENT 'Parent Order Id',
|
|
`user_id` bigint NOT NULL DEFAULT '0' COMMENT 'User Id',
|
|
`order_no` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Order No',
|
|
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Order Type: 1: Subscribe, 2: Renewal, 3: ResetTraffic, 4: Recharge',
|
|
`quantity` bigint NOT NULL DEFAULT '1' COMMENT 'Quantity',
|
|
`price` bigint NOT NULL DEFAULT '0' COMMENT 'Original price',
|
|
`amount` bigint NOT NULL DEFAULT '0' COMMENT 'Order Amount',
|
|
`gift_amount` bigint NOT NULL DEFAULT '0' COMMENT 'User Gift Amount',
|
|
`discount` bigint NOT NULL DEFAULT '0' COMMENT 'Discount Amount',
|
|
`coupon` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Coupon',
|
|
`coupon_discount` bigint NOT NULL DEFAULT '0' COMMENT 'Coupon Discount Amount',
|
|
`commission` bigint NOT NULL DEFAULT '0' COMMENT 'Order Commission',
|
|
`payment_id` bigint NOT NULL DEFAULT '-1' COMMENT 'Payment Id',
|
|
`method` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Payment Method',
|
|
`fee_amount` bigint NOT NULL DEFAULT '0' COMMENT 'Fee Amount',
|
|
`trade_no` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Trade No',
|
|
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Order Status: 1: Pending, 2: Paid, 3:Close, 4: Failed, 5:Finished',
|
|
`subscribe_id` bigint NOT NULL DEFAULT '0' COMMENT 'Subscribe Id',
|
|
`subscribe_token` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Renewal Subscribe Token',
|
|
`is_new` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is New Order',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_order_order_no` (`order_no`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for payment
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `payment` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Payment Name',
|
|
`platform` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Payment Platform',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT 'Payment Description',
|
|
`icon` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Payment Icon',
|
|
`domain` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Notification Domain',
|
|
`config` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Payment Configuration',
|
|
`fee_mode` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Fee Mode: 0: No Fee 1: Percentage 2: Fixed Amount 3: Percentage + Fixed Amount',
|
|
`fee_percent` bigint DEFAULT '0' COMMENT 'Fee Percentage',
|
|
`fee_amount` bigint DEFAULT '0' COMMENT 'Fixed Fee Amount',
|
|
`enable` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is Enabled',
|
|
`token` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Payment Token',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_payment_token` (`token`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for server
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `server` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Node Name',
|
|
`tags` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Tags',
|
|
`country` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Country',
|
|
`city` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'City',
|
|
`latitude` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'latitude',
|
|
`longitude` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'longitude',
|
|
`server_addr` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Server Address',
|
|
`relay_mode` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'none' COMMENT 'Relay Mode',
|
|
`relay_node` text COLLATE utf8mb4_general_ci COMMENT 'Relay Node',
|
|
`speed_limit` bigint NOT NULL DEFAULT '0' COMMENT 'Speed Limit',
|
|
`traffic_ratio` decimal(4,2) NOT NULL DEFAULT '0.00' COMMENT 'Traffic Ratio',
|
|
`group_id` bigint DEFAULT NULL COMMENT 'Group ID',
|
|
`protocol` varchar(20) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Protocol',
|
|
`config` text COLLATE utf8mb4_general_ci COMMENT 'Config',
|
|
`enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Enabled',
|
|
`sort` bigint NOT NULL DEFAULT '0' COMMENT 'Sort',
|
|
`last_reported_at` datetime(3) DEFAULT NULL COMMENT 'Last Reported Time',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_group_id` (`group_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for server_group
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `server_group` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Group Name',
|
|
`description` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Group Description',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for sms
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `sms` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`content` text COLLATE utf8mb4_general_ci,
|
|
`platform` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,
|
|
`area_code` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,
|
|
`telephone` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,
|
|
`status` tinyint(1) DEFAULT '1',
|
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for subscribe
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `subscribe` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Subscribe Name',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT 'Subscribe Description',
|
|
`unit_price` bigint NOT NULL DEFAULT '0' COMMENT 'Unit Price',
|
|
`unit_time` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Unit Time',
|
|
`discount` text COLLATE utf8mb4_general_ci COMMENT 'Discount',
|
|
`replacement` bigint NOT NULL DEFAULT '0' COMMENT 'Replacement',
|
|
`inventory` bigint NOT NULL DEFAULT '0' COMMENT 'Inventory',
|
|
`traffic` bigint NOT NULL DEFAULT '0' COMMENT 'Traffic',
|
|
`speed_limit` bigint NOT NULL DEFAULT '0' COMMENT 'Speed Limit',
|
|
`device_limit` bigint NOT NULL DEFAULT '0' COMMENT 'Device Limit',
|
|
`quota` bigint NOT NULL DEFAULT '0' COMMENT 'Quota',
|
|
`group_id` bigint DEFAULT NULL COMMENT 'Group Id',
|
|
`server_group` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Server Group',
|
|
`server` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Server',
|
|
`show` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Show portal page',
|
|
`sell` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Sell',
|
|
`sort` bigint NOT NULL DEFAULT '0' COMMENT 'Sort',
|
|
`deduction_ratio` bigint DEFAULT '0' COMMENT 'Deduction Ratio',
|
|
`allow_deduction` tinyint(1) DEFAULT '1' COMMENT 'Allow deduction',
|
|
`reset_cycle` bigint DEFAULT '0' COMMENT 'Reset Cycle: 0: No Reset, 1: 1st, 2: Monthly, 3: Yearly',
|
|
`renewal_reset` tinyint(1) DEFAULT '0' COMMENT 'Renew Reset',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for subscribe_group
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `subscribe_group` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Group Name',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT 'Group Description',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
-- ----------------------------
|
|
-- Table structure for subscribe_type
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `subscribe_type` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订阅类型',
|
|
`mark` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '订阅标识',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT '创建时间',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for system
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `system` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`category` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Category',
|
|
`key` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Key Name',
|
|
`value` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Key Value',
|
|
`type` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Type',
|
|
`desc` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Description',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_system_key` (`key`),
|
|
KEY `index_key` (`key`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
|
|
-- ----------------------------
|
|
-- Table structure for ticket
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `ticket` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Title',
|
|
`description` text COLLATE utf8mb4_general_ci COMMENT 'Description',
|
|
`user_id` bigint NOT NULL DEFAULT '0' COMMENT 'UserId',
|
|
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Status',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for ticket_follow
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `ticket_follow` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`ticket_id` bigint NOT NULL DEFAULT '0' COMMENT 'TicketId',
|
|
`from` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'From',
|
|
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Type: 1 text, 2 image',
|
|
`content` text COLLATE utf8mb4_general_ci COMMENT 'Content',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for traffic_log
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `traffic_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`server_id` bigint NOT NULL COMMENT 'Server ID',
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`subscribe_id` bigint NOT NULL COMMENT 'Subscription ID',
|
|
`download` bigint DEFAULT '0' COMMENT 'Download Traffic',
|
|
`upload` bigint DEFAULT '0' COMMENT 'Upload Traffic',
|
|
`timestamp` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'Traffic Log Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_subscribe_id` (`subscribe_id`),
|
|
KEY `idx_server_id` (`server_id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`password` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'User Password',
|
|
`avatar` text COLLATE utf8mb4_general_ci COMMENT 'User Avatar',
|
|
`balance` bigint DEFAULT '0' COMMENT 'User Balance',
|
|
`telegram` bigint DEFAULT NULL COMMENT 'Telegram Account',
|
|
`refer_code` varchar(20) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Referral Code',
|
|
`referer_id` bigint DEFAULT NULL COMMENT 'Referrer ID',
|
|
`commission` bigint DEFAULT '0' COMMENT 'Commission',
|
|
`gift_amount` bigint DEFAULT '0' COMMENT 'User Gift Amount',
|
|
`enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Is Account Enabled',
|
|
`is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is Admin',
|
|
`valid_email` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is Email Verified',
|
|
`enable_email_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Email Notifications',
|
|
`enable_telegram_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Telegram Notifications',
|
|
`enable_balance_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Balance Change Notifications',
|
|
`enable_login_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Login Notifications',
|
|
`enable_subscribe_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Subscription Notifications',
|
|
`enable_trade_notify` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Enable Trade Notifications',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
`deleted_at` datetime(3) DEFAULT NULL COMMENT 'Deletion Time',
|
|
`is_del` bigint unsigned DEFAULT NULL COMMENT '1: Normal 0: Deleted',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_referer` (`referer_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_auth_methods
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_auth_methods` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`auth_type` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Auth Type 1: apple 2: google 3: github 4: facebook 5: telegram 6: email 7: phone',
|
|
`auth_identifier` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Auth Identifier',
|
|
`verified` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is Verified',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
UNIQUE KEY `idx_auth_identifier` (`auth_identifier`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_balance_log
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_balance_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`amount` bigint NOT NULL COMMENT 'Amount',
|
|
`type` tinyint(1) NOT NULL COMMENT 'Type: 1: Recharge 2: Withdraw 3: Payment 4: Refund 5: Reward',
|
|
`order_id` bigint DEFAULT NULL COMMENT 'Order ID',
|
|
`balance` bigint NOT NULL COMMENT 'Balance',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_commission_log
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_commission_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`order_no` varchar(191) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Order No.',
|
|
`amount` bigint NOT NULL COMMENT 'Amount',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_device
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_device` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`subscribe_id` bigint DEFAULT NULL COMMENT 'Subscribe ID',
|
|
`ip` varchar(191) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Device Ip.',
|
|
`Identifier` varchar(191) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Device Identifier.',
|
|
`user_agent` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Device User Agent.',
|
|
`online` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Online',
|
|
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'EnableDeviceNumber',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_gift_amount_log
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_gift_amount_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`user_subscribe_id` bigint DEFAULT NULL COMMENT 'Deduction User Subscribe ID',
|
|
`order_no` varchar(191) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Order No.',
|
|
`type` tinyint(1) NOT NULL COMMENT 'Type: 1: Increase 2: Reduce',
|
|
`amount` bigint NOT NULL COMMENT 'Amount',
|
|
`balance` bigint NOT NULL COMMENT 'Balance',
|
|
`remark` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Remark',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_subscribe
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_subscribe` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`order_id` bigint NOT NULL COMMENT 'Order ID',
|
|
`subscribe_id` bigint NOT NULL COMMENT 'Subscription ID',
|
|
`start_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'Subscription Start Time',
|
|
`expire_time` datetime(3) DEFAULT NULL COMMENT 'Subscription Expire Time',
|
|
`traffic` bigint DEFAULT '0' COMMENT 'Traffic',
|
|
`download` bigint DEFAULT '0' COMMENT 'Download Traffic',
|
|
`upload` bigint DEFAULT '0' COMMENT 'Upload Traffic',
|
|
`token` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Token',
|
|
`uuid` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'UUID',
|
|
`status` tinyint(1) DEFAULT '0' COMMENT 'Subscription Status: 0: Pending 1: Active 2: Finished 3: Expired 4: Deducted',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
`finished_at` datetime(3) DEFAULT NULL COMMENT 'Finished At',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uni_user_subscribe_token` (`token`),
|
|
UNIQUE KEY `uni_user_subscribe_uuid` (`uuid`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_order_id` (`order_id`),
|
|
KEY `idx_subscribe_id` (`subscribe_id`),
|
|
KEY `idx_token` (`token`),
|
|
KEY `idx_uuid` (`uuid`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
CREATE TABLE IF NOT EXISTS `server_rule_group` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Rule Group Name',
|
|
`icon` text COLLATE utf8mb4_general_ci COMMENT 'Rule Group Icon',
|
|
`description` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Rule Group Description',
|
|
`enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Rule Group Enable',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `unique_name` (`name`) -- Add unique constraint to `name`
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_login_log
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_login_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`login_ip` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Login IP',
|
|
`user_agent` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'UserAgent',
|
|
`success` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Login Success',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_subscribe_log
|
|
-- ----------------------------
|
|
|
|
CREATE TABLE IF NOT EXISTS `user_subscribe_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NOT NULL COMMENT 'User ID',
|
|
`user_subscribe_id` bigint NOT NULL COMMENT 'User Subscribe ID',
|
|
`token` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Token',
|
|
`ip` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'IP',
|
|
`user_agent` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'UserAgent',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_user_subscribe_id` (`user_subscribe_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `message_log` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`type` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'email' COMMENT 'Message Type',
|
|
`platform` varchar(50) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'smtp' COMMENT 'Platform',
|
|
`to` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'To',
|
|
`subject` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Subject',
|
|
`content` text COLLATE utf8mb4_general_ci COMMENT 'Content',
|
|
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Status',
|
|
`created_at` datetime(3) DEFAULT NULL COMMENT 'Create Time',
|
|
`updated_at` datetime(3) DEFAULT NULL COMMENT 'Update Time',
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
|
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ----------------------------
|
|
-- Table structure for user_device_online_record
|
|
-- ----------------------------
|
|
CREATE TABLE IF NOT EXISTS `user_device_online_record` (
|
|
`id` bigint NOT NULL AUTO_INCREMENT,
|
|
`user_id` bigint NULL DEFAULT NULL COMMENT 'User ID',
|
|
`identifier` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Device Identifier',
|
|
`online_time` datetime(3) NULL DEFAULT NULL COMMENT 'Online Time',
|
|
`offline_time` datetime(3) NULL DEFAULT NULL COMMENT 'Offline Time',
|
|
`online_seconds` bigint NOT NULL DEFAULT '0' COMMENT 'Online Seconds ',
|
|
`duration_days` bigint NOT NULL DEFAULT '0' COMMENT 'Duration Days ',
|
|
`created_at` datetime(3) NULL DEFAULT NULL COMMENT 'Creation Time',
|
|
PRIMARY KEY (`id`) USING BTREE
|
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1; |