package com.infoepoch.pms.agent.domain.baisc.user;

import java.util.List;

public interface IUserQueryRepository {

    /**
     * 根据条件查询用户列表
     *
     * @param criteria
     * @return
     */
    List<User> selectByCriteria(UserCriteria criteria);
    List<User> selectByCriteriaProp(UserCriteria criteria);

    /**
     * 根据条件查询用户列表（分页）
     *
     * @param criteria
     * @param pageIndex
     * @param pageSize
     * @return
     */
    List<User> selectByCriteriaByPage(UserCriteria criteria, int pageIndex, int pageSize);
    List<User> selectByCriteriaByPageProp(UserCriteria criteria, int pageIndex, int pageSize);

    List<User> selectByCriteriaByPageNotRela(UserCriteria criteria, int pageIndex, int pageSize);

    List<User> selectByCriteriaNotRela(UserCriteria criteria);

    Integer selectCountByCriteriaByPageNotRela(UserCriteria criteria);

    /**
     * 根据条件查询用户列表总数量
     *
     * @param criteria
     * @return
     */
    int selectCountByCriteria(UserCriteria criteria);
    int selectCountByCriteriaProp(UserCriteria criteria);

}
