Files
rent/database/seeds/001_init_data.sql
T
2026-06-01 09:36:52 +08:00

79 lines
4.8 KiB
SQL

-- ============================================================
-- 初始化种子数据
-- ============================================================
USE `rent_platform`;
-- ============================================================
-- 1. 系统总账户(必须首先创建,用于资金守恒验证)
-- ============================================================
-- 注意:初始余额为0,如果有历史订单数据,请执行相应脚本进行余额修复
-- account_name: SYSTEM_MAIN (系统主账户)
INSERT INTO `system_accounts` (`account_name`, `balance`, `total_income`, `total_refund`, `total_withdrawn`, `status`)
VALUES ('SYSTEM_MAIN', 0.00, 0.00, 0.00, 0.00, 'active')
ON DUPLICATE KEY UPDATE `account_name` = 'SYSTEM_MAIN';
-- ============================================================
-- 2. 平台账户(记录平台净收益)
-- ============================================================
-- 注意:初始余额为0,如果有历史订单数据,请执行 scripts/init-platform-account.sql 脚本进行余额修复
-- account_name: PLATFORM_MAIN (平台主账户)
INSERT INTO `platform_accounts` (`account_name`, `balance`, `frozen_balance`, `total_income`, `total_expense`, `status`)
VALUES ('PLATFORM_MAIN', 0.00, 0.00, 0.00, 0.00, 'active')
ON DUPLICATE KEY UPDATE `account_name` = 'PLATFORM_MAIN';
-- ============================================================
-- 2. 平台管理员账号
-- ============================================================
-- 密码: admin123
INSERT INTO `admins` (`username`, `password`, `name`, `phone`, `role`, `status`) VALUES
('admin', '$2b$10$CSNiniLMqNxguD4jkpOPYO5Exer2QyhwbGRwqLEKUJRmfI694WRd6', '超级管理员', '13800000000', 'super_admin', 'active'),
('operator', '$2b$10$CSNiniLMqNxguD4jkpOPYO5Exer2QyhwbGRwqLEKUJRmfI694WRd6', '运营人员', '13800000001', 'operator', 'active');
-- ============================================================
-- 3. 商家账号
-- ============================================================
-- 密码: seller123
INSERT INTO `sellers` (`phone`, `password`, `contact_name`, `email`, `status`) VALUES
('13900000001', '$2b$10$CSNiniLMqNxguD4jkpOPYO5Exer2QyhwbGRwqLEKUJRmfI694WRd6', '张经理', 'zhang@example.com', 'active'),
('13900000002', '$2b$10$CSNiniLMqNxguD4jkpOPYO5Exer2QyhwbGRwqLEKUJRmfI694WRd6', '李老板', 'li@example.com', 'active');
-- ============================================================
-- 4. 商家店铺信息
-- ============================================================
INSERT INTO `merchants` (`seller_id`, `shop_name`, `phone`, `city`, `address`, `business_license`, `status`, `rating`) VALUES
(1, '温馨民宿', '13900000001', '杭州', '西湖区文三路123号', 'https://example.com/license1.jpg', 'approved', 4.8),
(2, '阳光公寓', '13900000002', '上海', '浦东新区陆家嘴456号', 'https://example.com/license2.jpg', 'approved', 4.5);
-- ============================================================
-- 5. 会员等级
-- ============================================================
INSERT INTO `member_levels` (`name`, `level`, `min_points`, `discount`, `benefits`) VALUES
('普通会员', 1, 0, 1.00, '["基础服务"]'),
('银牌会员', 2, 1000, 0.98, '["基础服务", "专属客服"]'),
('金牌会员', 3, 5000, 0.95, '["基础服务", "专属客服", "免费升房"]'),
('钻石会员', 4, 20000, 0.90, '["基础服务", "专属客服", "免费升房", "延迟退房", "房型升级"]');
-- ============================================================
-- 6. 平台配置
-- ============================================================
INSERT INTO `platform_configs` (`config_key`, `config_value`, `description`) VALUES
('commission_rate', '0.10', '默认平台佣金比例'),
('service_fee_rate', '0.05', '软件服务费比例'),
('min_deposit', '5000', '最低保证金金额'),
('auto_cancel_minutes', '30', '未支付订单自动取消时间(分钟)'),
('auto_complete_hours', '24', '入住后自动完成订单时间(小时)'),
('sms_enabled', 'true', '是否启用短信通知'),
('max_images_per_room', '20', '每个房源最大图片数'),
('max_images_per_review', '9', '每条评价最大图片数'),
('merchant_min_withdraw_amount', '100', '商家提现最低金额(元)'),
('platform_min_withdraw_amount', '10', '平台提现最低金额(元)');
-- ============================================================
-- 7. 营销活动 - 邀请返现活动
-- ============================================================
INSERT INTO `mkt_activities` (`name`, `type`, `enabled`, `config`, `start_time`, `end_time`) VALUES
('邀请好友返现活动', 'invite_cashback', 1,
'{"firstOrderRate": 0.05, "secondOrderRate": 0.005, "minCashback": 0.01, "maxCashback": 1000, "withdrawThreshold": 10, "maxOrderIndex": 2}',
NOW(), NULL)
ON DUPLICATE KEY UPDATE `enabled` = 1;