30 lines
991 B
C#
30 lines
991 B
C#
using YY.Admin.Core.Services;
|
||
using YY.Admin.Core.Sync;
|
||
|
||
namespace YY.Admin.Infrastructure.Sync;
|
||
|
||
/// <summary>
|
||
/// 用户镜像拉取入队:统一走 Outbox(断网续传),与设备同步模块同一条基础设施线路。
|
||
/// </summary>
|
||
public sealed class JeecgUserMirrorPullOutbox : IJeecgUserMirrorPullOutbox
|
||
{
|
||
private readonly OutboxProcessor _outboxProcessor;
|
||
|
||
public JeecgUserMirrorPullOutbox(OutboxProcessor outboxProcessor)
|
||
{
|
||
_outboxProcessor = outboxProcessor;
|
||
}
|
||
|
||
/// <inheritdoc />
|
||
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);
|
||
}
|
||
}
|