-- 智跑平台测试数据 (PostgreSQL格式)
-- 生成日期: 2025-06-16
-- 注意: 此文件包含测试数据，仅用于开发和测试环境

-- ===============================
-- 第一段: 基础数据 (语言、地区、学校)
-- ===============================

-- 1. 语言数据
INSERT INTO public.ak_languages (id, code, name, native_name, is_active, is_default, created_at) VALUES
('00000000-0000-0000-0000-000000000001', 'zh-CN', 'Chinese (Simplified)', '简体中文', true, true, now()),
('00000000-0000-0000-0000-000000000002', 'en-US', 'English (US)', 'English (US)', true, false, now());

-- 2. 地区数据 (省-市-区县-街道 四级结构)
-- 省级
INSERT INTO public.ak_regions (id, name, parent_id, level, created_at) VALUES
('11111111-1111-1111-1111-111111111111', '北京市', NULL, 1, now()),
('22222222-2222-2222-2222-222222222222', '上海市', NULL, 1, now()),
('33333333-3333-3333-3333-333333333333', '广东省', NULL, 1, now()),
('44444444-4444-4444-4444-444444444444', '浙江省', NULL, 1, now());

-- 市级
INSERT INTO public.ak_regions (id, name, parent_id, level, created_at) VALUES
('11111111-1111-1111-1111-111111111112', '北京市', '11111111-1111-1111-1111-111111111111', 2, now()),
('22222222-2222-2222-2222-222222222223', '上海市', '22222222-2222-2222-2222-222222222222', 2, now()),
('33333333-3333-3333-3333-333333333334', '广州市', '33333333-3333-3333-3333-333333333333', 2, now()),
('33333333-3333-3333-3333-333333333335', '深圳市', '33333333-3333-3333-3333-333333333333', 2, now()),
('44444444-4444-4444-4444-444444444445', '杭州市', '44444444-4444-4444-4444-444444444444', 2, now());

-- 区县级
INSERT INTO public.ak_regions (id, name, parent_id, level, created_at) VALUES
('11111111-1111-1111-1111-111111111121', '海淀区', '11111111-1111-1111-1111-111111111112', 3, now()),
('11111111-1111-1111-1111-111111111122', '朝阳区', '11111111-1111-1111-1111-111111111112', 3, now()),
('22222222-2222-2222-2222-222222222231', '浦东新区', '22222222-2222-2222-2222-222222222223', 3, now()),
('22222222-2222-2222-2222-222222222232', '黄浦区', '22222222-2222-2222-2222-222222222223', 3, now()),
('33333333-3333-3333-3333-333333333341', '天河区', '33333333-3333-3333-3333-333333333334', 3, now()),
('33333333-3333-3333-3333-333333333351', '南山区', '33333333-3333-3333-3333-333333333335', 3, now()),
('44444444-4444-4444-4444-444444444451', '西湖区', '44444444-4444-4444-4444-444444444445', 3, now());

-- 街道级
INSERT INTO public.ak_regions (id, name, parent_id, level, created_at) VALUES
('11111111-1111-1111-1111-111111111211', '中关村街道', '11111111-1111-1111-1111-111111111121', 4, now()),
('11111111-1111-1111-1111-111111111212', '清华园街道', '11111111-1111-1111-1111-111111111121', 4, now()),
('11111111-1111-1111-1111-111111111221', '三里屯街道', '11111111-1111-1111-1111-111111111122', 4, now()),
('22222222-2222-2222-2222-222222222311', '陆家嘴街道', '22222222-2222-2222-2222-222222222231', 4, now()),
('22222222-2222-2222-2222-222222222321', '外滩街道', '22222222-2222-2222-2222-222222222232', 4, now()),
('33333333-3333-3333-3333-333333333411', '天河北街道', '33333333-3333-3333-3333-333333333341', 4, now()),
('33333333-3333-3333-3333-333333333511', '科技园街道', '33333333-3333-3333-3333-333333333351', 4, now()),
('44444444-4444-4444-4444-444444444511', '文三街道', '44444444-4444-4444-4444-444444444451', 4, now());

-- 3. 学校数据
INSERT INTO public.ak_schools (id, name, region_id, type, created_at) VALUES
-- 北京学校
('11111111-2222-1111-1111-111111111111', '北京市第一实验中学', '11111111-1111-1111-1111-111111111121', '中学', now()),
('11111111-2222-1111-1111-111111111112', '清华附属中学', '11111111-1111-1111-1111-111111111121', '中学', now()),
('11111111-2222-1111-1111-111111111113', '朝阳实验小学', '11111111-1111-1111-1111-111111111122', '小学', now()),
-- 上海学校
('22222222-2222-1111-1111-111111111111', '上海市实验学校', '22222222-2222-2222-2222-222222222231', '九年一贯制', now()),
('22222222-2222-1111-1111-111111111112', '黄浦区第一中学', '22222222-2222-2222-2222-222222222232', '中学', now()),
-- 广州学校
('33333333-2222-1111-1111-111111111111', '广州市第一中学', '33333333-3333-3333-3333-333333333341', '中学', now()),
('33333333-2222-1111-1111-111111111112', '天河区实验小学', '33333333-3333-3333-3333-333333333341', '小学', now()),
-- 深圳学校
('33333333-2222-1111-1111-111111111113', '深圳实验学校', '33333333-3333-3333-3333-333333333351', '九年一贯制', now()),
('33333333-2222-1111-1111-111111111114', '南山外国语学校', '33333333-3333-3333-3333-333333333351', '中学', now()),
-- 杭州学校
('44444444-2222-1111-1111-111111111111', '杭州市学军中学', '44444444-4444-4444-4444-444444444451', '中学', now());

