21 lines
923 B
Java
21 lines
923 B
Java
package com.baiyue.lastleg.client;
|
|
|
|
import com.baiyue.common.core.api.ApiResponse;
|
|
import com.baiyue.common.event.EventEnvelope;
|
|
import org.springframework.cloud.openfeign.FeignClient;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestHeader;
|
|
|
|
/** 将海外业务 Outbox 投递到国内区域事件桥。 */
|
|
@FeignClient(name = "event-bridge-service", contextId = "overseasContainerEventBridgeClient",
|
|
url = "${CN_EVENT_BRIDGE_URL:${baiyue.firstleg.event-bridge-url:}}")
|
|
public interface EventBridgeClient {
|
|
@PostMapping("/internal/event-bridge/events")
|
|
ApiResponse<Acknowledgement> receive(
|
|
@RequestHeader("X-Internal-Service-Token") String token,
|
|
@RequestBody EventEnvelope envelope);
|
|
|
|
record Acknowledgement(String eventId, String result, String receivedAt) { }
|
|
}
|