|
|
@@ -261,8 +261,9 @@ public class FamilyMemberService {
|
|
|
vo.setShowToFamily(fm.getShowToFamily());
|
|
|
if (fm.getBirthday() != null) {
|
|
|
vo.setAge(calculateAge(fm.getBirthday()));
|
|
|
+ vo.setBirthday(formatDate(fm.getBirthday()));
|
|
|
}
|
|
|
- // 计算视角相关的关系标签(优先使用关系表)
|
|
|
+ // 计算视角相关的关系标签
|
|
|
if (viewerMember != null) {
|
|
|
Integer genValue = null;
|
|
|
if (familyRelationshipService != null && viewerMember.getId() != null) {
|
|
|
@@ -985,6 +986,7 @@ vo.setIsSelf(viewerMember != null && viewerMember.getId().equals(fm.getId()));
|
|
|
vo.setShowToFamily(member.getShowToFamily());
|
|
|
if (member.getBirthday() != null) {
|
|
|
vo.setAge(calculateAge(member.getBirthday()));
|
|
|
+ vo.setBirthday(formatDate(member.getBirthday()));
|
|
|
}
|
|
|
// 设置 isSwitchable:仅无 openid 的不可登录成员可被切换(可登录成员不允许切换视角)
|
|
|
if (member.getUserId() != null) {
|
|
|
@@ -1011,6 +1013,17 @@ vo.setIsSelf(viewerMember != null && viewerMember.getId().equals(fm.getId()));
|
|
|
return Math.max(0, age);
|
|
|
}
|
|
|
|
|
|
+ /** 格式化为 yyyy-MM-dd(前端编辑回显用),返回 null 时不修改 */
|
|
|
+ private String formatDate(java.util.Date d) {
|
|
|
+ if (d == null) return null;
|
|
|
+ try {
|
|
|
+ java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ return sdf.format(d);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 计算成员的实际角色(effective role)
|
|
|
* 优先使用年龄判定(birthday → age < childThreshold → child),
|