# 数据字段补充设计方案 **日期:** 2026-05-26 **状态:** 待审批 ## 概述 在用户信息、成长档案、家庭信息中补充新的字段,完善数据模型。 ## 字段变更 ### 1. User 表 — 用户信息补充 | 字段名 | 类型 | 说明 | 枚举值 | |--------|------|------|--------| | `ethnicity` | VARCHAR(20) | 民族 | 汉族、蒙古族、回族、藏族、维吾尔族、苗族、彝族、壮族、布依族、朝鲜族、满族、侗族、瑶族、白族、土家族、哈尼族、哈萨克族、傣族、黎族、其他 | | `blood_type` | VARCHAR(10) | 血型 | A、B、AB、O、未知 | | `highest_education` | VARCHAR(30) | 最高学历 | 小学、初中、高中、中专、大专、本科、硕士、博士 | | `marital_status` | VARCHAR(10) | 婚姻状态 | 未婚、已婚、离异、丧偶 | ### 2. GrowthRecord 表 — 成长档案补充 | 字段名 | 类型 | 说明 | |--------|------|------| | `school` | VARCHAR(100) | 学校名称 | | `grade` | INT | 年级(数字:1~12) | | `academic_performance` | VARCHAR(200) | 成绩/学业表现 文本 | | `school_province` | VARCHAR(50) | 学校所在省 | | `school_city` | VARCHAR(50) | 学校所在市 | | `school_district` | VARCHAR(50) | 学校所在区 | | `school_street` | VARCHAR(50) | 学校所在街道 | 现有 `height`/`weight` 字段保留不变。 ### 3. Family 表 — 家庭所在区域 Family 已有 `province/city/district/street/streetId` 四级地址,前端的家庭信息页面展示即可。 ## 改动范围 ### 后端 | 文件 | 改动 | |------|------| | `entity/User.java` | +4 字段: ethnicity, bloodType, highestEducation, maritalStatus | | `entity/GrowthRecord.java` | +7 字段: school, grade, academicPerformance, schoolProvince, schoolCity, schoolDistrict, schoolStreet | | `service/UserService.java` | `updateUserInfo()` 接收新字段 | | `controller/auth/UserController.java` | 更新用户信息接口传递新字段 | ### 前端 | 文件 | 改动 | |------|------| | `pages/user-edit/user-edit.vue` | 表单增加 民族/血型/学历/婚姻状态 picker | | `pages/growth/create.vue` | 表单增加 学校/年级/成绩/学校区域输入 | | `pages/growth/detail.vue` | 显示新增字段 | ### 数据库 `DatabaseInitializer.java` 或独立 SQL 脚本: ```sql ALTER TABLE users ADD COLUMN ethnicity VARCHAR(20) DEFAULT NULL COMMENT '民族', ADD COLUMN blood_type VARCHAR(10) DEFAULT NULL COMMENT '血型', ADD COLUMN highest_education VARCHAR(30) DEFAULT NULL COMMENT '最高学历', ADD COLUMN marital_status VARCHAR(10) DEFAULT NULL COMMENT '婚姻状态'; ALTER TABLE growth_records ADD COLUMN school VARCHAR(100) DEFAULT NULL COMMENT '学校名称', ADD COLUMN grade INT DEFAULT NULL COMMENT '年级(数字)', ADD COLUMN academic_performance VARCHAR(200) DEFAULT NULL COMMENT '成绩/学业表现', ADD COLUMN school_province VARCHAR(50) DEFAULT NULL COMMENT '学校所在省', ADD COLUMN school_city VARCHAR(50) DEFAULT NULL COMMENT '学校所在市', ADD COLUMN school_district VARCHAR(50) DEFAULT NULL COMMENT '学校所在区', ADD COLUMN school_street VARCHAR(50) DEFAULT NULL COMMENT '学校所在街道'; ```