feat: close overseas wallet and pallet cost flow
This commit is contained in:
+6
-1
@@ -1,6 +1,7 @@
|
||||
package com.baiyue.eventbridge.service;
|
||||
|
||||
import com.baiyue.common.event.EventEnvelope;
|
||||
import com.baiyue.common.event.EventTypes;
|
||||
import com.baiyue.common.event.RegionCode;
|
||||
import com.baiyue.eventbridge.config.EventDispatcherProperties;
|
||||
import com.baiyue.eventbridge.domain.BridgeInbox;
|
||||
@@ -24,6 +25,8 @@ public class HttpFinanceEventClient implements FinanceEventClient {
|
||||
@Resource private EventBridgeHttpTracePropagation tracePropagation;
|
||||
@Value("${baiyue.event-dispatcher.finance-consumer-url:http://127.0.0.1:9203/internal/finance/v1/business-fee-source-events}")
|
||||
private URI consumerUrl;
|
||||
@Value("${baiyue.event-dispatcher.finance-wallet-consumer-url:http://127.0.0.1:9203/internal/finance/v1/wallet-command-events}")
|
||||
private URI walletConsumerUrl;
|
||||
@Value("${baiyue.security.internal-service-token:}") private String serviceToken;
|
||||
private HttpClient httpClient;
|
||||
|
||||
@@ -39,7 +42,9 @@ public class HttpFinanceEventClient implements FinanceEventClient {
|
||||
row.getCustomerId(), row.getAggregateType(), row.getAggregateId(), row.getAggregateVersion(),
|
||||
row.getHandoverVersion(), row.getTraceId(), row.getCorrelationId(), row.getCausationId(),
|
||||
objectMapper.readTree(row.getPayloadJson()), row.getPayloadHash());
|
||||
HttpRequest request = tracePropagation.apply(HttpRequest.newBuilder(consumerUrl)
|
||||
URI target = EventTypes.WALLET_COMMAND_REQUESTED.equals(row.getEventType())
|
||||
? walletConsumerUrl : consumerUrl;
|
||||
HttpRequest request = tracePropagation.apply(HttpRequest.newBuilder(target)
|
||||
.timeout(properties.requestTimeout()).header("Content-Type", "application/json")
|
||||
.header("X-Internal-Service-Token", serviceToken))
|
||||
.POST(HttpRequest.BodyPublishers.ofString(objectMapper.writeValueAsString(envelope))).build();
|
||||
|
||||
+5
-1
@@ -90,7 +90,7 @@ public class OverseasEventDispatcher {
|
||||
throw new IllegalArgumentException("事件类型不能为空,无法选择下游消费者");
|
||||
}
|
||||
return switch (event.getTargetRegion()) {
|
||||
case "CN" -> EventTypes.BUSINESS_FEE_SOURCE_CHANGED.equals(eventType)
|
||||
case "CN" -> FINANCE_EVENT_TYPES.contains(eventType)
|
||||
? financeEventClient.deliver(event) : firstlegEventClient.deliver(event);
|
||||
case "OVERSEAS" -> SECURITY_EVENT_TYPES.contains(eventType)
|
||||
? securityProjectionEventClient.deliver(event) : eventClient.deliver(event);
|
||||
@@ -103,6 +103,10 @@ public class OverseasEventDispatcher {
|
||||
EventTypes.IAM_TENANT_STATUS_CHANGED,
|
||||
EventTypes.IAM_PERMISSION_VERSION_CHANGED);
|
||||
|
||||
private static final Set<String> FINANCE_EVENT_TYPES = Set.of(
|
||||
EventTypes.BUSINESS_FEE_SOURCE_CHANGED,
|
||||
EventTypes.WALLET_COMMAND_REQUESTED);
|
||||
|
||||
private BridgeDeliveryAttempt startAttempt(BridgeInbox event, int attemptNo) {
|
||||
BridgeDeliveryAttempt attempt = new BridgeDeliveryAttempt();
|
||||
attempt.setEventId(event.getEventId());
|
||||
|
||||
Reference in New Issue
Block a user