Merge remote-tracking branch 'origin/S02-轨迹中台第二部分' into test
This commit is contained in:
commit
2588e0e2e0
@ -8,6 +8,7 @@ using SJZY.InterfaceRelay.Application.Contracts;
|
|||||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||||
using SJZY.Track.Application.Contract.Events;
|
using SJZY.Track.Application.Contract.Events;
|
||||||
using SJZY.Track.Application.Contract.Services;
|
using SJZY.Track.Application.Contract.Services;
|
||||||
|
using SJZY.Track.Application.Helpers;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Consts;
|
using SJZY.Track.Domain.Consts;
|
||||||
using SJZY.Track.Domain.Enums;
|
using SJZY.Track.Domain.Enums;
|
||||||
@ -32,7 +33,7 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
[CapSubscribe(GlobalConst.TrackRefreshSubscribe, Group = GlobalConst.TrackRefreshSubscribe)]
|
[CapSubscribe(GlobalConst.TrackRefreshSubscribe, Group = GlobalConst.TrackRefreshSubscribe)]
|
||||||
public async Task ConsumerAsync(InterfaceRelayForwardReplayEvent @event)
|
public async Task ConsumerAsync(InterfaceRelayForwardReplayEvent @event)
|
||||||
{
|
{
|
||||||
var attach = JsonConvert.DeserializeObject<TrackRefreshAttach>(@event.Attach);
|
var attach = Base64Helper.DeSerialize<TrackRefreshAttach>(@event.Attach);
|
||||||
if (attach is null) return;
|
if (attach is null) return;
|
||||||
var config = await _trackPullCacheService.GetPullParamWithContentConfigAsync(attach.SubSystemId,
|
var config = await _trackPullCacheService.GetPullParamWithContentConfigAsync(attach.SubSystemId,
|
||||||
attach.ServiceProviderId);
|
attach.ServiceProviderId);
|
||||||
|
|||||||
33
src/SJZY.Track.Application/Helpers/Base64Helper.cs
Normal file
33
src/SJZY.Track.Application/Helpers/Base64Helper.cs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
using System.Text;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Application.Helpers;
|
||||||
|
|
||||||
|
public class Base64Helper
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// json序列化base64
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="obj"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string SerializeObject(object obj)
|
||||||
|
{
|
||||||
|
var json = JsonConvert.SerializeObject(obj);
|
||||||
|
var bytes = Encoding.UTF8.GetBytes(json);
|
||||||
|
|
||||||
|
return Convert.ToBase64String(bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// json反序列化base64
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="json"></param>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static T? DeSerialize<T>(string json)
|
||||||
|
{
|
||||||
|
byte[] bytes = Convert.FromBase64String(json);
|
||||||
|
|
||||||
|
return JsonConvert.DeserializeObject<T>(Encoding.UTF8.GetString(bytes));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,10 +1,10 @@
|
|||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Newtonsoft.Json;
|
|
||||||
using SJZY.Expand.ABP.Core;
|
using SJZY.Expand.ABP.Core;
|
||||||
using SJZY.InterfaceRelay.Application.Contracts;
|
using SJZY.InterfaceRelay.Application.Contracts;
|
||||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||||
using SJZY.Track.Application.Contract.Services;
|
using SJZY.Track.Application.Contract.Services;
|
||||||
|
using SJZY.Track.Application.Helpers;
|
||||||
using SJZY.Track.Domain.Consts;
|
using SJZY.Track.Domain.Consts;
|
||||||
using SJZY.Track.Domain.Queries;
|
using SJZY.Track.Domain.Queries;
|
||||||
using Volo.Abp.Http.Client.DynamicProxying;
|
using Volo.Abp.Http.Client.DynamicProxying;
|
||||||
@ -61,11 +61,11 @@ public class TrackPullService : ApplicationService
|
|||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
var serviceProviderCode = group.FirstOrDefault()!.ServiceProviderCode;
|
var serviceProviderCode = group.FirstOrDefault()!.ServiceProviderCode;
|
||||||
|
|
||||||
|
var attach = Base64Helper.SerializeObject(group.Key);
|
||||||
// 批量获取轨迹
|
// 批量获取轨迹
|
||||||
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||||
"A012", serviceProviderCode, data, GlobalConst.TrackRefreshSubscribe,
|
"A012", serviceProviderCode, data, GlobalConst.TrackRefreshSubscribe, attach);
|
||||||
JsonConvert.SerializeObject(new TrackRefreshAttach(group.Key.ServiceProviderId,
|
|
||||||
group.Key.ServiceProviderName, group.Key.SubSystemId, group.Key.OrderType)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -100,12 +100,13 @@ public class TrackPullService : ApplicationService
|
|||||||
x.OrderNo
|
x.OrderNo
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
var attach = Base64Helper.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId,
|
||||||
|
serviceProviderName!,
|
||||||
|
group.Key.SubSystemId, group.Key.OrderType));
|
||||||
// 批量获取轨迹
|
// 批量获取轨迹
|
||||||
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||||
InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
|
InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
|
||||||
GlobalConst.TrackRefreshSubscribe,
|
GlobalConst.TrackRefreshSubscribe, attach);
|
||||||
JsonConvert.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId, serviceProviderName!,
|
|
||||||
group.Key.SubSystemId, group.Key.OrderType)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.PullInterval < 60) config.PullInterval = 60;
|
if (config.PullInterval < 60) config.PullInterval = 60;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user