新增定时调度携带具体 IP
This commit is contained in:
@@ -45,6 +45,12 @@ public class TemplateDatabusRequestLogDO extends BaseDO {
|
|||||||
@TableField("HTTP_METHOD")
|
@TableField("HTTP_METHOD")
|
||||||
private String httpMethod;
|
private String httpMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起请求的 IP。
|
||||||
|
*/
|
||||||
|
@TableField("REQUEST_IP")
|
||||||
|
private String requestIp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Query 参数 JSON。
|
* Query 参数 JSON。
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
|
import java.net.InetAddress;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.net.http.HttpClient;
|
import java.net.http.HttpClient;
|
||||||
@@ -51,6 +52,7 @@ public class TemplateDatabusInvokeService {
|
|||||||
private static final String ENCRYPTION_TYPE = CryptoSignatureUtils.ENCRYPT_TYPE_AES;
|
private static final String ENCRYPTION_TYPE = CryptoSignatureUtils.ENCRYPT_TYPE_AES;
|
||||||
private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5);
|
private static final Duration CONNECT_TIMEOUT = Duration.ofSeconds(5);
|
||||||
private static final Duration READ_TIMEOUT = Duration.ofSeconds(10);
|
private static final Duration READ_TIMEOUT = Duration.ofSeconds(10);
|
||||||
|
private static final String UNKNOWN_IP = "UNKNOWN";
|
||||||
private static final Map<String, String> BASE_QUERY_PARAMS = Map.of(
|
private static final Map<String, String> BASE_QUERY_PARAMS = Map.of(
|
||||||
"businessCode", "11",
|
"businessCode", "11",
|
||||||
"fileId", "11"
|
"fileId", "11"
|
||||||
@@ -73,6 +75,7 @@ public class TemplateDatabusInvokeService {
|
|||||||
.requestId(generateRequestId())
|
.requestId(generateRequestId())
|
||||||
.httpMethod(DEFAULT_HTTP_METHOD)
|
.httpMethod(DEFAULT_HTTP_METHOD)
|
||||||
.targetUrl(TARGET_URL)
|
.targetUrl(TARGET_URL)
|
||||||
|
.requestIp(resolveRequestIp())
|
||||||
.success(Boolean.FALSE)
|
.success(Boolean.FALSE)
|
||||||
.build();
|
.build();
|
||||||
Instant start = Instant.now();
|
Instant start = Instant.now();
|
||||||
@@ -301,4 +304,16 @@ public class TemplateDatabusInvokeService {
|
|||||||
}
|
}
|
||||||
return value.substring(0, maxLength);
|
return value.substring(0, maxLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String resolveRequestIp() {
|
||||||
|
try {
|
||||||
|
InetAddress localHost = InetAddress.getLocalHost();
|
||||||
|
if (localHost != null) {
|
||||||
|
return localHost.getHostAddress();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.debug("无法获取本地请求 IP", ex);
|
||||||
|
}
|
||||||
|
return UNKNOWN_IP;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ CREATE TABLE template_databus_request_log (
|
|||||||
REQUEST_ID VARCHAR(64) NOT NULL,
|
REQUEST_ID VARCHAR(64) NOT NULL,
|
||||||
TARGET_URL VARCHAR(512) NOT NULL,
|
TARGET_URL VARCHAR(512) NOT NULL,
|
||||||
HTTP_METHOD VARCHAR(16) NOT NULL,
|
HTTP_METHOD VARCHAR(16) NOT NULL,
|
||||||
|
REQUEST_IP VARCHAR(64),
|
||||||
QUERY_PARAMS TEXT,
|
QUERY_PARAMS TEXT,
|
||||||
REQUEST_HEADERS TEXT,
|
REQUEST_HEADERS TEXT,
|
||||||
REQUEST_BODY TEXT,
|
REQUEST_BODY TEXT,
|
||||||
@@ -29,6 +30,7 @@ COMMENT ON COLUMN template_databus_request_log.ID IS '主键';
|
|||||||
COMMENT ON COLUMN template_databus_request_log.REQUEST_ID IS '请求唯一标识';
|
COMMENT ON COLUMN template_databus_request_log.REQUEST_ID IS '请求唯一标识';
|
||||||
COMMENT ON COLUMN template_databus_request_log.TARGET_URL IS '目标地址(含 Query)';
|
COMMENT ON COLUMN template_databus_request_log.TARGET_URL IS '目标地址(含 Query)';
|
||||||
COMMENT ON COLUMN template_databus_request_log.HTTP_METHOD IS 'HTTP 方法';
|
COMMENT ON COLUMN template_databus_request_log.HTTP_METHOD IS 'HTTP 方法';
|
||||||
|
COMMENT ON COLUMN template_databus_request_log.REQUEST_IP IS '发起请求的 IP';
|
||||||
COMMENT ON COLUMN template_databus_request_log.QUERY_PARAMS IS 'Query 参数 JSON';
|
COMMENT ON COLUMN template_databus_request_log.QUERY_PARAMS IS 'Query 参数 JSON';
|
||||||
COMMENT ON COLUMN template_databus_request_log.REQUEST_HEADERS IS '请求头 JSON';
|
COMMENT ON COLUMN template_databus_request_log.REQUEST_HEADERS IS '请求头 JSON';
|
||||||
COMMENT ON COLUMN template_databus_request_log.REQUEST_BODY IS '原始请求体';
|
COMMENT ON COLUMN template_databus_request_log.REQUEST_BODY IS '原始请求体';
|
||||||
|
|||||||
Reference in New Issue
Block a user