-- ============================================================
-- 初始化种子数据
-- ============================================================
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;
