初始化项目
This commit is contained in:
31
xtools-app-common/xtools-app-common-call/pom.xml
Normal file
31
xtools-app-common/xtools-app-common-call/pom.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-app-common</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
<artifactId>xtools-app-common-call</artifactId>
|
||||
|
||||
<!-- 依赖 -->
|
||||
<dependencies>
|
||||
<!-- xtools begin -->
|
||||
<!-- xtools-cloud-call -->
|
||||
<dependency>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-cloud-call</artifactId>
|
||||
</dependency>
|
||||
<!-- xtools end -->
|
||||
|
||||
<!-- 项目模块 begin -->
|
||||
<dependency>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-app-common-cache</artifactId>
|
||||
</dependency>
|
||||
<!-- 项目模块 end -->
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,87 @@
|
||||
package xtools.app.common.call;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import org.jspecify.annotations.NonNull;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpRequest;
|
||||
import org.springframework.stereotype.Component;
|
||||
import xtools.app.common.cache.enums.AppCache;
|
||||
import xtools.base.config.BaseParams;
|
||||
import xtools.boot.api.constant.BootCommonConstant;
|
||||
import xtools.boot.cache.redis.base.RedisService;
|
||||
import xtools.boot.core.holder.CommonHolder;
|
||||
import xtools.cloud.call.interceptor.CallInterceptor;
|
||||
import xtools.core.CollectionUtils;
|
||||
import xtools.core.UuidUtils;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>Title : SysCallInterceptor</p>
|
||||
* <p>Description : SysCallInterceptor</p>
|
||||
* <p>DevelopTools : Idea_x64_v2026.1</p>
|
||||
* <p>DevelopSystem : macOS Sequoia 15.7.5</p>
|
||||
* <p>Company : org.xujun</p>
|
||||
*
|
||||
* @author : XuJun
|
||||
* @version : 1.0.0
|
||||
* @date : 2026/2/27 14:55
|
||||
*/
|
||||
@Component
|
||||
public class SysCallInterceptor implements CallInterceptor, BaseParams {
|
||||
|
||||
/**
|
||||
* 缓存参数
|
||||
*/
|
||||
private static final AppCache CACHE_PARAM = AppCache.AUTH_CLOUD_TOKEN;
|
||||
|
||||
@Resource
|
||||
private RedisService redisService;
|
||||
|
||||
/**
|
||||
* 请求之前
|
||||
*
|
||||
* @param request 请求
|
||||
*/
|
||||
@Override
|
||||
public void before(@NonNull HttpRequest request) {
|
||||
// 设置微服务认证信息
|
||||
setCloudToken(request);
|
||||
Map<String, Object> commonMap = CommonHolder.get();
|
||||
// 传递请求头信息
|
||||
setHeaders(request, commonMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置微服务认证信息
|
||||
*
|
||||
* @param request 请求
|
||||
*/
|
||||
private void setCloudToken(@NonNull HttpRequest request) {
|
||||
// 设置微服务认证信息
|
||||
String token = UuidUtils.get();
|
||||
redisService.hashPut(CACHE_PARAM.key(), token, CP_NUM0, CACHE_PARAM.expireTime());
|
||||
request.getHeaders().add(BootCommonConstant.CLOUD_TOKEN, token);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置请求头
|
||||
*
|
||||
* @param request 请求
|
||||
* @param commonMap 公共参数
|
||||
*/
|
||||
private void setHeaders(@NonNull HttpRequest request, Map<String, Object> commonMap) {
|
||||
// 传递请求头信息
|
||||
if (CollectionUtils.isEmpty(commonMap)) {
|
||||
return;
|
||||
}
|
||||
HttpHeaders headers = request.getHeaders();
|
||||
if (commonMap.get(BootCommonConstant.AUTHORIZATION) instanceof String authorization) {
|
||||
headers.add(BootCommonConstant.AUTHORIZATION, authorization);
|
||||
}
|
||||
if (commonMap.get(BootCommonConstant.UID) instanceof String uid) {
|
||||
headers.add(BootCommonConstant.UID, uid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user