package cn.iocoder.yudao.module.ums.dal.mysql.member; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.ums.controller.admin.member.vo.profile.UmsMemberProfileChangePageReqVO; import cn.iocoder.yudao.module.ums.dal.dataobject.member.UmsMemberProfileChangeDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface UmsMemberProfileChangeMapper extends BaseMapperX { default UmsMemberProfileChangeDO selectPendingByMemberId(Long memberId) { return selectOne(new LambdaQueryWrapperX() .eq(UmsMemberProfileChangeDO::getMemberId, memberId) .eq(UmsMemberProfileChangeDO::getStatus, 0) .last("LIMIT 1")); } default UmsMemberProfileChangeDO selectLatestByMemberId(Long memberId) { List list = selectList(new LambdaQueryWrapperX() .eq(UmsMemberProfileChangeDO::getMemberId, memberId) .orderByDesc(UmsMemberProfileChangeDO::getId) .last("LIMIT 1")); return list.isEmpty() ? null : list.get(0); } default PageResult selectPage(UmsMemberProfileChangePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(UmsMemberProfileChangeDO::getMemberNo, reqVO.getMemberNo()) .likeIfPresent(UmsMemberProfileChangeDO::getMemberName, reqVO.getMemberName()) .eqIfPresent(UmsMemberProfileChangeDO::getStatus, reqVO.getStatus()) .orderByDesc(UmsMemberProfileChangeDO::getId)); } }