|
|
@@ -775,9 +775,13 @@ private FamilyInvitationService familyInvitationService;
|
|
|
*/
|
|
|
public List<FamilyMemberVO> getVisibleMembers(Long userId) {
|
|
|
User user = userMapper.selectById(userId);
|
|
|
- if (user == null || user.getFamilyId() == null) {
|
|
|
+ if (user == null) {
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
+ if (user.getFamilyId() == null) {
|
|
|
+ // 兜底:无家庭时自动创建,避免"暂无家庭"空态
|
|
|
+ ensureUserHasFamily(user);
|
|
|
+ }
|
|
|
Long familyId = user.getFamilyId();
|
|
|
List<FamilyMemberVO> result = new ArrayList<>();
|
|
|
|
|
|
@@ -1313,6 +1317,19 @@ FamilyMember child = familyMemberMapper.selectById(memberId);
|
|
|
log.info("安全兜底:为用户 {} 自动创建家庭 {}", user.getId(), family.getId());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 确保用户有家庭(公开兜底入口,供查询家庭类接口在 familyId 为空时调用)
|
|
|
+ * @return 用户的 familyId;用户不存在时返回 null
|
|
|
+ */
|
|
|
+ public Long ensureUserFamily(Long userId) {
|
|
|
+ User user = userMapper.selectById(userId);
|
|
|
+ if (user == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ ensureUserHasFamily(user);
|
|
|
+ return user.getFamilyId();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 为用户创建新家庭
|
|
|
*/
|