package com.gkhy.safePlatform.account.service; import com.gkhy.safePlatform.account.entity.user.PermissionInfo; import com.gkhy.safePlatform.account.entity.user.RoleInfo; import com.gkhy.safePlatform.account.entity.user.UserInfo; import com.gkhy.safePlatform.account.model.dto.req.AccountPwdChangeReqDTO; import com.gkhy.safePlatform.account.model.dto.req.LoginReqDTO; import com.gkhy.safePlatform.account.model.dto.resp.MenuRespDTO; import com.gkhy.safePlatform.account.model.dto.resp.UserLoginRespDTO; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import org.springframework.security.core.userdetails.UserDetails; import java.util.List; public interface AuthService { /** * @Description: 根据userId获取用户角色 */ RoleInfo getUserRoleByUserId(Long userId); /** * @Description: 根据userId和project获取用户菜单树 */ List getUserMenuTreeByUserIdAndProjectId(ContextCacheUser currentUser, Long projectId); /** * @Description: 登录 */ UserLoginRespDTO authLogin(LoginReqDTO loginParam); /** * @Description: 根据username获取permission */ List getUserPermissionByUserId(Long userId); /** * @Description: 根据username获取用户信息 */ UserInfo getUserInfoByUserId(Long userId); /** * @Description: 根据用户名登出用户 */ void authLogout(Long userId); /** * @Description: 根据userId获取用户信息 */ UserInfo getUserByUserId(Long userId); /** * @Description: 根据username获取用户信息 */ UserDetails getUserDetailsByUsername(String username); /** * @Description: 根据 uid 修改密码 */ void pwdChange(ContextCacheUser currentUser, AccountPwdChangeReqDTO reqDTO); }