状态: 待解决
严重度: 中
创建日期: 2026-06-29
模块: 用户管理
测试用例: ADMIN-CREATE-PARENT
根因确认日期: 2026-06-30
管理员通过 POST /api/admin/users/create 创建新用户时返回 Spring Boot 默认 500 错误页面(非业务 Result.error)。
code=500 status=Internal Server Error path=/api/admin/users/create
即使使用时间戳唯一手机号(如 13930143018)仍500,排除重复手机号问题。
文件: cfc-backend/src/main/java/com/etotem/cfc/controller/admin/AdminController.java line 76-104
User user = new User();
user.setPhone(phone);
user.setNickname(nickname);
user.setRole(role);
user.setRealName(realName);
user.setPassword(""); // ← 空字符串可能违反约束
user.setCreatedAt(new Date());
user.setUpdatedAt(new Date());
// ❌ 缺少: user.setFamilyId(...) — family_id 是 NOT NULL 字段!
userMapper.insert(user);
users 表结构(生产库):
family_id BIGINT NOT NULL, // ← 约束存在
根因: family_id 是 NOT NULL 字段,但 AdminController.createUser() 没有设置 familyId,导致 MySQL 约束违反异常 → 500。
| userId | phone | familyId |
|---|---|---|
| 1 | 13910958767 | 2 |
| 8 | 13701366188 | 2 |
| 9 | 13701366181 | 16 |
| 10 | 13800138999 | 17 |
在 AdminController.createUser() 中添加 familyId:
user.setFamilyId(1L); // 或创建新的 family 记录
或者修改表结构允许 NULL(不推荐)。
待定
待定
修复后运行:python e2e_issue_tracking.py 验证 ISSUE003-CREATE 通过。