-- 4. 年级数据
INSERT INTO public.ak_grades (id, school_id, name, created_at) VALUES
-- 北京市第一实验中学年级
('11111111-3333-1111-1111-111111111111', '11111111-2222-1111-1111-111111111111', '高一', now()),
('11111111-3333-1111-1111-111111111112', '11111111-2222-1111-1111-111111111111', '高二', now()),
('11111111-3333-1111-1111-111111111113', '11111111-2222-1111-1111-111111111111', '高三', now()),
-- 清华附属中学年级
('11111111-3333-1111-1111-111111111114', '11111111-2222-1111-1111-111111111112', '初一', now()),
('11111111-3333-1111-1111-111111111115', '11111111-2222-1111-1111-111111111112', '初二', now()),
('11111111-3333-1111-1111-111111111116', '11111111-2222-1111-1111-111111111112', '初三', now()),
-- 朝阳实验小学年级
('11111111-3333-1111-1111-111111111117', '11111111-2222-1111-1111-111111111113', '三年级', now()),
('11111111-3333-1111-1111-111111111118', '11111111-2222-1111-1111-111111111113', '四年级', now()),
-- 上海市实验学校年级
('22222222-3333-1111-1111-111111111111', '22222222-2222-1111-1111-111111111111', '七年级', now()),
('22222222-3333-1111-1111-111111111112', '22222222-2222-1111-1111-111111111111', '八年级', now()),
('22222222-3333-1111-1111-111111111113', '22222222-2222-1111-1111-111111111111', '九年级', now()),
-- 广州市第一中学年级
('33333333-3333-1111-1111-111111111111', '33333333-2222-1111-1111-111111111111', '高一', now()),
('33333333-3333-1111-1111-111111111112', '33333333-2222-1111-1111-111111111111', '高二', now()),
-- 深圳实验学校年级
('33333333-3333-1111-1111-111111111113', '33333333-2222-1111-1111-111111111113', '六年级', now()),
('33333333-3333-1111-1111-111111111114', '33333333-2222-1111-1111-111111111113', '七年级', now());

-- 5. 班级数据
INSERT INTO public.ak_classes (id, grade_id, name, created_at) VALUES
-- 北京市第一实验中学班级
('11111111-4444-1111-1111-111111111111', '11111111-3333-1111-1111-111111111111', '高一(1)班', now()),
('11111111-4444-1111-1111-111111111112', '11111111-3333-1111-1111-111111111111', '高一(2)班', now()),
('11111111-4444-1111-1111-111111111113', '11111111-3333-1111-1111-111111111112', '高二(1)班', now()),
-- 清华附属中学班级
('11111111-4444-1111-1111-111111111114', '11111111-3333-1111-1111-111111111114', '初一(1)班', now()),
('11111111-4444-1111-1111-111111111115', '11111111-3333-1111-1111-111111111114', '初一(2)班', now()),
-- 朝阳实验小学班级
('11111111-4444-1111-1111-111111111116', '11111111-3333-1111-1111-111111111117', '三年级(1)班', now()),
-- 上海市实验学校班级
('22222222-4444-1111-1111-111111111111', '22222222-3333-1111-1111-111111111111', '七年级(1)班', now()),
('22222222-4444-1111-1111-111111111112', '22222222-3333-1111-1111-111111111111', '七年级(2)班', now()),
('22222222-4444-1111-1111-111111111113', '22222222-3333-1111-1111-111111111112', '八年级(1)班', now()),
-- 广州市第一中学班级
('33333333-4444-1111-1111-111111111111', '33333333-3333-1111-1111-111111111111', '高一(1)班', now()),
('33333333-4444-1111-1111-111111111112', '33333333-3333-1111-1111-111111111111', '高一(2)班', now()),
-- 深圳实验学校班级
('33333333-4444-1111-1111-111111111113', '33333333-3333-1111-1111-111111111113', '六年级(1)班', now()),
('33333333-4444-1111-1111-111111111114', '33333333-3333-1111-1111-111111111114', '七年级(1)班', now());

-- ===============================
-- 第二段: 用户数据 (学生、教师、管理员)
-- ===============================

-- 6. 用户数据
INSERT INTO public.ak_users (
    id, username, email, password_hash, gender, birthday, height_cm, weight_kg, 
    region_id, school_id, grade_id, class_id, role, preferred_language, created_at
) VALUES
-- 学生用户 (使用真实用户ID)
('7bf7378e-a027-473e-97ac-3460ed3f170a', 'student_bj_01', 'student_bj_01@example.com', '$2b$12$hashed_password_example', '男', '2008-05-10', 175, 65, 
 '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111111', '11111111-3333-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', 'student', '00000000-0000-0000-0000-000000000001', now()),
('10000001-0000-0000-0000-000000000002', 'student_bj_02', 'student_bj_02@example.com', '$2b$12$hashed_password_example', '女', '2008-03-15', 165, 52, 
 '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111111', '11111111-3333-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', 'student', '00000000-0000-0000-0000-000000000001', now()),
('10000001-0000-0000-0000-000000000003', 'student_bj_03', 'student_bj_03@example.com', '$2b$12$hashed_password_example', '男', '2008-07-22', 178, 68, 
 '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111111', '11111111-3333-1111-1111-111111111111', '11111111-4444-1111-1111-111111111112', 'student', '00000000-0000-0000-0000-000000000001', now()),
-- 上海学生
('20000001-0000-0000-0000-000000000001', 'student_sh_01', 'student_sh_01@example.com', '$2b$12$hashed_password_example', '女', '2012-04-05', 155, 45, 
 '22222222-2222-2222-2222-222222222231', '22222222-2222-1111-1111-111111111111', '22222222-3333-1111-1111-111111111111', '22222222-4444-1111-1111-111111111111', 'student', '00000000-0000-0000-0000-000000000001', now()),
('20000001-0000-0000-0000-000000000002', 'student_sh_02', 'student_sh_02@example.com', '$2b$12$hashed_password_example', '男', '2012-09-18', 158, 48, 
 '22222222-2222-2222-2222-222222222231', '22222222-2222-1111-1111-111111111111', '22222222-3333-1111-1111-111111111111', '22222222-4444-1111-1111-111111111112', 'student', '00000000-0000-0000-0000-000000000001', now()),
