All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.didiglobal.logi.security.service.UserService Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
package com.didiglobal.logi.security.service;

import com.didiglobal.logi.security.common.PagingData;
import com.didiglobal.logi.security.common.dto.account.AccountLoginDTO;
import com.didiglobal.logi.security.common.dto.user.UserBriefQueryDTO;
import com.didiglobal.logi.security.common.vo.role.AssignInfoVO;
import com.didiglobal.logi.security.common.dto.user.UserQueryDTO;
import com.didiglobal.logi.security.common.vo.user.UserBriefVO;
import com.didiglobal.logi.security.common.vo.user.UserVO;
import com.didiglobal.logi.security.exception.LogiSecurityException;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface UserService {

    /**
     * 分页获取用户信息
     * @param queryDTO 条件信息
     * @return 用户信息list
     */
    PagingData getUserPage(UserQueryDTO queryDTO);

    /**
     * 分页获取用户简要信息
     * @param queryDTO 条件信息
     * @return 用户简要信息list
     */
    PagingData getUserBriefPage(UserBriefQueryDTO queryDTO);

    /**
     * 获取用户详情(主要是获取用户所拥有的权限信息)
     * @param userId 用户id
     * @return 用户详情
     * @throws LogiSecurityException 用户不存在
     */
    UserVO getUserDetailByUserId(Integer userId);

    /**
     * 获取用户简要信息
     * @param userId 用户id
     * @return 用户简要信息
     */
    UserBriefVO getUserBriefByUserId(Integer userId);

    /**
     * 获取用户简要信息List
     * @param userIdList 用户idList
     * @return 用户简要信息List
     */
    List getUserBriefListByUserIdList(List userIdList);

    /**
     * 根据部门id获取用户list(获取该部门下所有的用户,包括各种子部门)
     * @param deptId 部门id,如果为null,表示无部门用户
     * @return 用户简要信息list
     */
    List getUserBriefListByDeptId(Integer deptId);

    /**
     * 根据用户id和roleName获取角色list
     * @param userId 用户id
     * @return 分配角色或者分配用户/列表信息
     * @throws LogiSecurityException 用户id不可为null
     */
    List getAssignDataByUserId(Integer userId) throws LogiSecurityException;

    /**
     * 根据角色id获取用户list
     * @param roleId 角色Id
     * @return 用户简要信息list
     */
    List getUserBriefListByRoleId(Integer roleId);

    /**
     * 会分别以账户名和实名去模糊查询,返回两者的并集
     * 创建项目,添加项目负责人的时候用到
     * @param name 账户名或实名
     * @return 用户简要信息list
     */
    List getUserBriefListByUsernameOrRealName(String name);

    /**
     * 获取用户简要信息List并根据创建时间排序
     * @param isAsc 是否升序
     * @return 用户简要信息List
     */
    List getAllUserBriefListOrderByCreateTime(boolean isAsc);

    /**
     * 会分别以账户名和实名去模糊查询,返回两者的并集
     * @param name 账户名或实名
     * @return 用户IdList
     */
    List getUserIdListByUsernameOrRealName(String name);

    /**
     * 获取所有用户简要信息
     * @return 用户简要信息List
     */
    List getAllUserBriefList();

    /**
     * 验证登录信息(验证前密码先用Base64解码再用RSA解密)
     * 登录前会检查账户激活状态
     * @param loginDTO 登陆信息
     * @param request 请求信息
     * @return token
     * @throws LogiSecurityException 登录错误
     */
    UserBriefVO verifyLogin(AccountLoginDTO loginDTO, HttpServletRequest request) throws LogiSecurityException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy