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