家族详情增加组长信息字段
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.framework.core.response.CommonErrorCode;
|
||||||
import com.red.circle.other.app.dto.clientobject.family.FamilyBaseInfoCO;
|
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.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.common.family.FamilyCommon;
|
||||||
import com.red.circle.other.infra.database.cache.service.other.EnumConfigCacheService;
|
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.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.enums.OtherConfigEnum;
|
||||||
import com.red.circle.other.infra.database.rds.service.family.FamilyBaseInfoService;
|
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.FamilyLevelExpService;
|
||||||
import com.red.circle.other.infra.database.rds.service.family.FamilyMemberInfoService;
|
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.infra.enums.family.FamilyStatusEnum;
|
||||||
import com.red.circle.other.inner.enums.config.EnumConfigKey;
|
import com.red.circle.other.inner.enums.config.EnumConfigKey;
|
||||||
import com.red.circle.other.inner.model.dto.famliy.FamilyDetailsDTO;
|
import com.red.circle.other.inner.model.dto.famliy.FamilyDetailsDTO;
|
||||||
@ -39,21 +44,38 @@ public class FamilyBaseInfoExe {
|
|||||||
private final FamilyBaseInfoService familyBaseInfoService;
|
private final FamilyBaseInfoService familyBaseInfoService;
|
||||||
private final FamilyMemberInfoService familyMemberInfoService;
|
private final FamilyMemberInfoService familyMemberInfoService;
|
||||||
private final EnumConfigCacheService enumConfigCacheService;
|
private final EnumConfigCacheService enumConfigCacheService;
|
||||||
|
private final UserProfileGateway userProfileGateway;
|
||||||
|
|
||||||
public FamilyBaseInfoCO execute(FamilyBaseInfoQueryCmd cmd) {
|
public FamilyBaseInfoCO execute(FamilyBaseInfoQueryCmd cmd) {
|
||||||
|
|
||||||
FamilyBaseInfo baseInfo = getFamilyBaseInfo(cmd);
|
FamilyBaseInfo baseInfo = getFamilyBaseInfo(cmd);
|
||||||
|
|
||||||
FamilyDetailsDTO familyLevel = getCacheFamilyLevel(cmd, baseInfo.getId());
|
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,
|
private FamilyBaseInfoCO getFamilyInfoCO(FamilyBaseInfo baseInfo,
|
||||||
FamilyDetailsDTO familyLevel,FamilyBaseInfoQueryCmd cmd) {
|
FamilyDetailsDTO familyLevel,
|
||||||
|
FamilyBaseInfoCO.FamilyAdminInfo adminInfo) {
|
||||||
|
|
||||||
return new FamilyBaseInfoCO()
|
return new FamilyBaseInfoCO()
|
||||||
.setFamilyId(baseInfo.getId())
|
.setFamilyId(baseInfo.getId())
|
||||||
|
.setFamilyAdmin(adminInfo)
|
||||||
.setFamilyAccount(baseInfo.getFamilyAccount())
|
.setFamilyAccount(baseInfo.getFamilyAccount())
|
||||||
.setFamilyAvatar(baseInfo.getFamilyAvatar())
|
.setFamilyAvatar(baseInfo.getFamilyAvatar())
|
||||||
.setFamilyName(baseInfo.getFamilyName())
|
.setFamilyName(baseInfo.getFamilyName())
|
||||||
|
|||||||
@ -57,6 +57,11 @@ public class FamilyBaseInfoCO extends ClientObject {
|
|||||||
*/
|
*/
|
||||||
private String familyNotice;
|
private String familyNotice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 家族长信息
|
||||||
|
*/
|
||||||
|
private FamilyAdminInfo familyAdmin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 家族当前经验值
|
* 家族当前经验值
|
||||||
*/
|
*/
|
||||||
@ -115,4 +120,20 @@ public class FamilyBaseInfoCO extends ClientObject {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal amount;
|
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")
|
@TableField("member_role")
|
||||||
private String memberRole;
|
private String memberRole;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user