|
|
@@ -5,18 +5,13 @@ |
|
|
|
|
|
|
|
package com.cnbm.admin.base; |
|
|
|
|
|
|
|
import com.cnbm.admin.entity.LoginUser; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.cnbm.admin.dto.LoginUserDTO; |
|
|
|
import com.cnbm.admin.enums.WhetherEnum; |
|
|
|
import lombok.Builder; |
|
|
|
import lombok.Data; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.core.NamedThreadLocal; |
|
|
|
import org.springframework.security.authentication.AuthenticationManager; |
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; |
|
|
|
import org.springframework.security.core.Authentication; |
|
|
|
import org.springframework.security.core.context.SecurityContextHolder; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.web.context.request.RequestContextHolder; |
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes; |
|
|
@@ -26,10 +21,6 @@ import javax.servlet.http.HttpServletResponse; |
|
|
|
import javax.servlet.http.HttpSession; |
|
|
|
import java.io.Serializable; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Objects; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
/** |
|
|
|
* 接口支持基类 |
|
|
@@ -41,19 +32,40 @@ import java.util.concurrent.TimeUnit; |
|
|
|
@Service |
|
|
|
public class BaseSupport { |
|
|
|
|
|
|
|
protected LoginUserDTO getLoginUser() { |
|
|
|
// 后续完善拦截器再使用该方式 |
|
|
|
// LoginUser loginUser = loginUserHolder.get(); |
|
|
|
// if (loginUser != null) { |
|
|
|
// return loginUser; |
|
|
|
// } |
|
|
|
HttpSession session = getHttpServletRequest().getSession(false); |
|
|
|
LoginUserDTO loginUser = null; |
|
|
|
if (session != null) { |
|
|
|
String loginUserJson = (String) session.getAttribute(LoginUserDTO.HTTP_HEADER_NAME); |
|
|
|
if (StringUtils.isNotBlank(loginUserJson)) { |
|
|
|
loginUser = JSON.parseObject(loginUserJson, LoginUserDTO.class); |
|
|
|
return loginUser; |
|
|
|
} |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 获取当前登录用户信息 |
|
|
|
* 获取当前http请求对象 |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
protected LoginUser getLoginUser() { |
|
|
|
UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication(); |
|
|
|
protected HttpServletRequest getHttpServletRequest() { |
|
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
|
|
|
} |
|
|
|
|
|
|
|
if (Objects.isNull(authentication)) { |
|
|
|
LoginUser loginUser = (LoginUser) authentication.getPrincipal(); |
|
|
|
return loginUser; |
|
|
|
} |
|
|
|
return null; |
|
|
|
/** |
|
|
|
* 获取当前http响应对象 |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
protected HttpServletResponse getHttpServletResponse() { |
|
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@@ -81,11 +93,11 @@ public class BaseSupport { |
|
|
|
.enabled(WhetherEnum.YES.getValue()) |
|
|
|
.valid(WhetherEnum.YES.getValue()) |
|
|
|
.createTime(LocalDateTime.now()) |
|
|
|
.creatorId(getLoginUser().getSysUserEntity().getId()) |
|
|
|
.creatorName(getLoginUser().getUsername()) |
|
|
|
.creatorId(getLoginUser().getUserId()) |
|
|
|
.creatorName(getLoginUser().getUserName()) |
|
|
|
.updateTime(LocalDateTime.now()) |
|
|
|
.updaterId(getLoginUser().getSysUserEntity().getId()) |
|
|
|
.updaterName(getLoginUser().getUsername()) |
|
|
|
.updaterId(getLoginUser().getUserId()) |
|
|
|
.updaterName(getLoginUser().getUserName()) |
|
|
|
.build(); |
|
|
|
BeanUtils.copyProperties(commonField, t, ignoreProperties); |
|
|
|
return t; |
|
|
@@ -105,8 +117,8 @@ public class BaseSupport { |
|
|
|
*/ |
|
|
|
public <T extends Serializable> T setUpdateCommonField(T t) { |
|
|
|
CommonField commonField = CommonField.builder() |
|
|
|
.updaterId(getLoginUser().getSysUserEntity().getId()) |
|
|
|
.updaterName(getLoginUser().getUsername()) |
|
|
|
.updaterId(getLoginUser().getUserId()) |
|
|
|
.updaterName(getLoginUser().getUserName()) |
|
|
|
.updateTime(LocalDateTime.now()) |
|
|
|
.build(); |
|
|
|
BeanUtils.copyProperties(commonField, t, "enabled", "valid"); |
|
|
|