-- 广州学生
('30000001-0000-0000-0000-000000000001', 'student_gz_01', 'student_gz_01@example.com', '$2b$12$hashed_password_example', '男', '2007-12-05', 180, 70, 
 '33333333-3333-3333-3333-333333333341', '33333333-2222-1111-1111-111111111111', '33333333-3333-1111-1111-111111111111', '33333333-4444-1111-1111-111111111111', 'student', '00000000-0000-0000-0000-000000000001', now()),
-- 深圳学生
('30000001-0000-0000-0000-000000000002', 'student_sz_01', 'student_sz_01@example.com', '$2b$12$hashed_password_example', '女', '2013-01-22', 150, 42, 
 '33333333-3333-3333-3333-333333333351', '33333333-2222-1111-1111-111111111113', '33333333-3333-1111-1111-111111111113', '33333333-4444-1111-1111-111111111113', 'student', '00000000-0000-0000-0000-000000000001', now());

-- 教师用户
INSERT INTO public.ak_users (
    id, username, email, password_hash, gender, birthday, 
    region_id, school_id, role, preferred_language, created_at
) VALUES
-- 北京教师 (使用真实用户ID)
('eed3824b-bba1-4309-8048-19d17367c084', 'teacher_bj_01', 'teacher_bj_01@example.com', '$2b$12$hashed_password_example', '男', '1985-06-12', 
 '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111111', 'teacher', '00000000-0000-0000-0000-000000000001', now()),
('10000002-0000-0000-0000-000000000002', 'teacher_bj_02', 'teacher_bj_02@example.com', '$2b$12$hashed_password_example', '女', '1982-09-28', 
 '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111112', 'teacher', '00000000-0000-0000-0000-000000000001', now()),
-- 上海教师
('20000002-0000-0000-0000-000000000001', 'teacher_sh_01', 'teacher_sh_01@example.com', '$2b$12$hashed_password_example', '女', '1988-03-14', 
 '22222222-2222-2222-2222-222222222231', '22222222-2222-1111-1111-111111111111', 'teacher', '00000000-0000-0000-0000-000000000001', now()),
-- 广州教师
('30000002-0000-0000-0000-000000000001', 'teacher_gz_01', 'teacher_gz_01@example.com', '$2b$12$hashed_password_example', '男', '1979-11-05', 
 '33333333-3333-3333-3333-333333333341', '33333333-2222-1111-1111-111111111111', 'teacher', '00000000-0000-0000-0000-000000000001', now());

-- 管理员用户
INSERT INTO public.ak_users (
    id, username, email, password_hash, gender, birthday,
    region_id, role, preferred_language, created_at
) VALUES
-- 系统管理员
('00000000-0000-0000-0000-000000000001', 'admin', 'admin@zhipao.com', '$2b$12$hashed_password_example', '男', '1980-01-01', 
 NULL, 'system_admin', '00000000-0000-0000-0000-000000000001', now()),
-- 区域管理员
('10000003-0000-0000-0000-000000000001', 'admin_beijing', 'admin_beijing@zhipao.com', '$2b$12$hashed_password_example', '男', '1975-05-20', 
 '11111111-1111-1111-1111-111111111111', 'region_admin', '00000000-0000-0000-0000-000000000001', now()),
('20000003-0000-0000-0000-000000000001', 'admin_shanghai', 'admin_shanghai@zhipao.com', '$2b$12$hashed_password_example', '女', '1978-08-15', 
 '22222222-2222-2222-2222-222222222222', 'region_admin', '00000000-0000-0000-0000-000000000001', now()),
-- 学校管理员
('10000004-0000-0000-0000-000000000001', 'school_admin_bj01', 'school_admin_bj01@zhipao.com', '$2b$12$hashed_password_example', '男', '1976-03-25', 
 '11111111-1111-1111-1111-111111111121', 'school_admin', '00000000-0000-0000-0000-000000000001', now());

-- 7. 用户个人展示设置
INSERT INTO public.ak_user_profiles (id, user_id, declaration, status_text, updated_at) VALUES
('p0000001-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', '运动让我更健康！', '今天跑了5公里', now()),
('p0000001-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', '坚持就是胜利', '准备参加校运会', now()),
('p0000001-0000-0000-0000-000000000003', '20000001-0000-0000-0000-000000000001', '爱运动爱生活', '刚完成今日训练计划', now());

