package cn.iocoder.yudao.module.mp.dal.mysql.account; 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.mp.controller.admin.account.vo.MpAccountPageReqVO; import cn.iocoder.yudao.module.mp.dal.dataobject.account.MpAccountDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.time.LocalDateTime; @Mapper public interface MpAccountMapper extends BaseMapperX { default PageResult selectPage(MpAccountPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(MpAccountDO::getName, reqVO.getName()) .likeIfPresent(MpAccountDO::getAccount, reqVO.getAccount()) .likeIfPresent(MpAccountDO::getAppId, reqVO.getAppId()) .orderByDesc(MpAccountDO::getId)); } default MpAccountDO selectByAppId(String appId) { return selectOne(MpAccountDO::getAppId, appId); } @Select("SELECT COUNT(*) FROM mp_account WHERE update_time > #{maxUpdateTime}") Long selectCountByUpdateTimeGt(LocalDateTime maxUpdateTime); }