1. AttachmentSDK 增加了新的数据模型
2. Seata starter 调整了 seata包版本, 修改了统一配置文件
This commit is contained in:
@ -0,0 +1 @@
|
||||
package com.chinaunicom.mall.ebtp.common.base;
|
@ -1,18 +1,18 @@
|
||||
package com.chinaunicom.mall.ebtp.common.base.service.impl;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.cloud.security.starter.entity.SecurityEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 缓存用户service实现层 获取缓存用户信息
|
||||
*
|
||||
@ -23,41 +23,80 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BaseCacheUserServiceImpl implements IBaseCacheUserService {
|
||||
// TODO 设置种子ID, 对其雪花ID长度
|
||||
private static final long ID_SEED = 1345977833027100000L;
|
||||
// TODO 设置种子ID, 对其雪花ID长度
|
||||
private static final long ID_SEED = 1345977833027100000L;
|
||||
|
||||
private static final Map<String, BaseCacheUser> USERS = new ConcurrentHashMap<>();
|
||||
private static final Map<String, BaseCacheUser> USERS = new ConcurrentHashMap<>();
|
||||
|
||||
@Override
|
||||
public BaseCacheUser getCacheUser() {
|
||||
try {
|
||||
SecurityEntity securityEntity = (SecurityEntity) SecurityContextHolder.getContext().getAuthentication()
|
||||
.getPrincipal();
|
||||
|
||||
log.debug("Current user principal: " + securityEntity);
|
||||
@Override
|
||||
public BaseCacheUser getCacheUser() {
|
||||
BaseCacheUser user = null;
|
||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
if (attributes != null) {
|
||||
HttpServletRequest request = attributes.getRequest();
|
||||
String token = request.getHeader("JwtToken");
|
||||
if (token != null) {
|
||||
user = USERS.get(token);
|
||||
}
|
||||
}
|
||||
log.info(" --------------- 当前用户信息:" + JsonUtils.objectToJson(user) + " ------------------------------");
|
||||
return user;
|
||||
}
|
||||
|
||||
return convertToBusinessModel(securityEntity);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
return new BaseCacheUser();
|
||||
}
|
||||
@Override
|
||||
public Collection<BaseCacheUser> getUsers() {
|
||||
return USERS.values();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<BaseCacheUser> getUsers() {
|
||||
return USERS.values();
|
||||
}
|
||||
/**
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
// TODO: 山东框架使用未使用雪花ID存放字符串,暂时使用该方法进行id转换
|
||||
private Long getUserId(String rawUid) {
|
||||
long id = ID_SEED;
|
||||
byte[] bytes = rawUid.getBytes();
|
||||
|
||||
/**
|
||||
* 构建用户对象模型
|
||||
*
|
||||
* @param rawObject
|
||||
* @return
|
||||
*/
|
||||
private BaseCacheUser convertToBusinessModel(SecurityEntity raw) {
|
||||
return new BaseCacheUser().setUserId(raw.getStaffId()).setFullName(raw.getStaffName())
|
||||
.setLoginName(raw.getUsername()).setRoleIds(raw.getStaffId()).setOrganizationId(raw.getOu())
|
||||
.setOrganizationName(raw.getOuName()).setAuthorityList(raw.getAuthorityList());
|
||||
}
|
||||
for (byte b : bytes) {
|
||||
id += b;
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
static {
|
||||
BaseCacheUser user = new BaseCacheUser().setUserId("1").setFullName("采购经理").setLoginName("caigou")
|
||||
.setRoleIds("caigou").setOrganizationId("100").setOrganizationName("中国联通吉林分公司");
|
||||
USERS.put(String.valueOf(user.getUserId()), user);
|
||||
|
||||
BaseCacheUser user0 = new BaseCacheUser().setUserId("2").setFullName("代理机构管理员").setLoginName("daili-admin")
|
||||
.setRoleIds("daili-admin").setOrganizationId("100100").setOrganizationName("中兴代理公司");
|
||||
USERS.put(String.valueOf(user0.getUserId()), user0);
|
||||
|
||||
BaseCacheUser user1 = new BaseCacheUser().setUserId("3").setFullName("代理机构子管理员").setLoginName("daili-subadmin")
|
||||
.setRoleIds("daili-subadmin").setOrganizationId("100100").setOrganizationName("中兴代理公司");
|
||||
USERS.put(String.valueOf(user1.getUserId()), user1);
|
||||
|
||||
BaseCacheUser user2 = new BaseCacheUser().setUserId("4").setFullName("项目经理1").setLoginName("daili1")
|
||||
.setRoleIds("daili").setOrganizationId("100100").setOrganizationName("中兴代理公司");
|
||||
USERS.put(String.valueOf(user2.getUserId()), user2);
|
||||
|
||||
BaseCacheUser user3 = new BaseCacheUser().setUserId("5").setFullName("项目经理2").setLoginName("daili2")
|
||||
.setRoleIds("daili").setOrganizationId("100100").setOrganizationName("中兴代理公司");
|
||||
USERS.put(String.valueOf(user3.getUserId()), user3);
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
BaseCacheUser user4 = new BaseCacheUser().setUserId(String.valueOf(6 + i)).setFullName("专家" + (i + 1))
|
||||
.setLoginName("1300000000" + (i + 1)).setRoleIds("zhuanjia").setOrganizationId("666")
|
||||
.setOrganizationName("专家公司");
|
||||
USERS.put(String.valueOf(user4.getUserId()), user4);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
BaseCacheUser user4 = new BaseCacheUser().setUserId(String.valueOf(11 + i)).setFullName("供应商" + (i + 1))
|
||||
.setLoginName("gys" + (i + 1)).setRoleIds("gys").setOrganizationId("200" + (i + 1))
|
||||
.setOrganizationName("供应商公司" + (i + 1));
|
||||
USERS.put(String.valueOf(user4.getUserId()), user4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.common.config;
|
||||
|
||||
import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.AUTHORIZATION_HEADER;
|
||||
import static com.chinaunicom.mall.ebtp.cloud.security.starter.common.Constants.TOKEN_PREFIX;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.RegExUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
@ -18,22 +15,14 @@ import feign.RequestTemplate;
|
||||
@Configuration
|
||||
public class FeignConfig implements RequestInterceptor {
|
||||
|
||||
/**
|
||||
* @param template
|
||||
*/
|
||||
@Override
|
||||
public void apply(RequestTemplate template) {
|
||||
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
|
||||
if (null != attributes) {
|
||||
final String header = attributes.getRequest().getHeader(AUTHORIZATION_HEADER);// 提取request头信息
|
||||
|
||||
// 检查请求头是否包含 Bearer 前缀
|
||||
if (StringUtils.startsWith(header, TOKEN_PREFIX)) {
|
||||
String authToken = RegExUtils.replaceAll(header, TOKEN_PREFIX, "");// 提取 token 信息
|
||||
|
||||
template.header(AUTHORIZATION_HEADER, String.format("%s%s", TOKEN_PREFIX, authToken));
|
||||
}
|
||||
HttpServletRequest request = attributes.getRequest();
|
||||
String token = request.getHeader("JwtToken");
|
||||
template.header("JwtToken", token);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user