package com.iailab.module.system.dal.mysql.logger; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO; import com.iailab.module.system.dal.dataobject.logger.LoginLogDO; import com.iailab.module.system.enums.logger.LoginResultEnum; import org.apache.ibatis.annotations.Mapper; @Mapper public interface LoginLogMapper extends BaseMapperX { default PageResult selectPage(LoginLogPageReqVO reqVO) { LambdaQueryWrapperX query = new LambdaQueryWrapperX() .likeIfPresent(LoginLogDO::getUserIp, reqVO.getUserIp()) .likeIfPresent(LoginLogDO::getUsername, reqVO.getUsername()) .betweenIfPresent(LoginLogDO::getCreateTime, reqVO.getCreateTime()); if (Boolean.TRUE.equals(reqVO.getStatus())) { query.eq(LoginLogDO::getResult, LoginResultEnum.SUCCESS.getResult()); } else if (Boolean.FALSE.equals(reqVO.getStatus())) { query.gt(LoginLogDO::getResult, LoginResultEnum.SUCCESS.getResult()); } query.orderByDesc(LoginLogDO::getId); // 降序 return selectPage(reqVO, query); } }