using Furion;
using Furion.EventBus;
using Furion.Logging;
using Myshipping.Application.Service.BookingOrder.Dto;
using Myshipping.Core;
using Newtonsoft.Json.Linq;
namespace Myshipping.Application.Helper
{
public static class CustomerBookingSyncHelper
{
///
/// 推送订舱数据到客户订舱系统
///
///
///
public async static void SendCustomerBookingSync(long id, string syncType = null)
{
Log.Information($"发送推送订舱数据到客户订舱系统事件:{id}");
var evtPub = App.GetService();
var param = new
{
Id = id,
SyncType = syncType
};
await evtPub.PublishAsync(new ChannelEventSource("SendToCustomer:Book", param));
}
///
/// 推送货物状态到客户订舱系统
///
public async static void SyncBookingGoodsStatus(GoodsStatusSyncDto dto)
{
Log.Information($"推送货物状态到客户订舱系统:{dto.ToJsonString()}");
var evtPub = App.GetService();
await evtPub.PublishAsync(new ChannelEventSource("SyncGoodStatus:Book", dto));
}
///
/// 推送订舱批量订舱编号到客户订舱系统
///
public async static void SendCustomerMultiCustNOSync(BookingCustomerMultiCustNODto dto)
{
Log.Information($"发送推送订舱批量订舱编号到客户订舱系统系统事件:{dto.ToJsonString()}");
var evtPub = App.GetService();
await evtPub.PublishDelayAsync(new ChannelEventSource("SendToCustomer:MultiCustNO", dto), 2000);
}
}
}