家族信息新增我的家族权限字段

This commit is contained in:
tianfeng 2025-12-25 10:58:38 +08:00
parent 8f0e9ed468
commit abf1ab1d47
2 changed files with 26 additions and 13 deletions

View File

@ -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) {

View File

@ -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;
/**
* 家族群聊付费解锁金额.
*/