添加获取用户id,名称的service实现

This commit is contained in:
zhouxiunai
2018-11-01 16:03:47 +08:00
parent d5aa390e14
commit 0505f22044
4 changed files with 89 additions and 0 deletions
@@ -0,0 +1,6 @@
package com.gzzn.omms.adminapi.service;
public interface IUserService {
String getCurrentUserId();//获取当前用户id
String getCurrentUserName();//获取当前用户名
}
@@ -0,0 +1,55 @@
package com.gzzn.omms.adminapi.service.impl;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gzzn.omms.adminapi.dto.HeaderUserDto;
import com.gzzn.omms.adminapi.exception.UserNoLoginException;
import com.gzzn.omms.adminapi.service.IUserService;
import sun.misc.BASE64Decoder;
@Service
public class UserServiceImpl implements IUserService {
@Autowired
private HttpServletRequest request;
@Override
public String getCurrentUserId() {
return this.getHeaderUserDto().getUserId();
}
@Override
public String getCurrentUserName() {
return this.getHeaderUserDto().getUserName();
}
//获取网关header中传递的用户信息
private HeaderUserDto getHeaderUserDto() {
try
{
String userStr = request.getHeader("user");
if(null == userStr)
{
throw new UserNoLoginException();
}
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] bt = base64Decoder.decodeBuffer(userStr);
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(bt, HeaderUserDto.class);
}
catch (IOException e)
{
throw new RuntimeException("header userinfo error!"+e.getMessage());
}
}
}