package cn.iocoder.yudao.module.im.dal.mysql.channel; 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.channel.vo.channel.ImChannelPageReqVO; import cn.iocoder.yudao.module.im.dal.dataobject.channel.ImChannelDO; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * IM 频道 Mapper * * @author 芋道源码 */ @Mapper public interface ImChannelMapper extends BaseMapperX { default ImChannelDO selectByCode(String code) { return selectOne(ImChannelDO::getCode, code); } default List selectListByStatusOrderBySort(Integer status) { return selectList(new LambdaQueryWrapperX() .eq(ImChannelDO::getStatus, status) .orderByAsc(ImChannelDO::getSort)); } default PageResult selectPage(ImChannelPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(ImChannelDO::getCode, reqVO.getCode()) .likeIfPresent(ImChannelDO::getName, reqVO.getName()) .eqIfPresent(ImChannelDO::getStatus, reqVO.getStatus()) .orderByAsc(ImChannelDO::getSort) .orderByDesc(ImChannelDO::getId)); } }