fix 轨迹刷新 attach base64问题
This commit is contained in:
parent
b98742f431
commit
2304a1f918
@ -8,6 +8,7 @@ using SJZY.InterfaceRelay.Application.Contracts;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Enums;
|
||||
@ -32,7 +33,7 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
|
||||
[CapSubscribe(GlobalConst.TrackRefreshSubscribe, Group = GlobalConst.TrackRefreshSubscribe)]
|
||||
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;
|
||||
var config = await _trackPullCacheService.GetPullParamWithContentConfigAsync(attach.SubSystemId,
|
||||
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 Newtonsoft.Json;
|
||||
using SJZY.Expand.ABP.Core;
|
||||
using SJZY.InterfaceRelay.Application.Contracts;
|
||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.Http.Client.DynamicProxying;
|
||||
@ -61,11 +61,11 @@ public class TrackPullService : ApplicationService
|
||||
}).ToList();
|
||||
|
||||
var serviceProviderCode = group.FirstOrDefault()!.ServiceProviderCode;
|
||||
|
||||
var attach = Base64Helper.SerializeObject(group.Key);
|
||||
// 批量获取轨迹
|
||||
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||
"A012", serviceProviderCode, data, GlobalConst.TrackRefreshSubscribe,
|
||||
JsonConvert.SerializeObject(new TrackRefreshAttach(group.Key.ServiceProviderId,
|
||||
group.Key.ServiceProviderName, group.Key.SubSystemId, group.Key.OrderType)));
|
||||
"A012", serviceProviderCode, data, GlobalConst.TrackRefreshSubscribe, attach);
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -100,12 +100,13 @@ public class TrackPullService : ApplicationService
|
||||
x.OrderNo
|
||||
}).ToList();
|
||||
|
||||
var attach = Base64Helper.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId,
|
||||
serviceProviderName!,
|
||||
group.Key.SubSystemId, group.Key.OrderType));
|
||||
// 批量获取轨迹
|
||||
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
|
||||
InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
|
||||
GlobalConst.TrackRefreshSubscribe,
|
||||
JsonConvert.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId, serviceProviderName!,
|
||||
group.Key.SubSystemId, group.Key.OrderType)));
|
||||
GlobalConst.TrackRefreshSubscribe, attach);
|
||||
}
|
||||
|
||||
if (config.PullInterval < 60) config.PullInterval = 60;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user