package cn.lihu.jh.module.system.dal.mysql.user; 
 | 
  
 | 
import cn.lihu.jh.framework.common.pojo.PageResult; 
 | 
import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX; 
 | 
import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX; 
 | 
import cn.lihu.jh.module.system.controller.admin.user.vo.user.UserPageReqVO; 
 | 
import cn.lihu.jh.module.system.dal.dataobject.user.AdminUserDO; 
 | 
import org.apache.ibatis.annotations.Mapper; 
 | 
  
 | 
import java.util.Collection; 
 | 
import java.util.List; 
 | 
  
 | 
@Mapper 
 | 
public interface AdminUserMapper extends BaseMapperX<AdminUserDO> { 
 | 
  
 | 
    default AdminUserDO selectByUsername(String username) { 
 | 
        return selectOne(AdminUserDO::getUsername, username); 
 | 
    } 
 | 
  
 | 
    default AdminUserDO selectByEmail(String email) { 
 | 
        return selectOne(AdminUserDO::getEmail, email); 
 | 
    } 
 | 
  
 | 
    default AdminUserDO selectByMobile(String mobile) { 
 | 
        return selectOne(AdminUserDO::getMobile, mobile); 
 | 
    } 
 | 
  
 | 
    default PageResult<AdminUserDO> selectPage(UserPageReqVO reqVO, Collection<Long> deptIds) { 
 | 
        return selectPage(reqVO, new LambdaQueryWrapperX<AdminUserDO>() 
 | 
                .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) 
 | 
                .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) 
 | 
                .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) 
 | 
                .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) 
 | 
                .inIfPresent(AdminUserDO::getDeptId, deptIds) 
 | 
                .orderByDesc(AdminUserDO::getId)); 
 | 
    } 
 | 
  
 | 
    default List<AdminUserDO> selectListByNickname(String nickname) { 
 | 
        return selectList(new LambdaQueryWrapperX<AdminUserDO>().like(AdminUserDO::getNickname, nickname)); 
 | 
    } 
 | 
  
 | 
    default List<AdminUserDO> selectListByStatus(Integer status) { 
 | 
        return selectList(AdminUserDO::getStatus, status); 
 | 
    } 
 | 
  
 | 
    default List<AdminUserDO> selectListByDeptIds(Collection<Long> deptIds) { 
 | 
        return selectList(AdminUserDO::getDeptId, deptIds); 
 | 
    } 
 | 
  
 | 
} 
 |