|
@@ -224,10 +224,9 @@ public class FamilyMemberService {
|
|
|
Long familyId = user.getFamilyId();
|
|
Long familyId = user.getFamilyId();
|
|
|
List<FamilyMemberVO> result = new ArrayList<>();
|
|
List<FamilyMemberVO> result = new ArrayList<>();
|
|
|
|
|
|
|
|
- // 查询家庭创建者(管理员),用于下发 isAdmin 给前端控制编辑权限
|
|
|
|
|
|
|
+ // 查询家庭创建者,用于逐成员判断其是否管理员(isAdmin 语义:该成员本人是否为家庭创建者)
|
|
|
Family family = familyMapper.selectById(familyId);
|
|
Family family = familyMapper.selectById(familyId);
|
|
|
Long creatorId = (family != null) ? family.getCreatorId() : null;
|
|
Long creatorId = (family != null) ? family.getCreatorId() : null;
|
|
|
- boolean isAdmin = creatorId != null && creatorId.equals(userId);
|
|
|
|
|
|
|
|
|
|
// 查询 family_members 表(排除回收箱成员)
|
|
// 查询 family_members 表(排除回收箱成员)
|
|
|
List<FamilyMember> familyMembers = familyMemberMapper.selectList(
|
|
List<FamilyMember> familyMembers = familyMemberMapper.selectList(
|
|
@@ -249,7 +248,8 @@ public class FamilyMemberService {
|
|
|
vo.setId(fm.getId());
|
|
vo.setId(fm.getId());
|
|
|
vo.setSource("family_member");
|
|
vo.setSource("family_member");
|
|
|
vo.setUserId(fm.getUserId());
|
|
vo.setUserId(fm.getUserId());
|
|
|
- vo.setIsAdmin(isAdmin);
|
|
|
|
|
|
|
+ // isAdmin:该成员是否为家庭创建者(仅创建者本人为 true)
|
|
|
|
|
+ vo.setIsAdmin(creatorId != null && creatorId.equals(fm.getUserId()));
|
|
|
vo.setNickname(resolveMemberNickname(fm));
|
|
vo.setNickname(resolveMemberNickname(fm));
|
|
|
vo.setPhone(fm.getPhone());
|
|
vo.setPhone(fm.getPhone());
|
|
|
vo.setAvatar(fm.getAvatar());
|
|
vo.setAvatar(fm.getAvatar());
|
|
@@ -341,7 +341,7 @@ vo.setIsSelf(viewerMember != null && viewerMember.getId().equals(fm.getId()));
|
|
|
vo.setAge(calculateAge(p.getBirthday()));
|
|
vo.setAge(calculateAge(p.getBirthday()));
|
|
|
}
|
|
}
|
|
|
vo.setGeneration(0);
|
|
vo.setGeneration(0);
|
|
|
- vo.setIsAdmin(isAdmin);
|
|
|
|
|
|
|
+ vo.setIsAdmin(creatorId != null && creatorId.equals(p.getId()));
|
|
|
vo.setIsSelf(p.getId().equals(userId));
|
|
vo.setIsSelf(p.getId().equals(userId));
|
|
|
// 家长账号均为可登录用户,不允许切换视角(与成员段"仅不可登录可切换"一致)
|
|
// 家长账号均为可登录用户,不允许切换视角(与成员段"仅不可登录可切换"一致)
|
|
|
vo.setIsSwitchable(false); // 含 source='parent' 段
|
|
vo.setIsSwitchable(false); // 含 source='parent' 段
|