| 属性 | 值 |
|---|---|
| 状态 | ✅ 已修复 |
| 首次发现 | v13 (2026/7/8) |
| 修复版本 | 1cbefa5(2026-07-08 远程) |
| 严重级别 | 已关闭 |
| 现象 | FamilyMemberService.java 编译失败 (7 errors),全部 DTO 方法引用错误 |
| 根因 | AddFamilyMemberDTO 已拆分为 relativeMemberId + generationLevel + peerType 三个新字段,移除了 relationshipType 字段。但 FamilyMemberService.addMember() 仍使用 dto.getRelationshipType()。同时也影响到 listMembers() 和 toFamilyMemberVO() 方法 |
| 受影响行 | 第 55, 71, 74, 92 行 (dto.getRelationshipType()) |
| 影响 | ❌ 整个后端无法编译,所有 JUnit 测试和 API 测试阻塞 |
| 修复 | 远程 commit 1cbefa5 已修复 FamilyMemberService 兼容新 DTO |
| 属性 | 值 |
|---|---|
| 状态 | 🟡 待修复 |
| 首次发现 | v13 (2026/7/8) |
| 严重级别 | 低 |
| 现象 | schema.sql 中 family_members 的 CREATE TABLE 语句缺少 generation 和 is_spouse 列定义 |
| 根因 | Migration 36-37 通过 ensureColumn 添加了列,但未按 AGENTS.md 规定同步更新 schema.sql |
| 影响 | ⚠️ 重新建库时会导致列缺失(迁移可重复执行所以生产无影响) |
| 建议 | 在 family_members CREATE TABLE 中添加 generation INT COMMENT '辈分值' 和 is_spouse TINYINT(1) DEFAULT 0 COMMENT '是否配偶' |
| 属性 | 值 |
|---|---|
| 状态 | 🔵 待确认 |
| 首次发现 | v13 (2026/7/8) |
| 严重级别 | 低 |
| 现象 | FamilyMember 实体有 generation + isSpouse 字段,但 FamilyMemberVO 只有 generation 字段 |
| 可能原因 | 前端可能通过 generation=0 && relationshipType=spouse 推断配偶关系,或 isSpouse 尚未在前端使用 |
| 建议 | 确认前端是否需要单独的 isSpouse 布尔字段;若需则在 VO 中添加 |
| 属性 | 值 |
|---|---|
| 状态 | 🔴 待修复 |
| 首次发现 | v12 (2026/7/7) |
| 严重级别 | 中 |
| 现象 | /api/admin/supply-system/create 返回 500 Internal Server Error |
| 可能原因 | 数据库 supply_system 表可能不存在(迁移 33 未在生产环境执行)或字段映射问题 |
| 建议 | 确认数据库是否有 supply_system 表,执行 SELECT * FROM supply_system LIMIT 1 验证 |
| 属性 | 值 |
|---|---|
| 状态 | 🔴 待修复 |
| 首次发现 | v12 (2026/7/7) |
| 严重级别 | 中 |
| 现象 | /api/admin/foods/list 返回 500 Internal Server Error |
| 影响 | Web 管理端饮食管理页面无法加载食材列表 |
| 属性 | 值 |
|---|---|
| 状态 | 🔴 待修复 |
| 首次发现 | v12 (2026/7/7) |
| 严重级别 | 中 |
| 现象 | /api/admin/foods/detail 返回 200 但 data 是逗号字符串而非 JSON 对象。错误消息:For input string: "{id=4, name=TestFood_..., ...}" |
| 根因 | AdminFoodController.detail() 返回的 DTO 被当作字符串处理,或序列化问题 |
| 影响 | FOOD-03~06 后续用例全部失败(依赖 detail 返回的正确 id) |
| 属性 | 值 |
|---|---|
| 状态 | ℹ️ 数据依赖 — 非代码缺陷 |
| 首次发现 | v9 |
| 最近验证 | v10 (2026/7/4) |
| 严重级别 | 低 |
| 现象 | /api/guide/activities/list 返回 500 |
| 根因分析 | GuideActivityController.getActivityList() 代码逻辑正确(@PostMapping、null安全参数)。GuideActivityMapper 使用 @Select 注解直接查询 guide_activities 表。500 由以下原因引起:1. 测试用户无 role=teacher 或 guide 身份 2. 数据库中 guide_activities 表缺少测试数据 |
| 结论 | 非代码缺陷,需在测试环境中:1) 创建 guide 测试账号 2) 插入 guide_activities 测试数据 |
| ID | 问题 | 状态 | 备注 |
|---|---|---|---|
| AUTO-TAG-02 | Tags 字段在 article detail 返回 null | ℹ️ 前端计算 | 不是 bug,只是 API 不返回该字段 |
| ISSUE-011 | schema.sql 未同步 migration 36-37 | 🟡 待修复 | DDL 一致性 |
| ISSUE-012 | FamilyMemberVO 缺少 isSpouse | 🔵 待确认 | 需确认前端需求 |
| ID | 问题 | 修复版本 | 关闭时间 |
|---|---|---|---|
| ISSUE-001 | Vendor 登录失败 — 验证码旁路 | v11 | 2026/7/6 |
| ISSUE-002 | Article publish 500 错误 | v10 | 2026/7/4 |
| ISSUE-003 | submit-for-review 路由 404(测试路径错误,非 API 缺陷) | v12 | 2026/7/7 |
| ISSUE-006 | Article workflow 测试路径错误(API 正常,v11_test.js 路径错误) | v12 | 2026/7/7 |
| NEW-02 | SKU list NPE | v10 (c0afe7e) |
2026/7/6 |
| FRONTEND-01 | 商城 '更多' 按钮无法跳转 | v11 | 2026/7/7 |
| FRONTEND-02 | 过渡页显示时间过长 (5s→2s) | v11 | 2026/7/7 |
| FRONTEND-03 | 智页面推荐阅读 '更多' 导航到未注册路由 | v11 | 2026/7/7 |
| FRONTEND-04 | 行页面缺少推荐阅读 (relatedDimensions JSON 解析) | v11 | 2026/7/7 |
| FRONTEND-05 | 行页面移除孩子管理快捷操作组件 | v11 | 2026/7/7 |
最后更新: 2026-07-08 (v13 最终版)