家族成员列表接口增加字段

This commit is contained in:
tianfeng 2025-12-29 14:59:00 +08:00
parent 280c98eaf4
commit f6d971fc74
5 changed files with 69 additions and 7 deletions

View File

@ -114,7 +114,7 @@ public class FamilyRestController extends BaseController {
* 家族成员信息
*/
@GetMapping("/list/member")
public List<FamilyMemberCO> listMember(FamilyMemberListQueryCmd cmd) {
public FamilyMemberListCO listMember(FamilyMemberListQueryCmd cmd) {
return familyService.listMember(cmd);
}

View File

@ -3,6 +3,7 @@ package com.red.circle.other.app.command.family;
import com.red.circle.framework.core.asserts.ResponseAssert;
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.clientobject.family.FamilyMemberListCO;
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;
@ -14,6 +15,7 @@ import com.red.circle.other.infra.database.rds.service.family.FamilyMemberWeekEx
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.famliy.FamilyDetailsDTO;
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;
@ -42,7 +44,9 @@ public class FamilyMemberListExe {
private final FamilyMemberWeekExpService familyMemberWeekExpService;
private final TeamMemberService teamMemberService;
public List<FamilyMemberCO> execute(FamilyMemberListQueryCmd cmd) {
public FamilyMemberListCO execute(FamilyMemberListQueryCmd cmd) {
FamilyDetailsDTO familyDetails = familyCommon.getFamilyDetails(cmd.getReqSysOrigin().getOrigin(), cmd.getFamilyId());
ResponseAssert.isTrue(FamilyErrorCode.NOT_EXIST_FAMILY_INFO_DATA,
familyCommon.isExistFamilyById(cmd.getFamilyId()));
@ -55,17 +59,31 @@ public class FamilyMemberListExe {
List<FamilyMemberExpDTO> members = pageList(cmd);
if (CollectionUtils.isEmpty(members)) {
return CollectionUtils.newArrayList();
return new FamilyMemberListCO()
.setFamilyId(cmd.getFamilyId())
.setMaxMember(familyDetails.getMaxMember())
.setMaxManager(familyDetails.getMaxManager())
.setMembers(CollectionUtils.newArrayList());
}
Map<Long, UserProfileDTO> mapUserBase = mapUserProfile(members);
if (CollectionUtils.isEmpty(mapUserBase)) {
return CollectionUtils.newArrayList();
return new FamilyMemberListCO()
.setFamilyId(cmd.getFamilyId())
.setMaxMember(familyDetails.getMaxMember())
.setMaxManager(familyDetails.getMaxManager())
.setMembers(CollectionUtils.newArrayList());
}
Map<Long, TeamMember> teamMemberMap = mapTeamMember(members);
return getMemberCO(members, mapUserBase, teamMemberMap);
List<FamilyMemberCO> memberCOList = getMemberCO(members, mapUserBase, teamMemberMap);
return new FamilyMemberListCO()
.setFamilyId(cmd.getFamilyId())
.setMaxMember(familyDetails.getMaxMember())
.setMaxManager(familyDetails.getMaxManager())
.setMembers(memberCOList);
}
private List<FamilyMemberCO> getMemberCO(List<FamilyMemberExpDTO> members,

View File

@ -110,7 +110,7 @@ public class FamilyServiceImpl implements FamilyService {
}
@Override
public List<FamilyMemberCO> listMember(FamilyMemberListQueryCmd cmd) {
public FamilyMemberListCO listMember(FamilyMemberListQueryCmd cmd) {
return familyMemberListExe.execute(cmd);
}

View File

@ -0,0 +1,44 @@
package com.red.circle.other.app.dto.clientobject.family;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serial;
import java.util.List;
/**
* 家族成员列表响应
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class FamilyMemberListCO extends ClientObject {
@Serial
private static final long serialVersionUID = 1L;
/**
* 家族ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long familyId;
/**
* 最大成员数
*/
private Integer maxMember;
/**
* 最大管理员数
*/
private Integer maxManager;
/**
* 家族成员列表
*/
private List<FamilyMemberCO> members;
}

View File

@ -38,7 +38,7 @@ public interface FamilyService {
/**
* 家族成员信息.
*/
List<FamilyMemberCO> listMember(FamilyMemberListQueryCmd cmd);
FamilyMemberListCO listMember(FamilyMemberListQueryCmd cmd);
/**
* 家族基本信息.