-- ============================================
-- 创建测试账号
-- 创建时间: 2026-01-27
-- 说明: 创建5个不同角色的测试账号
-- ============================================

-- 1. 家长账号 - 饶妈妈
INSERT INTO `user` (
    `tenant_id`,
    `phone`,
    `password`,
    `real_name`,
    `nickname`,
    `gender`,
    `user_type`,
    `status`,
    `referral_code`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                          -- tenant_id
    '12300000000',                                             -- phone
    '$2a$10$N.zmdr9k7uOCQb376NoUnuTzanmHxPGKx8.0.PvZ8Mq0ibNbGXqDm', -- password: 123456 (BCrypt加密)
    '饶妈妈',                                                   -- real_name
    '饶妈妈',                                                   -- nickname
    2,                                                         -- gender: 2=女
    'PARENT',                                                  -- user_type
    1,                                                         -- status: 1=正常
    'PARENT001',                                               -- referral_code
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- 为家长创建一个学生
INSERT INTO `student` (
    `tenant_id`,
    `user_id`,
    `parent_id`,
    `student_name`,
    `gender`,
    `birth_date`,
    `grade`,
    `school`,
    `age`,
    `is_default`,
    `status`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                         -- tenant_id
    (SELECT id FROM `user` WHERE phone = '12300000000'),      -- user_id
    (SELECT id FROM `user` WHERE phone = '12300000000'),      -- parent_id
    '饶小宝',                                                  -- student_name
    1,                                                         -- gender: 1=男
    '2015-06-15',                                             -- birth_date
    '三年级',                                                  -- grade
    '实验小学',                                                -- school
    9,                                                         -- age
    1,                                                         -- is_default
    1,                                                         -- status
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- 2. 陪伴员账号 - 饶老师
INSERT INTO `user` (
    `tenant_id`,
    `phone`,
    `password`,
    `real_name`,
    `nickname`,
    `gender`,
    `user_type`,
    `status`,
    `referral_code`,
    `education_level`,
    `teaching_subjects`,
    `self_introduction`,
    `is_full_time`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                          -- tenant_id
    '12300000001',                                             -- phone
    '$2a$10$N.zmdr9k7uOCQb376NoUnuTzanmHxPGKx8.0.PvZ8Mq0ibNbGXqDm', -- password: 123456
    '饶老师',                                                   -- real_name
    '饶老师',                                                   -- nickname
    2,                                                         -- gender: 2=女
    'PROVIDER',                                                -- user_type
    1,                                                         -- status
    'PROVIDER001',                                             -- referral_code
    '本科',                                                     -- education_level
    '语文,数学,英语',                                           -- teaching_subjects
    '经验丰富的陪伴员，擅长小学全科辅导',                        -- self_introduction
    1,                                                         -- is_full_time
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- 3. 管理师账号 - 饶管理
INSERT INTO `user` (
    `tenant_id`,
    `phone`,
    `password`,
    `real_name`,
    `nickname`,
    `gender`,
    `user_type`,
    `status`,
    `referral_code`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                          -- tenant_id
    '12300000002',                                             -- phone
    '$2a$10$N.zmdr9k7uOCQb376NoUnuTzanmHxPGKx8.0.PvZ8Mq0ibNbGXqDm', -- password: 123456
    '饶管理',                                                   -- real_name
    '饶管理',                                                   -- nickname
    1,                                                         -- gender: 1=男
    'MANAGER',                                                 -- user_type
    1,                                                         -- status
    'MANAGER001',                                              -- referral_code
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- 4. 分销员账号 - 饶分销
INSERT INTO `user` (
    `tenant_id`,
    `phone`,
    `password`,
    `real_name`,
    `nickname`,
    `gender`,
    `user_type`,
    `status`,
    `referral_code`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                          -- tenant_id
    '12300000003',                                             -- phone
    '$2a$10$N.zmdr9k7uOCQb376NoUnuTzanmHxPGKx8.0.PvZ8Mq0ibNbGXqDm', -- password: 123456
    '饶分销',                                                   -- real_name
    '饶分销',                                                   -- nickname
    1,                                                         -- gender: 1=男
    'DISTRIBUTOR',                                             -- user_type
    1,                                                         -- status
    'DIST001',                                                 -- referral_code
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- 为分销员创建分销员信息记录（如果有distributor表）
-- INSERT INTO `distributor` (...) VALUES (...);

-- 5. 服务商账号 - 饶服务商
INSERT INTO `user` (
    `tenant_id`,
    `phone`,
    `password`,
    `real_name`,
    `nickname`,
    `gender`,
    `user_type`,
    `status`,
    `referral_code`,
    `create_time`,
    `update_time`,
    `deleted`
) VALUES (
    1,                                                          -- tenant_id
    '12300000004',                                             -- phone
    '$2a$10$N.zmdr9k7uOCQb376NoUnuTzanmHxPGKx8.0.PvZ8Mq0ibNbGXqDm', -- password: 123456
    '饶服务商',                                                 -- real_name
    '饶服务商',                                                 -- nickname
    1,                                                         -- gender: 1=男
    'SERVICE_PROVIDER',                                        -- user_type
    1,                                                         -- status
    'SERVICE001',                                              -- referral_code
    CURRENT_TIMESTAMP,                                         -- create_time
    CURRENT_TIMESTAMP,                                         -- update_time
    0                                                          -- deleted
);

-- ============================================
-- 验证创建结果
-- ============================================

SELECT 
    id,
    phone,
    real_name,
    nickname,
    user_type,
    status,
    referral_code,
    create_time
FROM `user`
WHERE phone IN (
    '12300000000',
    '12300000001', 
    '12300000002',
    '12300000003',
    '12300000004'
)
ORDER BY phone;

-- 验证学生创建
SELECT 
    s.id,
    s.student_name,
    s.grade,
    s.school,
    u.phone AS parent_phone,
    u.real_name AS parent_name
FROM `student` s
LEFT JOIN `user` u ON s.parent_id = u.id
WHERE u.phone = '12300000000';

-- ============================================
-- 使用说明
-- ============================================
-- 
-- 账号信息：
-- 1. 家长：12300000000 / 123456 (饶妈妈)
--    - 已创建学生：饶小宝
-- 
-- 2. 陪伴员：12300000001 / 123456 (饶老师)
--    - 教育背景：本科
--    - 教学科目：语文、数学、英语
-- 
-- 3. 管理师：12300000002 / 123456 (饶管理)
-- 
-- 4. 分销员：12300000003 / 123456 (饶分销)
-- 
-- 5. 服务商：12300000004 / 123456 (饶服务商)
-- 
-- 注意事项：
-- 1. 密码已使用BCrypt加密，明文密码为：123456
-- 2. 所有账号的tenant_id设置为1
-- 3. 所有账号状态为正常(status=1)
-- 4. 家长账号已关联一个学生
-- 5. 如需修改密码加密方式，请根据实际项目配置调整
-- 
-- ============================================
