using Hotline.Caching.Interfaces;
using Hotline.Caching.Services;
using Hotline.Orders;
using Hotline.Settings;
using Hotline.Share.Dtos.Snapshot;
using Hotline.Share.Tools;
using Hotline.Snapshot.Contracts;
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hotline.Snapshot.Notifications;

/// <summary>
/// 推送网格员系统通知
/// </summary>
public record PostGuiderSystemNotification(string OrderId) : INotification;

/// <summary>
/// 推送成功后发送的延迟消息
/// </summary>
/// <param name="orderId"></param>
public record PostGuiderSystemDelayed(string OrderId);

/// <summary>
/// 网格员系统超时未回复 或者网格员系统超时退回
/// </summary>
/// <param name="orderId"></param>
public record GuiderSystemTimeOutBackNotification(string OrderId) : INotification;

/// <summary>
/// 网格员系统办结
/// </summary>
/// <param name="OrderId"></param>
public record GuiderSystemFieldNotification(OrderSnapshot OrderSnapshot, CommunityInfo CommunityInfo) : INotification;

/// <summary>
/// 工单归档后生成红包数据
/// </summary>
/// <param name="OrderId"></param>
public record SnapshotOrderFiledNotification(string OrderId) : INotification;
