407 lines
18 KiB
SQL
407 lines
18 KiB
SQL
-- PK10 极速赛车平台 完整数据库初始化
|
|
-- 兼容 MySQL 5.7+
|
|
-- 包含所有基础表 + PK10扩展表,一次执行即可
|
|
|
|
-- ========== 基础表 ==========
|
|
|
|
CREATE TABLE IF NOT EXISTS `users` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`username` varchar(50) NOT NULL,
|
|
`password` varchar(255) NOT NULL,
|
|
`email` varchar(100) NOT NULL DEFAULT '',
|
|
`avatar` varchar(128) DEFAULT NULL,
|
|
`balance` decimal(15,2) NOT NULL DEFAULT '0.00',
|
|
`status` int(11) NOT NULL DEFAULT '0',
|
|
`role` varchar(20) NOT NULL DEFAULT 'user',
|
|
`email_verified` tinyint(1) DEFAULT 0 COMMENT '邮箱是否验证',
|
|
`email_token` varchar(64) DEFAULT NULL,
|
|
`email_token_expire` datetime DEFAULT NULL,
|
|
`usdt_address` varchar(64) DEFAULT NULL COMMENT 'USDT TRC20地址',
|
|
`usdt_chain` varchar(10) DEFAULT 'TRC20',
|
|
`is_virtual` tinyint(1) DEFAULT 0 COMMENT '虚拟账户标记',
|
|
`agent_id` int(11) DEFAULT NULL COMMENT '所属代理ID',
|
|
`lang` varchar(5) DEFAULT 'en' COMMENT '语言偏好',
|
|
`invite_code` varchar(16) DEFAULT NULL COMMENT '邀请码',
|
|
`rebate_rate` decimal(5,2) DEFAULT 0 COMMENT '反水比例%',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `username` (`username`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `games` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '游戏ID',
|
|
`name` varchar(255) NOT NULL COMMENT '游戏名称',
|
|
`code` varchar(100) NOT NULL COMMENT '游戏标识',
|
|
`description` text,
|
|
`stream_url` text COMMENT '直播流地址',
|
|
`type` varchar(50) DEFAULT 'dice' COMMENT '游戏类型',
|
|
`tags` text,
|
|
`image` varchar(255) DEFAULT NULL,
|
|
`thumbnail` varchar(255) DEFAULT NULL,
|
|
`sort_order` int(11) NOT NULL DEFAULT '0',
|
|
`status` tinyint(1) NOT NULL DEFAULT '1',
|
|
`featured` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_code` (`code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `game_odds` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`game_id` int(11) NOT NULL,
|
|
`type` varchar(50) NOT NULL,
|
|
`target` varchar(50) NOT NULL DEFAULT 'all',
|
|
`odds` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `unique_game_bet` (`game_id`,`type`,`target`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `periods` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`period_number` varchar(50) NOT NULL,
|
|
`status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT 'pending/locked/drawn/settled',
|
|
`game_id` int(11) DEFAULT NULL,
|
|
`dice1` tinyint(1) DEFAULT NULL,
|
|
`dice2` tinyint(1) DEFAULT NULL,
|
|
`dice3` tinyint(1) DEFAULT NULL,
|
|
`total` tinyint(2) DEFAULT NULL,
|
|
`result` varchar(200) DEFAULT NULL,
|
|
`stream_url` text,
|
|
`start_time` datetime DEFAULT NULL,
|
|
`end_time` datetime DEFAULT NULL,
|
|
`draw_time` datetime DEFAULT NULL,
|
|
`created_by` int(11) DEFAULT NULL,
|
|
`approved_by` int(11) DEFAULT NULL,
|
|
`auto_generated` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_period_number` (`period_number`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_game_id` (`game_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `bets` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(11) NOT NULL,
|
|
`game_id` int(11) DEFAULT NULL,
|
|
`period_id` int(11) NOT NULL,
|
|
`period_number` varchar(50) NOT NULL,
|
|
`bet_type` varchar(20) NOT NULL,
|
|
`bet_value` varchar(50) DEFAULT NULL,
|
|
`amount` decimal(15,2) NOT NULL DEFAULT '0.00',
|
|
`odds` decimal(10,2) NOT NULL DEFAULT '0.00',
|
|
`status` varchar(20) NOT NULL DEFAULT 'pending',
|
|
`win_amount` decimal(15,2) DEFAULT '0.00',
|
|
`commission` decimal(15,2) DEFAULT '0.00',
|
|
`is_virtual` tinyint(1) DEFAULT 0 COMMENT '虚拟账户投注',
|
|
`agent_id` int(11) DEFAULT NULL COMMENT '所属代理',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`settled_at` datetime DEFAULT NULL,
|
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_period_id` (`period_id`),
|
|
KEY `idx_status` (`status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `transactions` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`user_id` int(11) NOT NULL,
|
|
`type` varchar(20) NOT NULL,
|
|
`amount` decimal(15,2) NOT NULL DEFAULT '0.00',
|
|
`balance_before` decimal(15,2) NOT NULL DEFAULT '0.00',
|
|
`balance_after` decimal(15,2) NOT NULL DEFAULT '0.00',
|
|
`related_id` int(11) DEFAULT NULL,
|
|
`description` text,
|
|
`is_virtual` tinyint(1) DEFAULT 0 COMMENT '虚拟账户交易',
|
|
`operator_id` int(11) DEFAULT NULL COMMENT '操作员工ID',
|
|
`operator_type` varchar(16) DEFAULT NULL COMMENT 'admin/employee/agent',
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_user_id` (`user_id`),
|
|
KEY `idx_type` (`type`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `images` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(255) NOT NULL,
|
|
`newname` varchar(255) NOT NULL,
|
|
`url` text NOT NULL,
|
|
`size` int(11) NOT NULL,
|
|
`width` int(11) NOT NULL,
|
|
`height` int(11) NOT NULL,
|
|
`upload_time` int(11) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `plugins` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`name` varchar(100) NOT NULL,
|
|
`title` varchar(255) NOT NULL,
|
|
`description` text,
|
|
`version` varchar(20) DEFAULT NULL,
|
|
`author` varchar(100) DEFAULT NULL,
|
|
`url` varchar(128) NOT NULL DEFAULT '',
|
|
`status` tinyint(1) NOT NULL DEFAULT '0',
|
|
`created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `name` (`name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `system_settings` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`setting_key` varchar(100) NOT NULL,
|
|
`setting_value` text,
|
|
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_setting_key` (`setting_key`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- ========== PK10 扩展表 ==========
|
|
|
|
CREATE TABLE IF NOT EXISTS `agents` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`user_id` int(11) NOT NULL,
|
|
`parent_id` int(11) DEFAULT NULL,
|
|
`level` tinyint(4) DEFAULT 1 COMMENT '1=总代 2=代理',
|
|
`agent_code` varchar(16) UNIQUE NOT NULL,
|
|
`commission_rate` decimal(5,2) DEFAULT 0,
|
|
`rebate_rate` decimal(5,2) DEFAULT 0,
|
|
`status` tinyint(4) DEFAULT 1,
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
KEY `idx_parent` (`parent_id`),
|
|
KEY `idx_user` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `agent_odds` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`agent_id` int(11) NOT NULL,
|
|
`game_id` int(11) NOT NULL,
|
|
`bet_type` varchar(32) NOT NULL,
|
|
`bet_target` varchar(32) DEFAULT 'all',
|
|
`odds` decimal(10,4) NOT NULL,
|
|
`updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
UNIQUE KEY `uk_agent_game_type` (`agent_id`,`game_id`,`bet_type`,`bet_target`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `employees` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`emp_code` varchar(16) UNIQUE NOT NULL,
|
|
`username` varchar(64) UNIQUE NOT NULL,
|
|
`password` varchar(255) NOT NULL,
|
|
`real_name` varchar(64) DEFAULT NULL,
|
|
`shift` enum('day','night','all') DEFAULT 'all',
|
|
`permissions` json DEFAULT NULL,
|
|
`status` tinyint(4) DEFAULT 1,
|
|
`last_login` datetime DEFAULT NULL,
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `employee_logs` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`emp_id` int(11) NOT NULL,
|
|
`action` varchar(32) NOT NULL,
|
|
`target_user_id` int(11) NOT NULL,
|
|
`amount` decimal(14,2) NOT NULL,
|
|
`remark` varchar(255) DEFAULT NULL,
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
KEY `idx_emp` (`emp_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `pk10_results` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`period_id` int(11) NOT NULL,
|
|
`rank_1` tinyint(4) NOT NULL,
|
|
`rank_2` tinyint(4) NOT NULL,
|
|
`rank_3` tinyint(4) NOT NULL,
|
|
`rank_4` tinyint(4) NOT NULL,
|
|
`rank_5` tinyint(4) NOT NULL,
|
|
`rank_6` tinyint(4) NOT NULL,
|
|
`rank_7` tinyint(4) NOT NULL,
|
|
`rank_8` tinyint(4) NOT NULL,
|
|
`rank_9` tinyint(4) NOT NULL,
|
|
`rank_10` tinyint(4) NOT NULL,
|
|
`champion_sum` tinyint(4) DEFAULT NULL,
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
UNIQUE KEY `uk_period` (`period_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `water_control` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`game_id` int(11) NOT NULL,
|
|
`bet_type` varchar(32) NOT NULL,
|
|
`win_rate_pct` decimal(5,2) DEFAULT 50.00,
|
|
`enabled` tinyint(4) DEFAULT 0,
|
|
`updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
UNIQUE KEY `uk_game_type` (`game_id`,`bet_type`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `bet_limits` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`game_id` int(11) NOT NULL,
|
|
`bet_type` varchar(32) NOT NULL,
|
|
`min_amount` decimal(14,2) DEFAULT 10.00,
|
|
`max_amount` decimal(14,2) DEFAULT 100000.00,
|
|
`max_per_period` decimal(14,2) DEFAULT 500000.00,
|
|
UNIQUE KEY `uk_game_type` (`game_id`,`bet_type`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `i18n` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`lang` varchar(5) NOT NULL,
|
|
`key_name` varchar(128) NOT NULL,
|
|
`value` text NOT NULL,
|
|
UNIQUE KEY `uk_lang_key` (`lang`,`key_name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `email_verifications` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`email` varchar(128) NOT NULL,
|
|
`code` varchar(8) NOT NULL,
|
|
`expires_at` datetime NOT NULL,
|
|
`used` tinyint(4) DEFAULT 0,
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
KEY `idx_email` (`email`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS `agent_commissions` (
|
|
`id` int(11) AUTO_INCREMENT PRIMARY KEY,
|
|
`agent_id` int(11) NOT NULL,
|
|
`from_user_id` int(11) NOT NULL,
|
|
`period_id` int(11) DEFAULT NULL,
|
|
`bet_amount` decimal(14,2) NOT NULL,
|
|
`commission` decimal(14,2) NOT NULL,
|
|
`type` enum('bet','rebate') DEFAULT 'bet',
|
|
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
KEY `idx_agent` (`agent_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- ========== 初始化PK10游戏 ==========
|
|
INSERT INTO `games` (`name`, `code`, `type`, `status`, `stream_url`, `thumbnail`) VALUES
|
|
('PK10 Speed Racing', 'pk10', 'pk10', 1, '', '/Static/pk10/pk10-thumb.jpg')
|
|
ON DUPLICATE KEY UPDATE `name`=VALUES(`name`);
|
|
|
|
-- ========== PK10默认赔率 ==========
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'rank', n.target, 9.80
|
|
FROM `games` g, (
|
|
SELECT 'rank1_1' AS target UNION SELECT 'rank1_2' UNION SELECT 'rank1_3' UNION SELECT 'rank1_4' UNION SELECT 'rank1_5'
|
|
UNION SELECT 'rank1_6' UNION SELECT 'rank1_7' UNION SELECT 'rank1_8' UNION SELECT 'rank1_9' UNION SELECT 'rank1_10'
|
|
UNION SELECT 'rank2_1' UNION SELECT 'rank2_2' UNION SELECT 'rank2_3' UNION SELECT 'rank2_4' UNION SELECT 'rank2_5'
|
|
UNION SELECT 'rank2_6' UNION SELECT 'rank2_7' UNION SELECT 'rank2_8' UNION SELECT 'rank2_9' UNION SELECT 'rank2_10'
|
|
UNION SELECT 'rank3_1' UNION SELECT 'rank3_2' UNION SELECT 'rank3_3' UNION SELECT 'rank3_4' UNION SELECT 'rank3_5'
|
|
UNION SELECT 'rank3_6' UNION SELECT 'rank3_7' UNION SELECT 'rank3_8' UNION SELECT 'rank3_9' UNION SELECT 'rank3_10'
|
|
UNION SELECT 'rank4_1' UNION SELECT 'rank4_2' UNION SELECT 'rank4_3' UNION SELECT 'rank4_4' UNION SELECT 'rank4_5'
|
|
UNION SELECT 'rank4_6' UNION SELECT 'rank4_7' UNION SELECT 'rank4_8' UNION SELECT 'rank4_9' UNION SELECT 'rank4_10'
|
|
UNION SELECT 'rank5_1' UNION SELECT 'rank5_2' UNION SELECT 'rank5_3' UNION SELECT 'rank5_4' UNION SELECT 'rank5_5'
|
|
UNION SELECT 'rank5_6' UNION SELECT 'rank5_7' UNION SELECT 'rank5_8' UNION SELECT 'rank5_9' UNION SELECT 'rank5_10'
|
|
UNION SELECT 'rank6_1' UNION SELECT 'rank6_2' UNION SELECT 'rank6_3' UNION SELECT 'rank6_4' UNION SELECT 'rank6_5'
|
|
UNION SELECT 'rank6_6' UNION SELECT 'rank6_7' UNION SELECT 'rank6_8' UNION SELECT 'rank6_9' UNION SELECT 'rank6_10'
|
|
UNION SELECT 'rank7_1' UNION SELECT 'rank7_2' UNION SELECT 'rank7_3' UNION SELECT 'rank7_4' UNION SELECT 'rank7_5'
|
|
UNION SELECT 'rank7_6' UNION SELECT 'rank7_7' UNION SELECT 'rank7_8' UNION SELECT 'rank7_9' UNION SELECT 'rank7_10'
|
|
UNION SELECT 'rank8_1' UNION SELECT 'rank8_2' UNION SELECT 'rank8_3' UNION SELECT 'rank8_4' UNION SELECT 'rank8_5'
|
|
UNION SELECT 'rank8_6' UNION SELECT 'rank8_7' UNION SELECT 'rank8_8' UNION SELECT 'rank8_9' UNION SELECT 'rank8_10'
|
|
UNION SELECT 'rank9_1' UNION SELECT 'rank9_2' UNION SELECT 'rank9_3' UNION SELECT 'rank9_4' UNION SELECT 'rank9_5'
|
|
UNION SELECT 'rank9_6' UNION SELECT 'rank9_7' UNION SELECT 'rank9_8' UNION SELECT 'rank9_9' UNION SELECT 'rank9_10'
|
|
UNION SELECT 'rank10_1' UNION SELECT 'rank10_2' UNION SELECT 'rank10_3' UNION SELECT 'rank10_4' UNION SELECT 'rank10_5'
|
|
UNION SELECT 'rank10_6' UNION SELECT 'rank10_7' UNION SELECT 'rank10_8' UNION SELECT 'rank10_9' UNION SELECT 'rank10_10'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'bs', n.target, 1.95
|
|
FROM `games` g, (
|
|
SELECT 'rank1_big' AS target UNION SELECT 'rank1_small'
|
|
UNION SELECT 'rank2_big' UNION SELECT 'rank2_small'
|
|
UNION SELECT 'rank3_big' UNION SELECT 'rank3_small'
|
|
UNION SELECT 'rank4_big' UNION SELECT 'rank4_small'
|
|
UNION SELECT 'rank5_big' UNION SELECT 'rank5_small'
|
|
UNION SELECT 'rank6_big' UNION SELECT 'rank6_small'
|
|
UNION SELECT 'rank7_big' UNION SELECT 'rank7_small'
|
|
UNION SELECT 'rank8_big' UNION SELECT 'rank8_small'
|
|
UNION SELECT 'rank9_big' UNION SELECT 'rank9_small'
|
|
UNION SELECT 'rank10_big' UNION SELECT 'rank10_small'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'oe', n.target, 1.95
|
|
FROM `games` g, (
|
|
SELECT 'rank1_odd' AS target UNION SELECT 'rank1_even'
|
|
UNION SELECT 'rank2_odd' UNION SELECT 'rank2_even'
|
|
UNION SELECT 'rank3_odd' UNION SELECT 'rank3_even'
|
|
UNION SELECT 'rank4_odd' UNION SELECT 'rank4_even'
|
|
UNION SELECT 'rank5_odd' UNION SELECT 'rank5_even'
|
|
UNION SELECT 'rank6_odd' UNION SELECT 'rank6_even'
|
|
UNION SELECT 'rank7_odd' UNION SELECT 'rank7_even'
|
|
UNION SELECT 'rank8_odd' UNION SELECT 'rank8_even'
|
|
UNION SELECT 'rank9_odd' UNION SELECT 'rank9_even'
|
|
UNION SELECT 'rank10_odd' UNION SELECT 'rank10_even'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'dt', n.target, 1.95
|
|
FROM `games` g, (
|
|
SELECT 'dt1_dragon' AS target UNION SELECT 'dt1_tiger'
|
|
UNION SELECT 'dt2_dragon' UNION SELECT 'dt2_tiger'
|
|
UNION SELECT 'dt3_dragon' UNION SELECT 'dt3_tiger'
|
|
UNION SELECT 'dt4_dragon' UNION SELECT 'dt4_tiger'
|
|
UNION SELECT 'dt5_dragon' UNION SELECT 'dt5_tiger'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'sum', n.target, n.odds
|
|
FROM `games` g, (
|
|
SELECT 'sum_3' AS target, 140.00 AS odds
|
|
UNION SELECT 'sum_4', 70.00 UNION SELECT 'sum_5', 35.00 UNION SELECT 'sum_6', 23.00
|
|
UNION SELECT 'sum_7', 17.50 UNION SELECT 'sum_8', 14.00 UNION SELECT 'sum_9', 11.60
|
|
UNION SELECT 'sum_10', 10.00 UNION SELECT 'sum_11', 8.80
|
|
UNION SELECT 'sum_12', 8.80 UNION SELECT 'sum_13', 10.00
|
|
UNION SELECT 'sum_14', 11.60 UNION SELECT 'sum_15', 14.00 UNION SELECT 'sum_16', 17.50
|
|
UNION SELECT 'sum_17', 23.00 UNION SELECT 'sum_18', 35.00 UNION SELECT 'sum_19', 70.00
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
INSERT INTO `game_odds` (`game_id`, `type`, `target`, `odds`)
|
|
SELECT g.id, 'sum_bs', n.target, 1.95
|
|
FROM `games` g, (
|
|
SELECT 'sum_big' AS target UNION SELECT 'sum_small'
|
|
UNION SELECT 'sum_odd' UNION SELECT 'sum_even'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `odds`=VALUES(`odds`);
|
|
|
|
-- ========== 默认放水配置 ==========
|
|
INSERT INTO `water_control` (`game_id`, `bet_type`, `win_rate_pct`, `enabled`)
|
|
SELECT g.id, n.bet_type, 48.00, 0
|
|
FROM `games` g, (
|
|
SELECT 'bs' AS bet_type UNION SELECT 'oe' UNION SELECT 'dt' UNION SELECT 'sum_bs'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `win_rate_pct`=VALUES(`win_rate_pct`);
|
|
|
|
-- ========== 默认投注限额 ==========
|
|
INSERT INTO `bet_limits` (`game_id`, `bet_type`, `min_amount`, `max_amount`, `max_per_period`)
|
|
SELECT g.id, n.bet_type, 10.00, 100000.00, 500000.00
|
|
FROM `games` g, (
|
|
SELECT 'rank' AS bet_type UNION SELECT 'bs' UNION SELECT 'oe'
|
|
UNION SELECT 'dt' UNION SELECT 'sum' UNION SELECT 'sum_bs'
|
|
) n WHERE g.code='pk10'
|
|
ON DUPLICATE KEY UPDATE `min_amount`=VALUES(`min_amount`);
|
|
|
|
-- ========== 默认系统设置 ==========
|
|
INSERT INTO `system_settings` (`setting_key`, `setting_value`) VALUES
|
|
('site_title', 'PK10 Speed Racing'),
|
|
('site_description', 'PK10 Speed Racing - Online Betting Platform'),
|
|
('site_keywords', 'pk10, speed racing, betting'),
|
|
('site_logo', '/Static/images/logo.png'),
|
|
('site_favicon', '/Static/css/favicon.ico'),
|
|
('site_copyright', '© 2025 PK10 Racing. All rights reserved.')
|
|
ON DUPLICATE KEY UPDATE `setting_value`=VALUES(`setting_value`);
|