From 43448cab5152705068ee9167eb2739151864212b Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 24 Dec 2025 16:42:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E6=97=8F=E4=BC=9A=E5=91=98=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E4=BB=A3=E7=90=86=E5=92=8C=E4=B8=BB?= =?UTF-8?q?=E6=92=AD=E8=BA=AB=E4=BB=BD=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/family/FamilyMemberListExe.java | 27 ++++++++++++++----- .../clientobject/family/FamilyMemberCO.java | 11 ++++++++ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyMemberListExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyMemberListExe.java index 3c341bf0..67953e7b 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyMemberListExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyMemberListExe.java @@ -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 execute(FamilyMemberListQueryCmd cmd) { @@ -53,14 +55,19 @@ public class FamilyMemberListExe { if (CollectionUtils.isEmpty(mapUserBase)) { return CollectionUtils.newArrayList(); } - return getMemberCO(members, mapUserBase); + + Map teamMemberMap = mapTeamMember(members); + + return getMemberCO(members, mapUserBase, teamMemberMap); } private List getMemberCO(List members, - Map userProfileMap) { + Map userProfileMap, + Map 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 mapTeamMember(List members) { + Set collect = members.stream().map(FamilyMemberExpDTO::getMemberUserId).collect(Collectors.toSet()); + List teamMemberList = teamMemberService.listByMemberIds(collect); + return teamMemberList.stream().collect(Collectors.toMap(TeamMember::getMemberId, e -> e, (v1, v2) -> v1)); + } + private List pageList(FamilyMemberListQueryCmd cmd) { return familyMemberWeekExpService .pageByFamilyId(cmd.getFamilyId(), diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyMemberCO.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyMemberCO.java index de900a18..d17da726 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyMemberCO.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/family/FamilyMemberCO.java @@ -76,4 +76,15 @@ public class FamilyMemberCO extends ClientObject { */ private String memberRole; + /** + * true:代理,false:不是. + */ + private Boolean agent; + + /** + * true:主播,false:不是. + */ + private Boolean anchor; + + }