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);
|
|||
|
|
}
|
|||
|
|
}
|