|
@@ -0,0 +1,181 @@
|
|
|
|
|
+# 家庭成员管理问题追踪 — 2026-07-12
|
|
|
|
|
+
|
|
|
|
|
+**发现日期**: 2026-07-12
|
|
|
|
|
+**模块**: 家庭成员管理 / 用户个人信息
|
|
|
|
|
+**发现人**: Sisyphus (代码审查)
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 问题总览
|
|
|
|
|
+
|
|
|
|
|
+| # | 问题ID | 模块 | 严重度 | 状态 | 描述 |
|
|
|
|
|
+|---|--------|------|:---:|------|------|
|
|
|
|
|
+| 1 | ~~ISSUE-012~~ | ~~添加成员~~ | 🔴 高 | ✅ 已修复 | 辈分等级不能为空 Bug |
|
|
|
|
|
+| 2 | ~~ISSUE-013~~ | ~~富维度页面~~ | 🟡 中 | ✅ 已修复 | TabBar "我的" 页缺少家庭成员菜单入口 |
|
|
|
|
|
+| 3 | ~~ISSUE-014~~ | ~~成员信息~~ | 🟡 中 | ✅ 已修复 | 成员缺少出生时辰/体重/出生地/剖腹产字段 |
|
|
|
|
|
+| 4 | ~~ISSUE-015~~ | ~~用户信息~~ | 🟡 中 | ✅ 已修复 | 个人信息缺兴趣爱好/饮食偏好 + 变更历史 |
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## ISSUE-012:添加家庭成员时报"辈分等级不能为空"
|
|
|
|
|
+
|
|
|
|
|
+**严重度**: 🔴 高
|
|
|
|
|
+**状态**: ✅ 已修复
|
|
|
|
|
+**模块**: 家庭成员管理
|
|
|
|
|
+**文件**:
|
|
|
|
|
+- `cfc-frontend/pages/family/add-member.vue`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/dto/AddFamilyMemberDTO.java`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/service/FamilyMemberService.java`
|
|
|
|
|
+
|
|
|
|
|
+### 问题描述
|
|
|
|
|
+
|
|
|
|
|
+用户在"添加家庭成员"页面填写昵称、关系类型、性别、出生日期后提交,后台返回"辈分等级不能为空"错误,添加失败。
|
|
|
|
|
+
|
|
|
|
|
+### 根因分析
|
|
|
|
|
+
|
|
|
|
|
+**前端只传了 `relationshipType`,没传 `generationLevel`。**
|
|
|
|
|
+
|
|
|
|
|
+`AddFamilyMemberDTO` 有两个独立必填字段:`relationshipType` (关系类型标识) + `generationLevel` (辈分等级)。前端 `add-member.vue` 提交的 payload 中只有 `relationshipType`:
|
|
|
|
|
+
|
|
|
|
|
+```javascript
|
|
|
|
|
+var payload = {
|
|
|
|
|
+ nickname: this.form.nickname.trim(),
|
|
|
|
|
+ relationshipType: this.form.relationshipType, // ← 只有这个
|
|
|
|
|
+ gender: this.form.gender,
|
|
|
|
|
+ birthday: this.form.birthday
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+后端 `FamilyMemberService.addMember()` 第 68-69 行校验:
|
|
|
|
|
+```java
|
|
|
|
|
+if (dto.getGenerationLevel() == null || dto.getGenerationLevel().trim().isEmpty()) {
|
|
|
|
|
+ throw new IllegalArgumentException("辈分等级不能为空");
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**关系类型 → 辈分等级映射规则**(`GenerationLevel` enum):
|
|
|
|
|
+| relationshipType | generationLevel | peerType | 说明 |
|
|
|
|
|
+|---|---|---|---|
|
|
|
|
|
+| `sibling` | `peer` | `sibling` | 兄弟姐妹 |
|
|
|
|
|
+| `spouse` | `peer` | `spouse` | 配偶 |
|
|
|
|
|
+| `parent` | `parent` | — | 父母 |
|
|
|
|
|
+| `child` | `child` | — | 子女 |
|
|
|
|
|
+| `grandparent` | `grandparent` | — | 祖父母 |
|
|
|
|
|
+| `grandchild` | `grandchild` | — | 孙子/女 |
|
|
|
|
|
+| `great_grandparent` | `great_grandparent` | — | 曾祖父母 |
|
|
|
|
|
+| `great_grandchild` | `great_grandchild` | — | 曾孙 |
|
|
|
|
|
+
|
|
|
|
|
+### 修复方案
|
|
|
|
|
+
|
|
|
|
|
+前端 `add-member.vue` 提交时,根据 `relationshipType` 自动推导 `generationLevel` 和 `peerType`。
|
|
|
|
|
+
|
|
|
|
|
+### 验证方式
|
|
|
|
|
+
|
|
|
|
|
+选择各种关系类型(父母/子女/配偶/兄弟姐妹)添加成员,确认均能成功。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## ISSUE-013:富 TabBar 页缺少"家庭成员"菜单入口
|
|
|
|
|
+
|
|
|
|
|
+**严重度**: 🟡 中
|
|
|
|
|
+**状态**: ✅ 已修复
|
|
|
|
|
+**模块**: 富维度页面
|
|
|
|
|
+**文件**: `cfc-frontend/pages/profile/profile.vue`
|
|
|
|
|
+
|
|
|
|
|
+### 问题描述
|
|
|
|
|
+
|
|
|
|
|
+家庭成员管理页面的路由 `/pages/profile/family-members` 可用,但从 TabBar "我的"(富维度)页面无法直接进入。原来的菜单被删除后,页面成了"孤儿"。
|
|
|
|
|
+
|
|
|
|
|
+### 根因分析
|
|
|
|
|
+
|
|
|
|
|
+"家庭成员"菜单在 `pages/wealth/index.vue`(财富中心分包页)第 137-141 行仍然存在:
|
|
|
|
|
+```javascript
|
|
|
|
|
+<view class="menu-item" v-if="role === 'parent'" @click="goToFamilyMembers">
|
|
|
|
|
+ <text>👨👩👧👦 家庭成员</text>
|
|
|
|
|
+</view>
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+但 `pages/wealth/index` 是 subpackage 页面,不是 TabBar "我的" 主页面 (`pages/profile/profile`)。TabBar "我的" 页面 (`pages/profile/profile.vue`) 里**完全没有**"家庭成员"入口。
|
|
|
|
|
+
|
|
|
|
|
+### 修复方案
|
|
|
|
|
+
|
|
|
|
|
+在 `pages/profile/profile.vue` 增加"家庭成员"菜单项,导航到 `/pages/profile/family-members`。
|
|
|
|
|
+
|
|
|
|
|
+### 验证方式
|
|
|
|
|
+
|
|
|
|
|
+TabBar "我的" → 点击"家庭成员" → 进入成员管理页面。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## ISSUE-014:添加成员缺少出生时辰/体重/出生地/剖腹产字段
|
|
|
|
|
+
|
|
|
|
|
+**严重度**: 🟡 中
|
|
|
|
|
+**状态**: ✅ 已修复
|
|
|
|
|
+**模块**: 家庭成员管理
|
|
|
|
|
+**文件**:
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/FamilyMember.java`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/dto/AddFamilyMemberDTO.java`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/service/FamilyMemberService.java`
|
|
|
|
|
+- `cfc-frontend/pages/family/add-member.vue`
|
|
|
|
|
+- `cfc-backend/src/main/resources/schema.sql`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
|
|
|
|
|
+
|
|
|
|
|
+### 问题描述
|
|
|
|
|
+
|
|
|
|
|
+`add-member.vue` 表单仅有昵称、关系类型、性别、出生日期、手机号 5 个字段。缺少出生时辰、出生体重、出生地、是否剖腹产等家庭成员重要信息。
|
|
|
|
|
+
|
|
|
|
|
+### 根因分析
|
|
|
|
|
+
|
|
|
|
|
+`FamilyMember` entity 和 `AddFamilyMemberDTO` 均无这些字段。
|
|
|
|
|
+
|
|
|
|
|
+### 修复方案
|
|
|
|
|
+
|
|
|
|
|
+新增 4 个字段:`birthHour`、`birthWeight`、`birthPlace`、`isCesarean`,涉及后端 entity + DTO + service + 数据库迁移 + schema.sql + 前端表单。
|
|
|
|
|
+
|
|
|
|
|
+### 验证方式
|
|
|
|
|
+
|
|
|
|
|
+添加成员时出现出生时辰、体重、出生地、剖腹产 4 个新字段,填写后可成功提交。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## ISSUE-015:用户个人信息补充兴趣爱好/饮食偏好 + 变更历史
|
|
|
|
|
+
|
|
|
|
|
+**严重度**: 🟡 中
|
|
|
|
|
+**状态**: ✅ 已修复
|
|
|
|
|
+**模块**: 用户信息管理
|
|
|
|
|
+**文件**:
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/User.java`
|
|
|
|
|
+- `cfc-frontend/pages/user-edit/user-edit.vue`
|
|
|
|
|
+- 新建 `UserProfileHistory` entity + `user_profile_history` 表
|
|
|
|
|
+- `cfc-backend/src/main/resources/schema.sql`
|
|
|
|
|
+- `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
|
|
|
|
|
+
|
|
|
|
|
+### 问题描述
|
|
|
|
|
+
|
|
|
|
|
+1. 用户个人信息缺少兴趣爱好、饮食偏好字段
|
|
|
|
|
+2. 用户信息修改后没有历史记录,无法追溯变更
|
|
|
|
|
+
|
|
|
|
|
+### 根因分析
|
|
|
|
|
+
|
|
|
|
|
+- `User` entity 无 `hobbies`、`dietPreferences` 字段
|
|
|
|
|
+- 无任何 profile 变更历史记录机制
|
|
|
|
|
+
|
|
|
|
|
+### 修复方案
|
|
|
|
|
+
|
|
|
|
|
+1. `User` entity + `users` 表添加 `hobbies`、`dietPreferences` 字段
|
|
|
|
|
+2. 新建 `user_profile_history` 表,记录每次变更的 field_name / old_value / new_value / changed_at / source
|
|
|
|
|
+3. `user-edit.vue` 表单增加兴趣爱好、饮食偏好输入框
|
|
|
|
|
+4. 用户信息更新时自动写入变更历史
|
|
|
|
|
+
|
|
|
|
|
+### 验证方式
|
|
|
|
|
+
|
|
|
|
|
+1. 编辑个人信息,兴趣爱好、饮食偏好字段可见可填
|
|
|
|
|
+2. 修改后 `user_profile_history` 表有对应记录
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## 更新记录
|
|
|
|
|
+
|
|
|
|
|
+| 日期 | 操作人 | 内容 |
|
|
|
|
|
+|------|--------|------|
|
|
|
|
|
+| 2026-07-12 | Sisyphus | 📋 创建家庭成员管理问题追踪文档,录入 ISSUE-012 ~ ISSUE-015 |
|