From 45dd82a8662fa83a7a4c4c42922936e5de19b439 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Thu, 25 Dec 2025 11:37:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B6=E6=97=8F=E6=88=90=E5=91=98=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../other/app/command/family/FamilyMemberListExe.java | 9 ++++++++- .../app/dto/cmd/family/FamilyMemberListQueryCmd.java | 8 ++++++++ .../database/rds/dao/family/FamilyMemberWeekExpDAO.java | 5 ++++- .../rds/service/family/FamilyMemberWeekExpService.java | 2 +- .../family/impl/FamilyMemberWeekExpServiceImpl.java | 5 +++-- .../main/resources/dao/family/FamilyMemberWeekExpDAO.xml | 3 +++ 6 files changed, 27 insertions(+), 5 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 67953e7b..8bb7aed2 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 @@ -5,6 +5,7 @@ import com.red.circle.other.app.convertor.user.UserProfileAppConvertor; 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.domain.model.user.UserProfile; 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; @@ -46,6 +47,12 @@ public class FamilyMemberListExe { ResponseAssert.isTrue(FamilyErrorCode.NOT_EXIST_FAMILY_INFO_DATA, familyCommon.isExistFamilyById(cmd.getFamilyId())); + + if (cmd.getAccount() != null && !cmd.getAccount().isEmpty()) { + UserProfile accountNew = userProfileGateway.getByAccountNew(cmd.getReqSysOrigin().getOrigin(), cmd.getAccount()); + cmd.setMemberUserId(Optional.ofNullable(accountNew).map(UserProfile::getId).orElse(-1L)); + } + List members = pageList(cmd); if (CollectionUtils.isEmpty(members)) { return CollectionUtils.newArrayList(); @@ -99,7 +106,7 @@ public class FamilyMemberListExe { return familyMemberWeekExpService .pageByFamilyId(cmd.getFamilyId(), List.of(FamilyRoleEnum.MANAGE, FamilyRoleEnum.MEMBER, FamilyRoleEnum.ADMIN), cmd.getPageNo(), - cmd.getPageSize()); + cmd.getPageSize(), cmd.getMemberUserId()); } diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/family/FamilyMemberListQueryCmd.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/family/FamilyMemberListQueryCmd.java index 9ee5b424..3a40c8ef 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/family/FamilyMemberListQueryCmd.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/family/FamilyMemberListQueryCmd.java @@ -33,4 +33,12 @@ public class FamilyMemberListQueryCmd extends AppExtCommand { */ private Integer pageSize; + /** + * 家族成员账号 + */ + private String account; + + + private Long memberUserId; + } diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/dao/family/FamilyMemberWeekExpDAO.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/dao/family/FamilyMemberWeekExpDAO.java index 0dded17b..d933ab61 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/dao/family/FamilyMemberWeekExpDAO.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/dao/family/FamilyMemberWeekExpDAO.java @@ -18,7 +18,10 @@ import org.apache.ibatis.annotations.Param; */ public interface FamilyMemberWeekExpDAO extends BaseDAO { - List pageByFamilyId(@Param("familyId") Long familyId, @Param("start") Integer start, @Param("end") Integer end); + List pageByFamilyId(@Param("familyId") Long familyId, + @Param("start") Integer start, + @Param("end") Integer end, + @Param("memberUserId") Long memberUserId); List listByFamilyId(@Param("familyId") Long familyId, @Param("roles") List roles); diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/FamilyMemberWeekExpService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/FamilyMemberWeekExpService.java index e25351f8..e076f5aa 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/FamilyMemberWeekExpService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/FamilyMemberWeekExpService.java @@ -32,7 +32,7 @@ public interface FamilyMemberWeekExpService extends BaseService pageByFamilyId(Long familyId, List roles, - Integer pageNo, Integer pageSize); + Integer pageNo, Integer pageSize, Long memberUserId); void deleteByFamilyId(Long familyId); diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/impl/FamilyMemberWeekExpServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/impl/FamilyMemberWeekExpServiceImpl.java index f81a5774..d4de3b2f 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/impl/FamilyMemberWeekExpServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/family/impl/FamilyMemberWeekExpServiceImpl.java @@ -112,12 +112,13 @@ public class FamilyMemberWeekExpServiceImpl extends @Override public List pageByFamilyId(Long familyId, List roles, - Integer pageNo, Integer pageSize) { + Integer pageNo, Integer pageSize, Long memberUserId) { if (Objects.isNull(familyId) || Objects.isNull(pageNo)) { return CollectionUtils.newArrayList(); } + pageNo = pageNo <= 1 ? 0 : pageNo - 1; pageSize = Objects.isNull(pageSize) ? PageConstant.DEFAULT_LIMIT_SIZE : pageSize; - return familyMemberWeekExpDAO.pageByFamilyId(familyId, pageNo * pageSize, pageSize); + return familyMemberWeekExpDAO.pageByFamilyId(familyId, pageNo * pageSize, pageSize, memberUserId); } diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/resources/dao/family/FamilyMemberWeekExpDAO.xml b/rc-service/rc-service-other/other-infrastructure/src/main/resources/dao/family/FamilyMemberWeekExpDAO.xml index 5b0b3c2c..afe5f088 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/resources/dao/family/FamilyMemberWeekExpDAO.xml +++ b/rc-service/rc-service-other/other-infrastructure/src/main/resources/dao/family/FamilyMemberWeekExpDAO.xml @@ -13,6 +13,9 @@ fm.member_role AS memberRole FROM `family_member` fm WHERE fm.`family_id` = #{familyId} + + AND fm.member_user_id = #{memberUserId} + ORDER BY CASE fm.member_role WHEN 'ADMIN' THEN 1