seed-data.sql 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. USE cfc;
  2. -- ============================================================
  3. -- E2E Test Seed Data
  4. -- ============================================================
  5. -- Disable FK checks temporarily for clean deletion
  6. SET FOREIGN_KEY_CHECKS = 0;
  7. -- ============================================================
  8. -- DELETE from all relevant tables in FK dependency order
  9. -- ============================================================
  10. -- Delete child tables first (referencing other tables)
  11. DELETE FROM points_log;
  12. DELETE FROM task_reviews;
  13. DELETE FROM media_records;
  14. DELETE FROM task_plan_items;
  15. DELETE FROM task_plan_instances;
  16. DELETE FROM task_template_items;
  17. DELETE FROM task_template_packages;
  18. DELETE FROM guide_families;
  19. DELETE FROM teacher_messages;
  20. DELETE FROM growth_records;
  21. DELETE FROM dan_assessment_results;
  22. DELETE FROM dan_assessments;
  23. DELETE FROM assessment_appointments;
  24. DELETE FROM focus_sessions;
  25. DELETE FROM game_records;
  26. DELETE FROM child_badge;
  27. DELETE FROM energy_log;
  28. DELETE FROM energy_balance;
  29. DELETE FROM streak_milestones;
  30. DELETE FROM points_reset_log;
  31. DELETE FROM reward_wishlists;
  32. DELETE FROM wishes;
  33. DELETE FROM rewards;
  34. DELETE FROM reward_categories;
  35. DELETE FROM tasks;
  36. DELETE FROM invite_card;
  37. DELETE FROM activity_registrations;
  38. DELETE FROM guide_invite_codes;
  39. DELETE FROM guide_commissions;
  40. DELETE FROM guide_service_logs;
  41. DELETE FROM guide_orders;
  42. DELETE FROM guide_application_records;
  43. DELETE FROM guide_applications;
  44. DELETE FROM package_orders;
  45. DELETE FROM assessment_orders;
  46. DELETE FROM assessment_records;
  47. DELETE FROM product_orders;
  48. DELETE FROM product_skus;
  49. DELETE FROM user_coupon;
  50. DELETE FROM user_address;
  51. DELETE FROM family_relationships;
  52. DELETE FROM family_member_attributes;
  53. -- Delete tables with FK to users/families
  54. DELETE FROM family_members;
  55. DELETE FROM guides;
  56. DELETE FROM admins;
  57. DELETE FROM users;
  58. DELETE FROM families;
  59. -- Delete content tables
  60. DELETE FROM articles;
  61. DELETE FROM activities;
  62. DELETE FROM products;
  63. -- Re-enable FK checks
  64. SET FOREIGN_KEY_CHECKS = 1;
  65. -- ============================================================
  66. -- INSERT test family
  67. -- ============================================================
  68. INSERT IGNORE INTO families (id, name, invite_code, created_at, updated_at) VALUES
  69. (2001, '测试幸福家庭', 'TEST2001', NOW(), NOW());
  70. -- ============================================================
  71. -- INSERT test users (IDs 1001-1009)
  72. -- ============================================================
  73. -- 1001: admin
  74. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, created_at, updated_at) VALUES
  75. (1001, 'openid_admin_1001', NULL, 0, 'admin', '管理员', '13800138000', NOW(), NOW());
  76. -- 1002: parent, family_id 2001
  77. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, created_at, updated_at) VALUES
  78. (1002, 'openid_parent_1002', NULL, 2001, 'parent', '家长用户', '13701366188', NOW(), NOW());
  79. -- 1003: child, family_id 2001
  80. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, created_at, updated_at) VALUES
  81. (1003, 'openid_child_1003', NULL, 2001, 'child', '孩子用户A', '13701366189', NOW(), NOW());
  82. -- 1004: child, family_id 2001
  83. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, created_at, updated_at) VALUES
  84. (1004, 'openid_child_1004', NULL, 2001, 'child', '孩子用户B', '13701366190', NOW(), NOW());
  85. -- 1005: teacher, roles '["teacher","parent"]', teacher_status 'active'
  86. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, teacher_status, roles, created_at, updated_at) VALUES
  87. (1005, 'openid_teacher_1005', NULL, 0, 'teacher', '成长规划师', '13800000001', 'active', '["teacher","parent"]', NOW(), NOW());
  88. -- 1006: nutritionist (teacher role with nutritionist vendor_type placeholder)
  89. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, teacher_status, roles, created_at, updated_at) VALUES
  90. (1006, 'openid_nutritionist_1006', NULL, 0, 'teacher', '营养师', '13800000010', 'active', '["teacher"]', NOW(), NOW());
  91. -- 1007: butler (teacher role)
  92. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, teacher_status, roles, created_at, updated_at) VALUES
  93. (1007, 'openid_butler_1007', NULL, 0, 'teacher', '管家', '13800000020', 'active', '["teacher"]', NOW(), NOW());
  94. -- 1008: assessor (teacher role)
  95. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, teacher_status, roles, created_at, updated_at) VALUES
  96. (1008, 'openid_assessor_1008', NULL, 0, 'teacher', '测评师', '13800000030', 'active', '["teacher"]', NOW(), NOW());
  97. -- 1009: vendor
  98. INSERT IGNORE INTO users (id, openid, unionid, family_id, role, nickname, phone, created_at, updated_at) VALUES
  99. (1009, 'openid_vendor_1009', NULL, 0, 'vendor', '供应商', '13800138001', NOW(), NOW());
  100. -- ============================================================
  101. -- INSERT family_members records linking family 2001 to users 1002, 1003, 1004
  102. -- ============================================================
  103. INSERT IGNORE INTO family_members (id, family_id, user_id, nickname, phone, gender, birthday, generation, is_spouse, show_to_family, total_points, system_points, streak_days, created_at, updated_at) VALUES
  104. (2001, 2001, 1002, '家长用户', '13701366188', 'male', '1985-01-01', 0, 0, 1, 0, 0, NOW(), NOW());
  105. INSERT IGNORE INTO family_members (id, family_id, user_id, nickname, phone, gender, birthday, generation, is_spouse, show_to_family, total_points, system_points, streak_days, created_at, updated_at) VALUES
  106. (2002, 2001, 1003, '孩子用户A', '13701366189', 'male', '2015-06-15', -1, 0, 1, 0, 0, NOW(), NOW());
  107. INSERT IGNORE INTO family_members (id, family_id, user_id, nickname, phone, gender, birthday, generation, is_spouse, show_to_family, total_points, system_points, streak_days, created_at, updated_at) VALUES
  108. (2003, 2001, 1004, '孩子用户B', '13701366190', 'female', '2018-03-20', -1, 0, 1, 0, 0, NOW(), NOW());
  109. -- ============================================================
  110. -- INSERT 2 test articles (draft + published)
  111. -- ============================================================
  112. INSERT IGNORE INTO articles (id, category_id, title, summary, cover_image, content, tags, author, read_time, article_type, word_count, related_dimensions, visibility, status, is_featured, published_at, view_count, created_by, created_at, updated_at) VALUES
  113. (1001, 1, 'E2E测试文章-草稿', '这是一篇草稿状态的文章,用于E2E测试', '', '<p>草稿文章内容</p>', '["测试"]', '浠艾福', 5, 'normal', 100, '["mind"]', 'public', 'draft', 0, NULL, 0, 1001, NOW(), NOW());
  114. INSERT IGNORE INTO articles (id, category_id, title, summary, cover_image, content, tags, author, read_time, article_type, word_count, related_dimensions, visibility, status, is_featured, published_at, view_count, created_by, created_at, updated_at) VALUES
  115. (1002, 1, 'E2E测试文章-已发布', '这是一篇已发布状态的文章,用于E2E测试', '', '<p>已发布文章内容</p>', '["测试"]', '浠艾福', 10, 'original', 200, '["body","mind"]', 'public', 'published', 1, NOW(), 100, 1001, NOW(), NOW());
  116. -- ============================================================
  117. -- INSERT 2 test activities (pending + published)
  118. -- ============================================================
  119. INSERT IGNORE INTO activities (id, title, description, cover_image, dimension_code, dimension_weights, activity_type, status, start_time, end_time, location, max_participants, current_participants, price, vendor_id, vendor_name, created_at, updated_at) VALUES
  120. (1001, 'E2E测试活动-待审核', '这是一个待审核状态的活动,用于E2E测试', '', 'mind', '{"body":0,"mind":50,"wisdom":50,"action":0,"wealth":0}', 'offline', 'pending', DATE_ADD(NOW(), INTERVAL 7 DAY), DATE_ADD(NOW(), INTERVAL 14 DAY), '测试地点', 20, 0, 10000, 1005, '成长规划师', NOW(), NOW());
  121. INSERT IGNORE INTO activities (id, title, description, cover_image, dimension_code, dimension_weights, activity_type, status, start_time, end_time, location, max_participants, current_participants, price, vendor_id, vendor_name, created_at, updated_at) VALUES
  122. (1002, 'E2E测试活动-已发布', '这是一个已发布状态的活动,用于E2E测试', '', 'body', '{"body":60,"mind":20,"wisdom":20,"action":0,"wealth":0}', 'offline', 'published', DATE_ADD(NOW(), INTERVAL 3 DAY), DATE_ADD(NOW(), INTERVAL 10 DAY), '测试地点2', 30, 5, 5000, 1005, '成长规划师', NOW(), NOW());
  123. -- ============================================================
  124. -- INSERT 2 test products
  125. -- ============================================================
  126. INSERT IGNORE INTO products (id, name, description, intro, cover_image, images, price, stock, sales_count, product_type, vendor_id, vendor_name, status, member_price, member_eligible, domain, dimension_weights, profit_rate, delivery_method, category_id, created_at, updated_at) VALUES
  127. (1001, 'E2E测试商品-草稿', '这是一个草稿状态的商品,用于E2E测试', '详细介绍', '', NULL, 9999, 100, 0, 'service', 1009, '供应商', 'draft', 7999, 'all', 'mind', '{"body":0,"mind":100,"wisdom":0,"action":0,"wealth":0}', 100, 1, NULL, NOW(), NOW());
  128. INSERT IGNORE INTO products (id, name, description, intro, cover_image, images, price, stock, sales_count, product_type, vendor_id, vendor_name, status, member_price, member_eligible, domain, dimension_weights, profit_rate, delivery_method, category_id, created_at, updated_at) VALUES
  129. (1002, 'E2E测试商品-已上架', '这是一个已上架状态的商品,用于E2E测试', '详细介绍', '', NULL, 19999, 50, 10, 'course', 1009, '供应商', 'on_shelf', 15999, 'budget', 'wisdom', '{"body":0,"mind":0,"wisdom":100,"action":0,"wealth":0}', 150, 3, NULL, NOW(), NOW());