package com.yami.trading.security.common.util; import com.yami.trading.common.domain.YamiUser; import com.yami.trading.security.common.bo.UserInfoInTokenBO; import com.yami.trading.security.common.model.YamiSysUser; import lombok.experimental.UtilityClass; import org.apache.commons.lang3.StringUtils; @UtilityClass public class SecurityUtils { /** * 获取用户 */ public YamiSysUser getSysUser() { UserInfoInTokenBO userInfoInTokenBO = AuthUserContext.get(); if(userInfoInTokenBO == null){ return null; } YamiSysUser details = new YamiSysUser(); String userId = userInfoInTokenBO.getUserId(); // 兼容swagger 请求情况 if(StringUtils.isEmpty(userId)){ return null; } details.setUserId(Long.valueOf(userId)); details.setEnabled(userInfoInTokenBO.getEnabled()); details.setUsername(userInfoInTokenBO.getNickName()); details.setAuthorities(userInfoInTokenBO.getPerms()); details.setShopId(userInfoInTokenBO.getShopId()); return details; } /** * 获取用户 */ public YamiUser getUser() { // if (!HttpContextUtils.getHttpServletRequest().getRequestURI().startsWith(USER_REQUEST)) { // // 用户相关的请求,应该以/p开头!!! // throw new RuntimeException("yami.user.request.error"); // } UserInfoInTokenBO userInfoInTokenBO = AuthUserContext.get(); YamiUser yamiUser = new YamiUser(); if(userInfoInTokenBO == null){ yamiUser.setUserId(null); }else{ yamiUser.setUserId(userInfoInTokenBO.getUserId()); } return yamiUser; } /** * 获取当前用户id,没登录时候返回null * @return */ public String getCurrentUserId(){ UserInfoInTokenBO userInfoInTokenBO = AuthUserContext.get(); if(userInfoInTokenBO == null){ return null; } return getUser().getUserId(); } /** * 获取当前用户id,没登录时候返回null * @return */ public String getCurrentSysUserId(){ UserInfoInTokenBO userInfoInTokenBO = AuthUserContext.get(); if(userInfoInTokenBO == null){ return null; } return getSysUser().getUserId().toString(); } }