添加获取用户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,23 @@
package com.gzzn.omms.adminapi.dto;
/**
* header 中用户信息封装
* @author Administrator
*
*/
public class HeaderUserDto {
private String userId;
private String userName;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
@@ -0,0 +1,5 @@
package com.gzzn.omms.adminapi.exception;
public class UserNoLoginException extends RuntimeException {
}
@@ -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());
}
}
}