From abf1ab1d47b23f25129ff21617a248a63d87ba58 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Thu, 25 Dec 2025 10:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E6=97=8F=E4=BF=A1=E6=81=AF=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=88=91=E7=9A=84=E5=AE=B6=E6=97=8F=E6=9D=83=E9=99=90?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/command/family/FamilyBaseInfoExe.java | 33 +++++++++++-------- .../clientobject/family/FamilyBaseInfoCO.java | 6 ++++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java index 0996bb2f..312d044c 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java @@ -42,6 +42,7 @@ import java.util.stream.Collectors; import com.red.circle.tool.core.date.ZonedDateTimeAsiaRiyadhUtils; import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Component; /** @@ -64,16 +65,28 @@ public class FamilyBaseInfoExe { private final FamilyBoxUserContributeService familyBoxUserContributeService; private final FamilyBoxUserRewardService familyBoxUserRewardService; private final TeamMemberService teamMemberService; - private final EnumConfigCacheService enumConfigCacheService; private final UserProfileGateway userProfileGateway; public FamilyBaseInfoCO execute(FamilyBaseInfoQueryCmd cmd) { FamilyBaseInfo baseInfo = getFamilyBaseInfo(cmd); - FamilyDetailsDTO familyLevel = getCacheFamilyLevel(cmd, baseInfo.getId()); + FamilyDetailsDTO familyLevel = familyCommon.getFamilyDetails(cmd.getReqSysOrigin().getOrigin(), baseInfo.getId()); FamilyMemberInfo familyMemberInfo = familyMemberInfoService.getAdmin(cmd.getFamilyId(), FamilyRoleEnum.ADMIN.getKey()); + FamilyMemberInfo myFamilyInfo = familyMemberInfoService.getFamilyMemberByUserId(cmd.getReqUserId()); + + //族长信息 + FamilyBaseInfoCO.FamilyAdminInfo adminInfo = getFamilyAdminInfo(familyMemberInfo); + //宝箱信息 + FamilyBaseInfoCO.FamilyBoxInfo boxInfo = buildBoxInfo(cmd.getFamilyId(), cmd.getReqUserId()); + //支持者和主播列表 + FamilyBaseInfoCO.FamilyMemberList memberList = buildMemberList(cmd.getFamilyId()); + + return getFamilyInfoCO(baseInfo, familyLevel, adminInfo, myFamilyInfo, boxInfo, memberList); + } + + private FamilyBaseInfoCO.FamilyAdminInfo getFamilyAdminInfo(FamilyMemberInfo familyMemberInfo) { FamilyBaseInfoCO.FamilyAdminInfo adminInfo = null; if (familyMemberInfo != null) { UserProfile userProfile = userProfileGateway.getByUserId(familyMemberInfo.getMemberUserId()); @@ -86,17 +99,13 @@ public class FamilyBaseInfoExe { adminInfo.setSpecialAccount(Optional.ofNullable(userProfile.getOwnSpecialId()).map(OwnSpecialId::getAccount).orElse(null)); } } - - FamilyBaseInfoCO.FamilyBoxInfo boxInfo = buildBoxInfo(cmd.getFamilyId(), cmd.getReqUserId()); - - FamilyBaseInfoCO.FamilyMemberList memberList = buildMemberList(cmd.getFamilyId()); - - return getFamilyInfoCO(baseInfo, familyLevel, adminInfo, boxInfo, memberList); + return adminInfo; } private FamilyBaseInfoCO getFamilyInfoCO(FamilyBaseInfo baseInfo, FamilyDetailsDTO familyLevel, FamilyBaseInfoCO.FamilyAdminInfo adminInfo, + FamilyMemberInfo myFamilyInfo, FamilyBaseInfoCO.FamilyBoxInfo boxInfo, FamilyBaseInfoCO.FamilyMemberList memberList) { @@ -118,11 +127,9 @@ public class FamilyBaseInfoExe { .setMaxMember(familyLevel.getMaxMember()) .setLevelBackgroundPicture(familyLevel.getLevelBackgroundPicture()) .setBoxInfo(boxInfo) - .setMemberList(memberList); - } - - private FamilyDetailsDTO getCacheFamilyLevel(FamilyBaseInfoQueryCmd cmd, Long familyId) { - return familyCommon.getFamilyDetails(cmd.getReqSysOrigin().getOrigin(), familyId); + .setMemberList(memberList) + .setMyFamilyRole(Optional.ofNullable(myFamilyInfo).map(FamilyMemberInfo::getMemberRole).orElse(null)) + ; } private Integer getFamilyMemberCount(Long familyId) { diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyBaseInfoCO.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyBaseInfoCO.java index d2967634..e28637d0 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyBaseInfoCO.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyBaseInfoCO.java @@ -7,6 +7,7 @@ import java.io.Serial; import java.math.BigDecimal; import java.util.List; +import com.red.circle.other.inner.model.dto.famliy.FamilyMemberInfoDTO; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -125,6 +126,11 @@ public class FamilyBaseInfoCO extends ClientObject { */ private FamilyMemberList memberList; + /** + * 我的家族权限 + */ + private String myFamilyRole; + /** * 家族群聊付费解锁金额. */