Initial commit of akmon project
This commit is contained in:
601
doc_zhipao/mock_sport.sql
Normal file
601
doc_zhipao/mock_sport.sql
Normal file
@@ -0,0 +1,601 @@
|
||||
-- 智跑平台测试数据 (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;
|
||||
Reference in New Issue
Block a user