package ink.wgink.interfaces.user; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.dtos.department.DepartmentUserDTO; import ink.wgink.pojo.dtos.user.UserDTO; import ink.wgink.pojo.result.SuccessResultList; import java.util.List; import java.util.Map; /** * When you feel like quitting. Think about why you started * 当你想要放弃的时候,想想当初你为何开始 * * @ClassName: IUserService * @Description: 用户 * @Author: WangGeng * @Date: 2021/1/24 12:52 * @Version: 1.0 **/ public interface IUserBaseService { /** * 用户详情 * * @param userId 用户ID * @return */ UserDTO get(String userId); /** * 用户详情 * * @param username 用户名 * @return */ UserDTO getByUsername(String username); /** * 用户列表 * * @param userIds 用户ID列表 * @return */ List listByUserIds(List userIds); /** * 用户列表 * * @param usernames 用户名列表 * @return */ List listByUsernames(List usernames); /** * 用户列表 * * @param params 参数 * @return */ List list(Map params); /** * 用户分页列表 * * @param page * @return */ SuccessResultList> listPage(ListPage page); /** * 用户分页列表 * * @param userIds 用户ID列表 * @param page * @return */ SuccessResultList> listPageByIds(List userIds, ListPage page); /** * 用户ID分页列表 * * @param excludeUserIds 不包含的用户ID * @param page * @return */ SuccessResultList> listPageByExcludeIds(List excludeUserIds, ListPage page); /** * 用户统计 * * @param startDate 开始日期,yyyy-MM-dd * @param endDate 结束日期,yyyy-MM-dd * @return */ int countDateRange(String startDate, String endDate); /** * 用户统计 * * @return */ int count(); /** * 用户统计 * * @param userType,0:系统用户,1:普通用户 * @return */ int countType(int userType); /** * 用户统计,错误类型 * * @return */ int countErrorType(); /** * 用户统计 * * @param userState 0:正常用户,1:冻结 * @return */ Integer countState(int userState); }