家族成员信息接口新增查询条件

This commit is contained in:
tianfeng 2025-12-25 11:37:15 +08:00
parent abf1ab1d47
commit 45dd82a866
6 changed files with 27 additions and 5 deletions

View File

@ -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<FamilyMemberExpDTO> 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());
}

View File

@ -33,4 +33,12 @@ public class FamilyMemberListQueryCmd extends AppExtCommand {
*/
private Integer pageSize;
/**
* 家族成员账号
*/
private String account;
private Long memberUserId;
}

View File

@ -18,7 +18,10 @@ import org.apache.ibatis.annotations.Param;
*/
public interface FamilyMemberWeekExpDAO extends BaseDAO<FamilyMemberWeekExp> {
List<FamilyMemberExpDTO> pageByFamilyId(@Param("familyId") Long familyId, @Param("start") Integer start, @Param("end") Integer end);
List<FamilyMemberExpDTO> pageByFamilyId(@Param("familyId") Long familyId,
@Param("start") Integer start,
@Param("end") Integer end,
@Param("memberUserId") Long memberUserId);
List<FamilyMemberExpDTO> listByFamilyId(@Param("familyId") Long familyId,
@Param("roles") List<FamilyRoleEnum> roles);

View File

@ -32,7 +32,7 @@ public interface FamilyMemberWeekExpService extends BaseService<FamilyMemberWeek
FamilyMemberWeekExp getFamilyMemberWeekExp(Long familyId, Long memberUserId);
List<FamilyMemberExpDTO> pageByFamilyId(Long familyId, List<FamilyRoleEnum> roles,
Integer pageNo, Integer pageSize);
Integer pageNo, Integer pageSize, Long memberUserId);
void deleteByFamilyId(Long familyId);

View File

@ -112,12 +112,13 @@ public class FamilyMemberWeekExpServiceImpl extends
@Override
public List<FamilyMemberExpDTO> pageByFamilyId(Long familyId, List<FamilyRoleEnum> 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);
}

View File

@ -13,6 +13,9 @@
fm.member_role AS memberRole
FROM `family_member` fm
WHERE fm.`family_id` = #{familyId}
<if test="memberUserId != null">
AND fm.member_user_id = #{memberUserId}
</if>
ORDER BY
CASE fm.member_role
WHEN 'ADMIN' THEN 1