|
|
@@ -978,6 +978,17 @@ public class MembershipService implements MembershipServiceInterface {
|
|
|
log.info("新成员继承家庭会员: userId={}, familyId={}, level={}", userId, familyId, active.getLevelCode());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取家庭有效会员等级(按家庭维度判定,不依赖任何特定用户)
|
|
|
+ * @return 等级代码(FAMILY/PREMIUM/LIFETIME/FREE),无有效会员返回 FREE
|
|
|
+ */
|
|
|
+ public String getFamilyEffectiveLevel(Long familyId) {
|
|
|
+ if (familyId == null) return "FREE";
|
|
|
+ FamilyMembership active = getActiveFamilyMembership(familyId);
|
|
|
+ if (active != null) return active.getLevelCode();
|
|
|
+ return "FREE";
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 方案B:重新核算家庭会员身份(成员离开/切换家庭/回收时调用)
|
|
|
* - 家庭有有效会员 → 同步给所有成员
|