家族详情增加组长信息字段
This commit is contained in:
parent
50c1a81dc9
commit
91812a3caa
@ -4,13 +4,18 @@ import com.red.circle.framework.core.asserts.ResponseAssert;
|
||||
import com.red.circle.framework.core.response.CommonErrorCode;
|
||||
import com.red.circle.other.app.dto.clientobject.family.FamilyBaseInfoCO;
|
||||
import com.red.circle.other.app.dto.cmd.family.FamilyBaseInfoQueryCmd;
|
||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||
import com.red.circle.other.domain.model.user.OwnSpecialId;
|
||||
import com.red.circle.other.domain.model.user.UserProfile;
|
||||
import com.red.circle.other.infra.common.family.FamilyCommon;
|
||||
import com.red.circle.other.infra.database.cache.service.other.EnumConfigCacheService;
|
||||
import com.red.circle.other.infra.database.rds.entity.family.FamilyBaseInfo;
|
||||
import com.red.circle.other.infra.database.rds.entity.family.FamilyMemberInfo;
|
||||
import com.red.circle.other.infra.database.rds.enums.OtherConfigEnum;
|
||||
import com.red.circle.other.infra.database.rds.service.family.FamilyBaseInfoService;
|
||||
import com.red.circle.other.infra.database.rds.service.family.FamilyLevelExpService;
|
||||
import com.red.circle.other.infra.database.rds.service.family.FamilyMemberInfoService;
|
||||
import com.red.circle.other.infra.enums.family.FamilyRoleEnum;
|
||||
import com.red.circle.other.infra.enums.family.FamilyStatusEnum;
|
||||
import com.red.circle.other.inner.enums.config.EnumConfigKey;
|
||||
import com.red.circle.other.inner.model.dto.famliy.FamilyDetailsDTO;
|
||||
@ -39,21 +44,38 @@ public class FamilyBaseInfoExe {
|
||||
private final FamilyBaseInfoService familyBaseInfoService;
|
||||
private final FamilyMemberInfoService familyMemberInfoService;
|
||||
private final EnumConfigCacheService enumConfigCacheService;
|
||||
private final UserProfileGateway userProfileGateway;
|
||||
|
||||
public FamilyBaseInfoCO execute(FamilyBaseInfoQueryCmd cmd) {
|
||||
|
||||
FamilyBaseInfo baseInfo = getFamilyBaseInfo(cmd);
|
||||
|
||||
FamilyDetailsDTO familyLevel = getCacheFamilyLevel(cmd, baseInfo.getId());
|
||||
FamilyMemberInfo familyMemberInfo = familyMemberInfoService.getAdmin(cmd.getFamilyId(), FamilyRoleEnum.ADMIN.getKey());
|
||||
|
||||
return getFamilyInfoCO(baseInfo, familyLevel,cmd);
|
||||
FamilyBaseInfoCO.FamilyAdminInfo adminInfo = null;
|
||||
if (familyMemberInfo != null) {
|
||||
UserProfile userProfile = userProfileGateway.getByUserId(familyMemberInfo.getMemberUserId());
|
||||
if (userProfile != null) {
|
||||
adminInfo = new FamilyBaseInfoCO.FamilyAdminInfo();
|
||||
adminInfo.setUserId(userProfile.getId());
|
||||
adminInfo.setAccount(userProfile.getAccount());
|
||||
adminInfo.setUserAvatar(userProfile.getUserAvatar());
|
||||
adminInfo.setAccount(userProfile.getAccount());
|
||||
adminInfo.setSpecialAccount(Optional.ofNullable(userProfile.getOwnSpecialId()).map(OwnSpecialId::getAccount).orElse(null));
|
||||
}
|
||||
}
|
||||
|
||||
return getFamilyInfoCO(baseInfo, familyLevel, adminInfo);
|
||||
}
|
||||
|
||||
private FamilyBaseInfoCO getFamilyInfoCO(FamilyBaseInfo baseInfo,
|
||||
FamilyDetailsDTO familyLevel,FamilyBaseInfoQueryCmd cmd) {
|
||||
FamilyDetailsDTO familyLevel,
|
||||
FamilyBaseInfoCO.FamilyAdminInfo adminInfo) {
|
||||
|
||||
return new FamilyBaseInfoCO()
|
||||
.setFamilyId(baseInfo.getId())
|
||||
.setFamilyAdmin(adminInfo)
|
||||
.setFamilyAccount(baseInfo.getFamilyAccount())
|
||||
.setFamilyAvatar(baseInfo.getFamilyAvatar())
|
||||
.setFamilyName(baseInfo.getFamilyName())
|
||||
|
||||
@ -57,6 +57,11 @@ public class FamilyBaseInfoCO extends ClientObject {
|
||||
*/
|
||||
private String familyNotice;
|
||||
|
||||
/**
|
||||
* 家族长信息
|
||||
*/
|
||||
private FamilyAdminInfo familyAdmin;
|
||||
|
||||
/**
|
||||
* 家族当前经验值
|
||||
*/
|
||||
@ -115,4 +120,20 @@ public class FamilyBaseInfoCO extends ClientObject {
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
@Data
|
||||
public static class FamilyAdminInfo {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long userId;
|
||||
|
||||
private String account;
|
||||
|
||||
private String specialAccount;
|
||||
|
||||
private String userAvatar;
|
||||
|
||||
private String userNickName;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -53,6 +53,7 @@ public class FamilyMemberInfo extends TimestampBaseEntity {
|
||||
|
||||
/**
|
||||
* 角色.
|
||||
* ADMIN-族长;MANAGE-管理员;MEMBER-成员
|
||||
*/
|
||||
@TableField("member_role")
|
||||
private String memberRole;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user