|
@@ -205,6 +205,11 @@ public class FamilyMemberService {
|
|
|
log.error("发放家庭人口券异常: memberId={}", member.getId(), e);
|
|
log.error("发放家庭人口券异常: memberId={}", member.getId(), e);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 方案B:新成员加入时,继承家庭现有有效会员身份
|
|
|
|
|
+ if (memberUserId != null) {
|
|
|
|
|
+ membershipService.syncMembershipForNewMember(memberUserId, familyId);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return toFamilyMemberVO(member);
|
|
return toFamilyMemberVO(member);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -520,6 +525,9 @@ public class FamilyMemberService {
|
|
|
user.setUpdatedAt(new Date());
|
|
user.setUpdatedAt(new Date());
|
|
|
userMapper.updateById(user);
|
|
userMapper.updateById(user);
|
|
|
|
|
|
|
|
|
|
+ // 方案B:成员离开后,重新核算原家庭会员身份(成员离开不影响新家庭,新家庭通常是新建的无会员)
|
|
|
|
|
+ membershipService.reconcileFamilyMembership(oldFamilyId);
|
|
|
|
|
+
|
|
|
logMemberAction(oldFamilyId, member.getId(), "leave", member.getNickname(), null, userId);
|
|
logMemberAction(oldFamilyId, member.getId(), "leave", member.getNickname(), null, userId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -568,6 +576,9 @@ public class FamilyMemberService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
logMemberAction(targetFamilyId, memberId, "recycle", null, member.getNickname(), operatorUserId);
|
|
logMemberAction(targetFamilyId, memberId, "recycle", null, member.getNickname(), operatorUserId);
|
|
|
|
|
+
|
|
|
|
|
+ // 方案B:回收成员后,重新核算目标家庭会员身份
|
|
|
|
|
+ membershipService.reconcileFamilyMembership(targetFamilyId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -629,6 +640,10 @@ public class FamilyMemberService {
|
|
|
user.setUpdatedAt(new Date());
|
|
user.setUpdatedAt(new Date());
|
|
|
userMapper.updateById(user);
|
|
userMapper.updateById(user);
|
|
|
|
|
|
|
|
|
|
+ // 方案B:切换家庭后,重新核算新旧家庭的会员身份
|
|
|
|
|
+ membershipService.reconcileFamilyMembership(targetFamilyId);
|
|
|
|
|
+ membershipService.reconcileFamilyMembership(oldFamilyId);
|
|
|
|
|
+
|
|
|
logMemberAction(oldFamilyId, member.getId(), "switch", member.getNickname(), null, userId);
|
|
logMemberAction(oldFamilyId, member.getId(), "switch", member.getNickname(), null, userId);
|
|
|
}
|
|
}
|
|
|
|
|
|