package cn.iocoder.yudao.module.im.dal.mysql.face; 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.im.controller.admin.manager.face.vo.useritem.ImFaceUserItemManagerPageReqVO; import cn.iocoder.yudao.module.im.dal.dataobject.face.ImFaceUserItemDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * IM 用户私有表情 Mapper * * @author 芋道源码 */ @Mapper public interface ImFaceUserItemMapper extends BaseMapperX { default List selectListByUserId(Long userId) { return selectList(new LambdaQueryWrapperX() .eq(ImFaceUserItemDO::getUserId, userId) .orderByAsc(ImFaceUserItemDO::getSort) .orderByDesc(ImFaceUserItemDO::getId)); } default ImFaceUserItemDO selectByUserIdAndUrl(Long userId, String url) { return selectOne(new LambdaQueryWrapperX() .eq(ImFaceUserItemDO::getUserId, userId) .eq(ImFaceUserItemDO::getUrl, url)); } default Long selectCountByUserId(Long userId) { return selectCount(ImFaceUserItemDO::getUserId, userId); } default PageResult selectPage(ImFaceUserItemManagerPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ImFaceUserItemDO::getUserId, reqVO.getUserId()) .likeIfPresent(ImFaceUserItemDO::getName, reqVO.getName()) .betweenIfPresent(ImFaceUserItemDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(ImFaceUserItemDO::getId)); } }