Merge remote-tracking branch 'origin/S02-轨迹中台第二部分' into test

This commit is contained in:
dingenwen 2024-03-27 16:53:52 +08:00
commit d635588dbe
4 changed files with 20 additions and 9 deletions

View File

@ -2,10 +2,10 @@
public class TrackRefreshAttach
{
public TrackRefreshAttach(int serviceProviderId, string serviceProviderCode, int subSystemId, int orderType)
public TrackRefreshAttach(int serviceProviderId, string serviceProviderName, int subSystemId, int orderType)
{
ServiceProviderId = serviceProviderId;
ServiceProviderCode = serviceProviderCode;
ServiceProviderName = serviceProviderName;
SubSystemId = subSystemId;
OrderType = orderType;
}
@ -16,9 +16,9 @@ public class TrackRefreshAttach
public int ServiceProviderId { get; set; }
/// <summary>
/// 服务商code
/// 服务商name
/// </summary>
public string ServiceProviderCode { get; set; }
public string ServiceProviderName { get; set; }
/// <summary>
/// 订单类型(主数据枚举TrackOrderType)

View File

@ -51,18 +51,21 @@ public class TrackPullService : ApplicationService
throw new BusinessException(message: "一个能更新的都没有");
}
foreach (var group in orders.GroupBy(x =>
new TrackRefreshAttach(x.ServiceProviderId, x.ServiceProviderCode, x.SubSystemId, x.OrderType)))
foreach (var group in orders.GroupBy(x => new
{ x.ServiceProviderId, x.ServiceProviderName, x.SubSystemId, x.OrderType }))
{
var data = group.Select(x => new
{
x.OrderNo
}).ToList();
var serviceProviderCode = group.FirstOrDefault()!.ServiceProviderCode;
// 批量获取轨迹
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
"A012", group.Key.ServiceProviderCode, data,
GlobalConst.TrackRefreshSubscribe, JsonConvert.SerializeObject(group.Key));
"A012", serviceProviderCode, data, GlobalConst.TrackRefreshSubscribe,
JsonConvert.SerializeObject(new TrackRefreshAttach(group.Key.ServiceProviderId,
group.Key.ServiceProviderName, group.Key.SubSystemId, group.Key.OrderType)));
}
return true;
@ -87,6 +90,7 @@ public class TrackPullService : ApplicationService
var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId);
var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode;
var serviceProviderName = orders.FirstOrDefault()?.ServiceProviderName;
foreach (var group in orders.GroupBy(x =>
new { x.SubSystemId, x.OrderType }))
@ -100,7 +104,7 @@ public class TrackPullService : ApplicationService
await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
GlobalConst.TrackRefreshSubscribe,
JsonConvert.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId, serviceProviderCode!,
JsonConvert.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId, serviceProviderName!,
group.Key.SubSystemId, group.Key.OrderType)));
}

View File

@ -16,6 +16,11 @@ public class OrderWithServiceProviderVO
/// </summary>
public string ServiceProviderCode { get; set; } = null!;
/// <summary>
/// 服务商name
/// </summary>
public string ServiceProviderName { get; set; } = null!;
/// <summary>
/// 子系统id
/// </summary>

View File

@ -120,6 +120,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
OrderType = a.OrderType,
ServiceProviderId = b.ServiceProviderId,
ServiceProviderCode = c.Code,
ServiceProviderName = c.Name,
SubSystemId = a.SubSystemId
})
.ToListAsync();
@ -137,6 +138,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
OrderType = a.OrderType,
ServiceProviderId = b.ServiceProviderId,
ServiceProviderCode = c.Code,
ServiceProviderName = c.Name,
SubSystemId = a.SubSystemId
})
.ToListAsync();