家族会员列表增加代理和主播身份字段
This commit is contained in:
parent
6883d89b99
commit
43448cab51
@ -6,18 +6,19 @@ import com.red.circle.other.app.dto.clientobject.family.FamilyMemberCO;
|
|||||||
import com.red.circle.other.app.dto.cmd.family.FamilyMemberListQueryCmd;
|
import com.red.circle.other.app.dto.cmd.family.FamilyMemberListQueryCmd;
|
||||||
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
import com.red.circle.other.domain.gateway.user.UserProfileGateway;
|
||||||
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.mongo.entity.team.team.TeamMember;
|
||||||
|
import com.red.circle.other.infra.database.mongo.service.team.team.TeamMemberService;
|
||||||
import com.red.circle.other.infra.database.rds.dto.family.FamilyMemberExpDTO;
|
import com.red.circle.other.infra.database.rds.dto.family.FamilyMemberExpDTO;
|
||||||
import com.red.circle.other.infra.database.rds.service.family.FamilyMemberWeekExpService;
|
import com.red.circle.other.infra.database.rds.service.family.FamilyMemberWeekExpService;
|
||||||
import com.red.circle.other.infra.enums.family.FamilyRoleEnum;
|
import com.red.circle.other.infra.enums.family.FamilyRoleEnum;
|
||||||
import com.red.circle.other.inner.asserts.FamilyErrorCode;
|
import com.red.circle.other.inner.asserts.FamilyErrorCode;
|
||||||
|
import com.red.circle.other.inner.enums.team.TeamMemberRole;
|
||||||
import com.red.circle.other.inner.model.dto.user.OwnSpecialIdDTO;
|
import com.red.circle.other.inner.model.dto.user.OwnSpecialIdDTO;
|
||||||
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
import com.red.circle.other.inner.model.dto.user.UserProfileDTO;
|
||||||
import com.red.circle.tool.core.collection.CollectionUtils;
|
import com.red.circle.tool.core.collection.CollectionUtils;
|
||||||
import com.red.circle.tool.core.num.NumUtils;
|
import com.red.circle.tool.core.num.NumUtils;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.*;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -38,6 +39,7 @@ public class FamilyMemberListExe {
|
|||||||
private final UserProfileGateway userProfileGateway;
|
private final UserProfileGateway userProfileGateway;
|
||||||
private final UserProfileAppConvertor userProfileAppConvertor;
|
private final UserProfileAppConvertor userProfileAppConvertor;
|
||||||
private final FamilyMemberWeekExpService familyMemberWeekExpService;
|
private final FamilyMemberWeekExpService familyMemberWeekExpService;
|
||||||
|
private final TeamMemberService teamMemberService;
|
||||||
|
|
||||||
public List<FamilyMemberCO> execute(FamilyMemberListQueryCmd cmd) {
|
public List<FamilyMemberCO> execute(FamilyMemberListQueryCmd cmd) {
|
||||||
|
|
||||||
@ -53,14 +55,19 @@ public class FamilyMemberListExe {
|
|||||||
if (CollectionUtils.isEmpty(mapUserBase)) {
|
if (CollectionUtils.isEmpty(mapUserBase)) {
|
||||||
return CollectionUtils.newArrayList();
|
return CollectionUtils.newArrayList();
|
||||||
}
|
}
|
||||||
return getMemberCO(members, mapUserBase);
|
|
||||||
|
Map<Long, TeamMember> teamMemberMap = mapTeamMember(members);
|
||||||
|
|
||||||
|
return getMemberCO(members, mapUserBase, teamMemberMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<FamilyMemberCO> getMemberCO(List<FamilyMemberExpDTO> members,
|
private List<FamilyMemberCO> getMemberCO(List<FamilyMemberExpDTO> members,
|
||||||
Map<Long, UserProfileDTO> userProfileMap) {
|
Map<Long, UserProfileDTO> userProfileMap,
|
||||||
|
Map<Long, TeamMember> teamMemberMap) {
|
||||||
|
|
||||||
return members.stream().map(member -> {
|
return members.stream().map(member -> {
|
||||||
UserProfileDTO user = userProfileMap.get(member.getMemberUserId());
|
UserProfileDTO user = userProfileMap.get(member.getMemberUserId());
|
||||||
|
TeamMember teamMember = teamMemberMap.get(member.getMemberUserId());
|
||||||
return new FamilyMemberCO()
|
return new FamilyMemberCO()
|
||||||
.setFamilyId(member.getFamilyId())
|
.setFamilyId(member.getFamilyId())
|
||||||
.setMemberId(member.getId())
|
.setMemberId(member.getId())
|
||||||
@ -70,6 +77,8 @@ public class FamilyMemberListExe {
|
|||||||
.setSpecialAccount(Optional.ofNullable(user.getOwnSpecialId()).map(OwnSpecialIdDTO::getAccount).orElse(null))
|
.setSpecialAccount(Optional.ofNullable(user.getOwnSpecialId()).map(OwnSpecialIdDTO::getAccount).orElse(null))
|
||||||
.setMemberNickname(user.getUserNickname())
|
.setMemberNickname(user.getUserNickname())
|
||||||
.setMemberRole(member.getMemberRole())
|
.setMemberRole(member.getMemberRole())
|
||||||
|
.setAgent(Objects.nonNull(teamMember) && TeamMemberRole.OWN.eq(teamMember.getRole()))
|
||||||
|
.setAnchor(Objects.nonNull(teamMember))
|
||||||
;
|
;
|
||||||
|
|
||||||
}).filter(Objects::nonNull).toList();
|
}).filter(Objects::nonNull).toList();
|
||||||
@ -80,6 +89,12 @@ public class FamilyMemberListExe {
|
|||||||
members.stream().map(FamilyMemberExpDTO::getMemberUserId).collect(Collectors.toSet())));
|
members.stream().map(FamilyMemberExpDTO::getMemberUserId).collect(Collectors.toSet())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Map<Long, TeamMember> mapTeamMember(List<FamilyMemberExpDTO> members) {
|
||||||
|
Set<Long> collect = members.stream().map(FamilyMemberExpDTO::getMemberUserId).collect(Collectors.toSet());
|
||||||
|
List<TeamMember> teamMemberList = teamMemberService.listByMemberIds(collect);
|
||||||
|
return teamMemberList.stream().collect(Collectors.toMap(TeamMember::getMemberId, e -> e, (v1, v2) -> v1));
|
||||||
|
}
|
||||||
|
|
||||||
private List<FamilyMemberExpDTO> pageList(FamilyMemberListQueryCmd cmd) {
|
private List<FamilyMemberExpDTO> pageList(FamilyMemberListQueryCmd cmd) {
|
||||||
return familyMemberWeekExpService
|
return familyMemberWeekExpService
|
||||||
.pageByFamilyId(cmd.getFamilyId(),
|
.pageByFamilyId(cmd.getFamilyId(),
|
||||||
|
|||||||
@ -76,4 +76,15 @@ public class FamilyMemberCO extends ClientObject {
|
|||||||
*/
|
*/
|
||||||
private String memberRole;
|
private String memberRole;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* true:代理,false:不是.
|
||||||
|
*/
|
||||||
|
private Boolean agent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* true:主播,false:不是.
|
||||||
|
*/
|
||||||
|
private Boolean anchor;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user