-- 8. 用户联系方式
INSERT INTO public.ak_user_contacts (id, user_id, contact_type, contact_value, is_primary, remark, created_at) VALUES
('c0000001-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'phone', '13800138001', true, '主要联系方式', now()),
('c0000001-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'phone', '13800138002', true, '主要联系方式', now()),
('c0000001-0000-0000-0000-000000000003', '10000002-0000-0000-0000-000000000001', 'phone', '13900139001', true, '办公电话', now());

-- ===============================
-- 第三段: 设备和训练数据
-- ===============================

-- 9. 设备数据
INSERT INTO public.ak_devices (id, user_id, device_type, device_name, device_mac, bind_time, status, extra) VALUES
('d1111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'watch', '小米手环7', 'AA:BB:CC:DD:EE:01', now(), 'active', '{"brand": "Xiaomi", "model": "Band 7"}'),
('d1111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'watch', '华为手环B5', 'AA:BB:CC:DD:EE:02', now(), 'active', '{"brand": "Huawei", "model": "Band B5"}'),
('d2222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'watch', 'Apple Watch SE', 'AA:BB:CC:DD:EE:03', now(), 'active', '{"brand": "Apple", "model": "Watch SE"}'),
('d3333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'phone', 'iPhone 14', 'AA:BB:CC:DD:EE:04', now(), 'active', '{"brand": "Apple", "model": "iPhone 14"}'),
('d3333333-0000-0000-0000-000000000002', '30000001-0000-0000-0000-000000000002', 'watch', '荣耀手环6', 'AA:BB:CC:DD:EE:05', now(), 'active', '{"brand": "Honor", "model": "Band 6"}');

-- 10. 训练计划数据
INSERT INTO public.ak_training_plans (id, user_id, plan_name, description, start_date, end_date, status, created_at, updated_at) VALUES
('tp111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', '春季体能提升计划', '为期4周的春季体能训练计划，包含跑步、跳绳、俯卧撑等', '2025-06-10', '2025-07-08', 'active', now(), now()),
('tp111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', '校运会备赛训练', '为校运会800米比赛准备的专项训练', '2025-06-01', '2025-06-30', 'active', now(), now()),
('tp222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', '夏季减脂计划', '结合有氧运动和力量训练的减脂计划', '2025-06-15', '2025-08-15', 'active', now(), now()),
('tp333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', '基础体能训练', '针对初学者的基础体能训练计划', '2025-06-05', '2025-07-05', 'active', now(), now());

-- 11. 训练计划明细数据
INSERT INTO public.ak_training_plan_items (id, plan_id, item_date, activity_type, target_value, unit, description, created_at) VALUES
-- 春季体能提升计划明细
('tpi11111-0000-0000-0000-000000000001', 'tp111111-0000-0000-0000-000000000001', '2025-06-10', '跑步', 3.0, 'km', '慢跑3公里，注意节奏', now()),
('tpi11111-0000-0000-0000-000000000002', 'tp111111-0000-0000-0000-000000000001', '2025-06-11', '跳绳', 500, '次', '分组完成，每组100次', now()),
('tpi11111-0000-0000-0000-000000000003', 'tp111111-0000-0000-0000-000000000001', '2025-06-12', '俯卧撑', 30, '次', '分3组，每组10次', now()),
('tpi11111-0000-0000-0000-000000000004', 'tp111111-0000-0000-0000-000000000001', '2025-06-13', '跑步', 3.5, 'km', '适当提高配速', now()),
-- 校运会备赛训练明细
('tpi11111-0000-0000-0000-000000000005', 'tp111111-0000-0000-0000-000000000002', '2025-06-16', '间歇跑', 800, 'm', '800米*4组，间歇3分钟', now()),
('tpi11111-0000-0000-0000-000000000006', 'tp111111-0000-0000-0000-000000000002', '2025-06-17', '恢复跑', 2.0, 'km', '轻松跑，恢复体能', now()),
-- 夏季减脂计划明细
('tpi22222-0000-0000-0000-000000000001', 'tp222222-0000-0000-0000-000000000001', '2025-06-15', '有氧运动', 45, '分钟', '椭圆机或跑步机', now()),
('tpi22222-0000-0000-0000-000000000002', 'tp222222-0000-0000-0000-000000000001', '2025-06-16', '力量训练', 30, '分钟', '哑铃训练，重点上肢', now());

-- 12. 训练记录数据
INSERT INTO public.ak_training_records (id, user_id, plan_item_id, device_id, activity_type, start_time, end_time, duration_sec, distance_km, calories, steps, avg_heart_rate, max_heart_rate, data, created_at) VALUES
('tr111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'tpi11111-0000-0000-0000-000000000001', 'd1111111-0000-0000-0000-000000000001', '跑步', '2025-06-10 07:00:00+08', '2025-06-10 07:25:00+08', 1500, 3.0, 210, 4000, 120, 150, '{"pace": "8:20/km", "route": "校园跑道"}', now()),
('tr111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'tpi11111-0000-0000-0000-000000000005', 'd1111111-0000-0000-0000-000000000002', '间歇跑', '2025-06-16 16:00:00+08', '2025-06-16 16:30:00+08', 1800, 3.2, 280, 3500, 145, 175, '{"intervals": 4, "rest_time": "3min"}', now()),
('tr222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'tpi22222-0000-0000-0000-000000000001', 'd2222222-0000-0000-0000-000000000001', '有氧运动', '2025-06-15 18:00:00+08', '2025-06-15 18:45:00+08', 2700, 5.5, 320, 6200, 135, 160, '{"equipment": "椭圆机", "resistance": 5}', now()),
('tr333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', NULL, 'd3333333-0000-0000-0000-000000000001', '跑步', '2025-06-12 06:30:00+08', '2025-06-12 07:00:00+08', 1800, 2.5, 180, 3200, 115, 140, '{"weather": "晴朗", "temperature": "22°C"}', now());

-- 13. 体征监测数据
INSERT INTO public.ak_biometric_data (id, user_id, device_id, data_type, value, unit, measured_at, extra) VALUES
('bio11111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'd1111111-0000-0000-0000-000000000001', 'heart_rate', 120, 'bpm', '2025-06-10 07:10:00+08', '{"context": "运动中"}'),
('bio11111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000001', 'd1111111-0000-0000-0000-000000000001', 'heart_rate', 65, 'bpm', '2025-06-10 08:00:00+08', '{"context": "静息"}'),
('bio11111-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000002', 'd1111111-0000-0000-0000-000000000002', 'sleep', 7.5, 'hours', '2025-06-10 07:00:00+08', '{"deep_sleep": 2.5, "light_sleep": 5.0}'),
('bio22222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'd2222222-0000-0000-0000-000000000001', 'steps', 8500, 'count', '2025-06-15 23:59:00+08', '{"daily_goal": 10000}'),
('bio33333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'd3333333-0000-0000-0000-000000000001', 'weight', 70.5, 'kg', '2025-06-12 07:30:00+08', '{"bmi": 21.8});

-- 14. 视频分析结果数据
INSERT INTO public.ak_video_analysis (id, user_id, device_id, record_id, video_url, analysis_type, result, created_at) VALUES
('va111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'd3333333-0000-0000-0000-000000000001', 'tr111111-0000-0000-0000-000000000001', 'https://example.com/videos/running_analysis_001.mp4', 'running_form', '{"posture_score": 85, "stride_analysis": {"length": "good", "frequency": "optimal"}, "recommendations": ["保持头部稳定", "增加步频"]}', now()),
('va222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'd2222222-0000-0000-0000-000000000001', 'tr222222-0000-0000-0000-000000000001', 'https://example.com/videos/cardio_analysis_001.mp4', 'cardio_form', '{"technique_score": 78, "efficiency": "good", "suggestions": ["保持稳定节奏", "注意呼吸配合"]}', now());

-- ===============================
-- 第四段: AI分析、通知和反馈数据
-- ===============================

-- 15. AI分析报告数据
INSERT INTO public.ak_ai_reports (id, user_id, report_type, period_start, period_end, analysis_data, created_at) VALUES
('air11111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'weekly_summary', '2025-06-09', '2025-06-15', '{
  "total_activities": 5,
  "total_distance": 12.5,
  "total_calories": 890,
  "avg_heart_rate": 125,
  "fitness_score": 78,
  "improvement_areas": ["耐力提升", "速度训练"],
  "achievements": ["完成本周训练目标", "心率控制良好"],
  "recommendations": [
    "下周可适当增加跑步距离",
    "建议加入力量训练",
    "保持良好的训练节奏"
  ],
  "trend_analysis": {
    "distance_trend": "上升",
    "pace_trend": "稳定",
    "heart_rate_trend": "改善"
  }
}', now()),
('air11111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'monthly_analysis', '2025-05-16', '2025-06-15', '{
  "monthly_progress": {
    "training_days": 18,
    "rest_days": 12,
    "total_distance": 45.8,
    "avg_weekly_distance": 11.45
  },
  "performance_metrics": {
    "best_pace": "7:45/km",
    "longest_run": 5.0,
    "fitness_improvement": "12%"
  },
  "health_indicators": {
    "resting_heart_rate": 62,
    "sleep_quality": "良好",
    "recovery_score": 85
  }
}', now()),
('air22222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'technique_analysis', '2025-06-15', '2025-06-15', '{
  "activity_type": "有氧运动",
  "technique_score": 82,
  "strengths": ["节奏稳定", "呼吸配合好"],
  "weaknesses": ["上肢摆动不够充分"],
  "specific_feedback": {
    "posture": "保持良好",
    "breathing": "配合到位",
    "movement_efficiency": "可进一步提升"
  },
  "training_suggestions": [
    "增加上肢力量练习",
    "练习协调性动作"
  ]
}', now());

-- 16. 通知数据
INSERT INTO public.ak_notifications (id, user_id, type, title, content, data, is_read, created_at) VALUES
('noti1111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'training_reminder', '今日训练提醒', '别忘了完成今天的跑步训练：慢跑3公里', '{"plan_item_id": "tpi11111-0000-0000-0000-000000000001", "target": "3.0km"}', false, now()),
('noti1111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000001', 'achievement', '恭喜达成成就！', '连续训练7天，获得"坚持不懈"徽章', '{"badge_id": "badge_persistence_7days", "achievement_type": "consistency"}', false, now()),
('noti1111-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000002', 'report_ready', 'AI分析报告已生成', '您的本周训练分析报告已经准备好了，快来查看吧！', '{"report_id": "air11111-0000-0000-0000-000000000001", "report_type": "weekly_summary"}', true, now()),
('noti2222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'social_interaction', '好友点赞提醒', '张小明为你的训练记录点赞了', '{"from_user_id": "10000001-0000-0000-0000-000000000001", "record_id": "tr222222-0000-0000-0000-000000000001"}', false, now()),
('noti3333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'system_message', '系统维护通知', '系统将于今晚22:00-24:00进行维护，期间服务可能暂时不可用', '{"maintenance_start": "2025-06-16 22:00:00", "maintenance_end": "2025-06-17 00:00:00"}', false, now());

-- 17. 用户反馈数据
INSERT INTO public.ak_feedbacks (id, user_id, type, category, content, attachments, status, created_at, handled_at) VALUES
('fb111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'bug_report', 'app_function', '跑步记录界面有时会卡死，需要重启APP才能正常使用', '["screenshot_bug_001.jpg"]', 'pending', now(), NULL),
('fb111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'feature_request', 'training_plan', '希望能添加游泳训练计划，现在只有跑步和力量训练', NULL, 'in_progress', now(), now()),
('fb222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'praise', 'ai_analysis', 'AI分析报告非常详细和准确，对我的监测帮助很大！', NULL, 'resolved', now(), now()),
('fb333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'suggestion', 'user_interface', '建议在主界面增加快速开始训练的按钮，现在操作步骤有点多', NULL, 'pending', now(), NULL);

-- 18. 系统日志数据 (用户行为追踪)
INSERT INTO public.ak_user_logs (id, user_id, action_type, description, ip_address, user_agent, created_at) VALUES
('log11111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'login', '用户登录系统', '192.168.1.100', 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)', now()),
('log11111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000001', 'start_workout', '开始跑步训练', '192.168.1.100', 'ZhiPao/1.2.0 (iPhone)', now()),
('log11111-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000001', 'complete_workout', '完成跑步训练', '192.168.1.100', 'ZhiPao/1.2.0 (iPhone)', now()),
('log11111-0000-0000-0000-000000000004', '10000001-0000-0000-0000-000000000002', 'view_report', '查看AI分析报告', '192.168.1.101', 'ZhiPao/1.2.0 (Android)', now()),
('log22222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'share_record', '分享训练记录到朋友圈', '192.168.1.102', 'ZhiPao/1.2.0 (iPhone)', now()),
('log33333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'update_profile', '更新个人资料', '192.168.1.103', 'Mozilla/5.0 (Windows NT 10.0)', now());

-- ===============================
-- 第五段: 社交分享和体育报告数据
-- ===============================

-- 19. 体育报告数据
INSERT INTO public.ak_sport_reports (id, user_id, school_id, class_id, semester, report_type, content, status, created_at, updated_at) VALUES
('spr11111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', '2024-2025学年第二学期', 'monthly', '{
  "student_name": "张小明",
  "class_name": "高一(1)班",
  "month": "2025-06",
  "training_summary": {
    "total_days": 15,
    "completed_sessions": 12,
    "completion_rate": 80,
    "total_distance": 25.5,
    "avg_heart_rate": 125
  },
  "performance_metrics": {
    "endurance_score": 85,
    "speed_improvement": "8%",
    "consistency_rating": "良好"
  },
  "teacher_comments": "张小明同学训练积极性很高，耐力有明显提升，建议继续保持。",
  "recommendations": [
    "可以适当增加力量训练",
    "注意训练后的拉伸放松"
  ]
}', 'published', now(), now()),
('spr11111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111114', '2024-2025学年第二学期', 'semester', '{
  "student_name": "李小红",
  "class_name": "高一(1)班",
  "semester": "2024-2025学年第二学期",
  "overall_performance": {
    "attendance_rate": 95,
    "participation_level": "优秀",
    "fitness_improvement": "显著",
    "skill_development": "良好"
  },
  "physical_test_results": {
    "50m_dash": "7.8秒",
    "800m_run": "3分15秒",
    "long_jump": "4.2米",
    "pull_ups": 8
  },
  "final_grade": "A",
  "teacher_evaluation": "李小红同学在体育方面表现优异，各项身体素质都有明显提升。"
}', 'draft', now(), now()),
('spr22222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', '22222222-2222-1111-1111-111111111111', '22222222-4444-1111-1111-111111111111', '2024-2025学年第二学期', 'weekly', '{
  "student_name": "王小刚",
  "class_name": "七年级(1)班",
  "week": "第25周",
  "weekly_activities": [
    {"date": "2025-06-15", "activity": "有氧运动", "duration": 45, "performance": "优秀"},
    {"date": "2025-06-17", "activity": "篮球练习", "duration": 30, "performance": "良好"}
  ],
  "week_summary": "本周训练表现良好，建议继续保持。"
}', 'published', now(), now());

-- 20. 分享记录数据
INSERT INTO public.ak_shares (id, user_id, share_type, content_id, platform, content, share_time, view_count, like_count) VALUES
('share111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'training_record', 'tr111111-0000-0000-0000-000000000001', 'wechat_moments', '{
  "title": "今日跑步打卡",
  "description": "完成3公里慢跑，感觉状态不错！",
  "image": "running_record_001.jpg",
  "data": {
    "distance": "3.0km",
    "time": "25分钟",
    "pace": "8:20/km",
    "calories": 210
  }
}', now(), 15, 8),
('share111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'achievement', 'badge_persistence_7days', 'qq_zone', '{
  "title": "获得新成就",
  "description": "连续训练7天，坚持就是胜利！",
  "badge_image": "badge_persistence.png"
}', now(), 22, 12),
('share222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'ai_report', 'air22222-0000-0000-0000-000000000001', 'weibo', '{
  "title": "AI训练分析报告",
  "description": "本次有氧运动技术分析得分82分，继续加油！",
  "report_summary": "节奏稳定，呼吸配合好"
}', now(), 8, 3);

-- 21. 朋友关系数据
INSERT INTO public.ak_user_friends (id, user_id, friend_id, status, created_at, updated_at) VALUES
('friend11-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000002', 'accepted', now(), now()),
('friend11-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000001', 'accepted', now(), now()),
('friend11-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'accepted', now(), now()),
('friend22-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'accepted', now(), now()),
('friend11-0000-0000-0000-000000000004', '10000001-0000-0000-0000-000000000003', '30000001-0000-0000-0000-000000000001', 'pending', now(), now());

-- 22. 互动记录数据 (点赞、评论)
INSERT INTO public.ak_interactions (id, user_id, target_type, target_id, interaction_type, content, created_at) VALUES
('int11111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000002', 'training_record', 'tr111111-0000-0000-0000-000000000001', 'like', NULL, now()),
('int11111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'training_record', 'tr111111-0000-0000-0000-000000000001', 'comment', '跑得不错，继续加油！', now()),
('int22222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'share', 'share111-0000-0000-0000-000000000001', 'like', NULL, now()),
('int33333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'share', 'share111-0000-0000-0000-000000000002', 'comment', '厉害了，我也要坚持运动！', now()),
('int11111-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000001', 'training_record', 'tr222222-0000-0000-0000-000000000001', 'like', NULL, now());

-- ===============================
-- 第六段: 积分系统和游戏化数据
-- ===============================

-- 23. 用户积分数据
INSERT INTO public.ak_user_points (id, user_id, total_points, available_points, created_at, updated_at) VALUES
('points11-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 1250, 850, now(), now()),
('points11-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 980, 680, now(), now()),
('points22-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 1450, 1200, now(), now()),
('points33-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 750, 500, now(), now());

-- 24. 积分变动记录
INSERT INTO public.ak_point_transactions (id, user_id, transaction_type, points, description, reference_id, created_at) VALUES
('pt111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'earn', 50, '完成训练计划项目', 'tpi11111-0000-0000-0000-000000000001', now()),
('pt111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000001', 'earn', 100, '获得坚持不懈成就', 'badge_persistence_7days', now()),
('pt111111-0000-0000-0000-000000000003', '10000001-0000-0000-0000-000000000001', 'spend', -200, '兑换运动装备优惠券', 'reward_coupon_001', now()),
('pt111111-0000-0000-0000-000000000004', '10000001-0000-0000-0000-000000000002', 'earn', 75, '分享训练记录', 'share111-0000-0000-0000-000000000001', now()),
('pt222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'earn', 120, '完成AI推荐训练', 'air22222-0000-0000-0000-000000000001', now()),
('pt333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'earn', 80, '连续登录7天', 'login_streak_7', now());

-- 25. 成就徽章数据
INSERT INTO public.ak_achievements (id, name, description, icon, condition_type, condition_value, points_reward, created_at) VALUES
('badge001-0000-0000-0000-000000000001', '坚持不懈', '连续训练7天', 'persistence_badge.png', 'consecutive_training', 7, 100, now()),
('badge002-0000-0000-0000-000000000001', '马拉松新手', '累计跑步距离达到42.195公里', 'marathon_beginner.png', 'total_distance', 42.195, 300, now()),
('badge003-0000-0000-0000-000000000001', '早起鸟儿', '在早上6点前完成训练10次', 'early_bird.png', 'early_workout', 10, 150, now()),
('badge004-0000-0000-0000-000000000001', '社交达人', '获得好友点赞50次', 'social_master.png', 'likes_received', 50, 200, now()),
('badge005-0000-0000-0000-000000000001', '健康生活', '连续记录睡眠数据30天', 'healthy_life.png', 'sleep_records', 30, 250, now());

-- 26. 用户成就记录
INSERT INTO public.ak_user_achievements (id, user_id, achievement_id, unlocked_at) VALUES
('ua111111-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', 'badge001-0000-0000-0000-000000000001', now()),
('ua111111-0000-0000-0000-000000000002', '10000001-0000-0000-0000-000000000002', 'badge003-0000-0000-0000-000000000001', now()),
('ua222222-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', 'badge001-0000-0000-0000-000000000001', now()),
('ua222222-0000-0000-0000-000000000002', '20000001-0000-0000-0000-000000000001', 'badge004-0000-0000-0000-000000000001', now()),
('ua333333-0000-0000-0000-000000000001', '30000001-0000-0000-0000-000000000001', 'badge005-0000-0000-0000-000000000001', now());

-- 27. 排行榜数据
INSERT INTO public.ak_leaderboards (id, type, period, region_id, school_id, class_id, data, created_at, updated_at) VALUES
('lb111111-0000-0000-0000-000000000001', 'weekly_distance', 'weekly', '11111111-1111-1111-1111-111111111121', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', ' [
  {"rank": 1, "user_id": "10000001-0000-0000-0000-000000000001", "username": "张小明", "value": 15.5, "unit": "km"},
  {"rank": 2, "user_id": "10000001-0000-0000-0000-000000000002", "username": "李小红", "value": 12.8, "unit": "km"},
  {"rank": 3, "user_id": "10000001-0000-0000-0000-000000000003", "username": "王小刚", "value": 10.2, "unit": "km"}
]', now(), now()),
('lb222222-0000-0000-0000-000000000001', 'monthly_points', 'monthly', '22222222-2222-2222-2222-222222222231', '22222222-2222-1111-1111-111111111111', NULL, ' [
  {"rank": 1, "user_id": "20000001-0000-0000-0000-000000000001", "username": "陈小美", "value": 1450, "unit": "points"},
  {"rank": 2, "user_id": "20000001-0000-0000-0000-000000000002", "username": "赵小帅", "value": 1280, "unit": "points"}
]', now(), now()),
('lb333333-0000-0000-0000-000000000001', 'daily_steps', 'daily', '33333333-3333-3333-3333-333333333341', NULL, NULL, ' [
  {"rank": 1, "user_id": "30000001-0000-0000-0000-000000000001", "username": "刘小强", "value": 12500, "unit": "steps"},
  {"rank": 2, "user_id": "30000001-0000-0000-0000-000000000002", "username": "周小丽", "value": 11800, "unit": "steps"}
]', now(), now());

-- ===============================
-- 第六段: 作业布置和教育功能数据
-- ===============================

-- 28. 体育作业数据
INSERT INTO public.ak_assignments (id, teacher_id, school_id, class_id, title, description, requirements, due_date, status, created_at) VALUES
('assign11-0000-0000-0000-000000000001', '10000002-0000-0000-0000-000000000001', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', '本周跑步训练作业', '完成每日跑步训练，总距离不少于10公里', '{
  "total_distance": 10,
  "min_sessions": 3,
  "max_heart_rate": 160,
  "upload_required": true,
  "deadline": "2025-06-22"
}', '2025-06-22', 'active', now()),
('assign11-0000-0000-0000-000000000002', '10000002-0000-0000-0000-000000000002', '11111111-2222-1111-1111-111111111112', '11111111-4444-1111-1111-111111111114', '体能测试准备', '为即将到来的体能测试做准备，包含50米短跑和800米长跑练习', '{
  "activities": ["50m冲刺", "800m耐力跑"],
  "frequency": "每日一次",
  "video_analysis": true
}', '2025-06-25', 'active', now()),
('assign22-0000-0000-0000-000000000001', '20000002-0000-0000-0000-000000000001', '22222222-2222-1111-1111-111111111111', '22222222-4444-1111-1111-111111111111', '篮球基本功练习', '练习篮球运球、投篮基本动作', '{
  "skills": ["运球", "投篮", "传球"],
  "practice_time": 30,
  "record_video": true
}', '2025-06-20', 'active', now());

-- 29. 作业提交数据
INSERT INTO public.ak_assignment_submissions (id, assignment_id, student_id, submission_data, submission_time, status, score, teacher_feedback) VALUES
('sub11111-0000-0000-0000-000000000001', 'assign11-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000001', '{
  "completed_sessions": 4,
  "total_distance": 12.5,
  "training_records": [
    "tr111111-0000-0000-0000-000000000001"
  ],
  "notes": "每天坚持跑步，感觉体能有所提升"
}', now(), 'submitted', 95, '完成质量很高，超额完成了距离要求，值得表扬！'),
('sub11111-0000-0000-0000-000000000002', 'assign11-0000-0000-0000-000000000001', '10000001-0000-0000-0000-000000000002', '{
  "completed_sessions": 3,
  "total_distance": 10.2,
  "training_records": [],
  "notes": "按要求完成了训练"
}', now(), 'submitted', 88, '达到了基本要求，建议增加训练频次'),
('sub22222-0000-0000-0000-000000000001', 'assign22-0000-0000-0000-000000000001', '20000001-0000-0000-0000-000000000001', '{
  "practice_videos": ["basketball_practice_001.mp4"],
  "self_assessment": "运球技术有进步，投篮命中率还需提高",
  "practice_duration": 35
}', now(), 'graded', 92, '基本动作掌握良好，继续练习投篮准确性');

-- 30. 教学资源数据
INSERT INTO public.ak_teaching_resources (id, teacher_id, type, title, description, content_url, tags, is_public, created_at) VALUES
('res11111-0000-0000-0000-000000000001', '10000002-0000-0000-0000-000000000001', 'video', '正确跑步姿势教学', '详细讲解跑步时的正确姿势和呼吸方法', 'https://example.com/videos/running_posture_guide.mp4', '["跑步", "姿势", "教学视频"]', true, now()),
('res11111-0000-0000-0000-000000000002', '10000002-0000-0000-0000-000000000001', 'document', '训练安全须知', 'AI监测过程中的安全注意事项', 'https://example.com/docs/safety_guidelines.pdf', '["安全", "训练", "须知"]', true, now()),
('res22222-0000-0000-0000-000000000001', '20000002-0000-0000-0000-000000000001', 'video', '篮球基本功训练', '篮球运球、投篮、传球基本技巧', 'https://example.com/videos/basketball_basics.mp4', '["篮球", "基本功", "技巧"]', true, now()),
('res33333-0000-0000-0000-000000000001', '30000002-0000-0000-0000-000000000001', 'plan', '青少年体能训练计划模板', '适合中学生的综合体能训练计划', 'https://example.com/plans/youth_fitness_template.json', '["体能", "训练计划", "青少年"]', false, now());

-- 31. 课程安排数据
INSERT INTO public.ak_class_schedules (id, teacher_id, school_id, class_id, subject, day_of_week, start_time, end_time, location, created_at) VALUES
('sch11111-0000-0000-0000-000000000001', '10000002-0000-0000-0000-000000000001', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111111', '体育', 2, '08:00:00', '08:45:00', '学校操场', now()),
('sch11111-0000-0000-0000-000000000002', '10000002-0000-0000-0000-000000000001', '11111111-2222-1111-1111-111111111111', '11111111-4444-1111-1111-111111111112', '体育', 4, '14:00:00', '14:45:00', '体育馆', now()),
('sch22222-0000-0000-0000-000000000001', '20000002-0000-0000-0000-000000000001', '22222222-2222-1111-1111-111111111111', '22222222-4444-1111-1111-111111111111', '体育', 1, '09:00:00', '09:45:00', '篮球场', now()),
('sch22222-0000-0000-0000-000000000002', '20000002-0000-0000-0000-000000000001', '22222222-2222-1111-1111-111111111111', '22222222-4444-1111-1111-111111111112', '体育', 3, '15:30:00', '16:15:00', '足球场', now());

-- ===============================
-- 数据生成完毕
-- ===============================

-- 统计信息查询
SELECT 'ak_languages' as table_name, COUNT(*) as record_count FROM public.ak_languages
UNION ALL
SELECT 'ak_regions', COUNT(*) FROM public.ak_regions
UNION ALL
SELECT 'ak_schools', COUNT(*) FROM public.ak_schools
UNION ALL
SELECT 'ak_grades', COUNT(*) FROM public.ak_grades
UNION ALL
SELECT 'ak_classes', COUNT(*) FROM public.ak_classes
UNION ALL
SELECT 'ak_users', COUNT(*) FROM public.ak_users
UNION ALL
SELECT 'ak_user_profiles', COUNT(*) FROM public.ak_user_profiles
UNION ALL
SELECT 'ak_user_contacts', COUNT(*) FROM public.ak_user_contacts
UNION ALL
SELECT 'ak_devices', COUNT(*) FROM public.ak_devices
UNION ALL
SELECT 'ak_training_plans', COUNT(*) FROM public.ak_training_plans
UNION ALL
SELECT 'ak_training_plan_items', COUNT(*) FROM public.ak_training_plan_items
UNION ALL
SELECT 'ak_training_records', COUNT(*) FROM public.ak_training_records
UNION ALL
SELECT 'ak_biometric_data', COUNT(*) FROM public.ak_biometric_data
UNION ALL
SELECT 'ak_video_analysis', COUNT(*) FROM public.ak_video_analysis
UNION ALL
SELECT 'ak_ai_reports', COUNT(*) FROM public.ak_ai_reports
UNION ALL
SELECT 'ak_notifications', COUNT(*) FROM public.ak_notifications
UNION ALL
SELECT 'ak_feedbacks', COUNT(*) FROM public.ak_feedbacks
UNION ALL
SELECT 'ak_user_logs', COUNT(*) FROM public.ak_user_logs
UNION ALL
SELECT 'ak_sport_reports', COUNT(*) FROM public.ak_sport_reports
UNION ALL
SELECT 'ak_shares', COUNT(*) FROM public.ak_shares
UNION ALL
SELECT 'ak_user_friends', COUNT(*) FROM public.ak_user_friends
UNION ALL
SELECT 'ak_interactions', COUNT(*) FROM public.ak_interactions
UNION ALL
SELECT 'ak_user_points', COUNT(*) FROM public.ak_user_points
UNION ALL
SELECT 'ak_point_transactions', COUNT(*) FROM public.ak_point_transactions
UNION ALL
SELECT 'ak_achievements', COUNT(*) FROM public.ak_achievements
UNION ALL
SELECT 'ak_user_achievements', COUNT(*) FROM public.ak_user_achievements
UNION ALL
SELECT 'ak_leaderboards', COUNT(*) FROM public.ak_leaderboards
UNION ALL
SELECT 'ak_assignments', COUNT(*) FROM public.ak_assignments
UNION ALL
SELECT 'ak_assignment_submissions', COUNT(*) FROM public.ak_assignment_submissions
UNION ALL
SELECT 'ak_teaching_resources', COUNT(*) FROM public.ak_teaching_resources
UNION ALL
SELECT 'ak_class_schedules', COUNT(*) FROM public.ak_class_schedules
ORDER BY table_name;