From 3fc79799d5f426cafde2a0b6b3cfd370b4fd037c Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Thu, 8 Jan 2026 12:20:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=88=91=E7=9A=84=E5=AE=B6?= =?UTF-8?q?=E6=97=8F=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/family/FamilyRestController.java | 8 ++++ .../app/command/family/FamilyBaseInfoExe.java | 39 +++++++++++++++++++ .../app/service/family/FamilyServiceImpl.java | 5 +++ .../app/service/family/FamilyService.java | 5 +++ 4 files changed, 57 insertions(+) diff --git a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/family/FamilyRestController.java b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/family/FamilyRestController.java index d9d9efe3..1c038428 100644 --- a/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/family/FamilyRestController.java +++ b/rc-service/rc-service-other/other-adapter/src/main/java/com/red/circle/other/adapter/app/family/FamilyRestController.java @@ -62,6 +62,14 @@ public class FamilyRestController extends BaseController { return familyService.getBaseInfo(cmd); } + /** + * 用户家族基本信息 + */ + @GetMapping("/user-base-info") + public FamilyBaseInfoCO getBaseInfo(AppExtCommand cmd) { + return familyService.getUserBaseInfo(cmd); + } + /** * 申请加入家族. */ diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java index 0fe6a3a5..abae55b5 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/family/FamilyBaseInfoExe.java @@ -1,6 +1,7 @@ package com.red.circle.other.app.command.family; import cn.hutool.core.collection.CollectionUtil; +import com.red.circle.common.business.dto.cmd.AppExtCommand; import com.red.circle.framework.core.asserts.ResponseAssert; import com.red.circle.framework.core.response.CommonErrorCode; import com.red.circle.other.app.dto.clientobject.family.FamilyBaseInfoCO; @@ -81,6 +82,44 @@ public class FamilyBaseInfoExe { return getFamilyInfoCO(baseInfo, familyLevel, adminInfo, myFamilyInfo, boxInfo, memberList, joinWaiting); } + /** + * 查询用户自己的家族 + */ + public FamilyBaseInfoCO execute2(AppExtCommand cmd) { + FamilyMemberInfo myFamilyInfo = familyMemberInfoService.getFamilyMemberByUserId(cmd.getReqUserId()); + if (Objects.isNull(myFamilyInfo)) { + return null; + } + Long familyId = myFamilyInfo.getFamilyId(); + + FamilyBaseInfo baseInfo = familyBaseInfoService.getBaseInfoById(familyId); + if (Objects.isNull(baseInfo)) { + return null; + } + + FamilyDetailsDTO familyLevel = familyCommon.getFamilyDetails(cmd.getReqSysOrigin().getOrigin(), baseInfo.getId()); + FamilyMemberInfo familyMemberInfo = familyMemberInfoService.getAdmin(familyId, FamilyRoleEnum.ADMIN.getKey()); + + //族长信息 + FamilyBaseInfoCO.FamilyAdminInfo adminInfo = getFamilyAdminInfo(familyMemberInfo); + + return new FamilyBaseInfoCO() + .setFamilyId(baseInfo.getId()) + .setFamilyAdmin(adminInfo) + .setFamilyAccount(baseInfo.getFamilyAccount()) + .setFamilyAvatar(baseInfo.getFamilyAvatar()) + .setFamilyName(baseInfo.getFamilyName()) + .setFamilyNotice(baseInfo.getFamilyNotice()) + .setFamilyIntro(baseInfo.getFamilyIntro()) + .setCurrentMember(getFamilyMemberCount(baseInfo.getId())) + .setFamilyLevel(Optional.ofNullable(familyLevel.getLevel()).orElse(0)) + .setLevelExp(familyLevel.getLevelExp()) + .setMaxMember(familyLevel.getMaxMember()) + .setLevelBackgroundPicture(familyLevel.getLevelBackgroundPicture()) + .setMyFamilyRole(Optional.of(myFamilyInfo).map(FamilyMemberInfo::getMemberRole).orElse(null)) + ; + } + private FamilyBaseInfoCO.FamilyAdminInfo getFamilyAdminInfo(FamilyMemberInfo familyMemberInfo) { FamilyBaseInfoCO.FamilyAdminInfo adminInfo = null; if (familyMemberInfo != null) { diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/family/FamilyServiceImpl.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/family/FamilyServiceImpl.java index 1f07a756..211c8ba4 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/family/FamilyServiceImpl.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/service/family/FamilyServiceImpl.java @@ -121,6 +121,11 @@ public class FamilyServiceImpl implements FamilyService { return familyBaseInfoExe.execute(cmd); } + @Override + public FamilyBaseInfoCO getUserBaseInfo(AppExtCommand cmd) { + return familyBaseInfoExe.execute2(cmd); + } + @Override public void grantUserRole(FamilyGrantUserRoleCmd cmd) { if (Objects.equals(cmd.getRoleKey(), "REMOVE")) { diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/family/FamilyService.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/family/FamilyService.java index bd964d0d..39d54f43 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/family/FamilyService.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/service/family/FamilyService.java @@ -45,6 +45,11 @@ public interface FamilyService { */ FamilyBaseInfoCO getBaseInfo(FamilyBaseInfoQueryCmd cmd); + /** + * 用户家族基本信息. + */ + FamilyBaseInfoCO getUserBaseInfo(AppExtCommand cmd); + /** * 授权用户家族权限.