using YY.Admin.Core.Services;
using YY.Admin.Core.Sync;
namespace YY.Admin.Infrastructure.Sync;
///
/// 用户镜像拉取入队:统一走 Outbox(断网续传),与设备同步模块同一条基础设施线路。
///
public sealed class JeecgUserMirrorPullOutbox : IJeecgUserMirrorPullOutbox
{
private readonly OutboxProcessor _outboxProcessor;
public JeecgUserMirrorPullOutbox(OutboxProcessor outboxProcessor)
{
_outboxProcessor = outboxProcessor;
}
///
public Task EnqueuePullAsync(string eventType, string? payloadJson, CancellationToken cancellationToken = default)
{
var payload = string.IsNullOrWhiteSpace(payloadJson) ? "{}" : payloadJson;
return _outboxProcessor.EnqueueAsync(
JeecgUserMirrorOutbox.AggregateType,
"mirror",
eventType,
new { source = "unified-device-channel", detail = payload },
cancellationToken);
}
}