Merge branch 'S01-轨迹中台' into test

This commit is contained in:
李鹏军 2024-03-05 15:13:03 +08:00
commit fa5668a991
5 changed files with 34 additions and 24 deletions

View File

@ -71,6 +71,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
track = new TrackDetailsIndex track = new TrackDetailsIndex
{ {
IndexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}",
OrderId = @event.OrderId, OrderId = @event.OrderId,
OrderNo = @event.OrderNo, OrderNo = @event.OrderNo,
OrderType = @event.OrderType, OrderType = @event.OrderType,
@ -110,7 +111,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackContent = track.TrackContent, TrackContent = track.TrackContent,
TrackEnContent = track.TrackEnContent, TrackEnContent = track.TrackEnContent,
TrackPlace = track.TrackPlace, TrackPlace = track.TrackPlace,
TrackTime = track.TrackTime TrackTime = track.TrackTime,
TrackTimeZone = track.TraceTimeZone
}); });
// 根据订单关联关系异步向下刷 // 根据订单关联关系异步向下刷

View File

@ -33,7 +33,8 @@ public class UpdateOrderTrackEventHandler : ITransientDependency, ICapSubscribe
await _orderRepository.UpdateColumnAsync(order, x => new await _orderRepository.UpdateColumnAsync(order, x => new
{ {
x.IsCompleted, x.LatestTrackContent, x.LatestTrackEnContent, x.LatestTrackPlace, x.LatestTrackTime x.IsCompleted, x.LatestTrackContent, x.LatestTrackEnContent, x.LatestTrackPlace, x.LatestTrackTime,
x.LatestTrackTimeZone
}); });
} }
} }

View File

@ -115,8 +115,8 @@ public class OrderService : ApplicationService
private async Task UpdateOrderAsync(UpdateOrderInput input, OrderEntity order) private async Task UpdateOrderAsync(UpdateOrderInput input, OrderEntity order)
{ {
order = ObjectMapper.Map(input, order); order = ObjectMapper.Map(input, order);
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates); order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates!);
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos); order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos!);
await _orderRepository.UpdateOrderAsync(order); await _orderRepository.UpdateOrderAsync(order);
} }
} }

View File

@ -16,6 +16,11 @@ public class TrackDetailsIndex : IdBaseIndex
/// </summary> /// </summary>
public string OrderNo { get; set; } = null!; public string OrderNo { get; set; } = null!;
/// <summary>
/// 索引名称
/// </summary>
public string IndexName { get; set; } = null!;
/// <summary> /// <summary>
/// 订单类型(主数据枚举TrackOrderType) /// 订单类型(主数据枚举TrackOrderType)
/// </summary> /// </summary>

View File

@ -1,8 +1,6 @@
using Nest; using Nest;
using SJZY.Expand.ABP.Core.Logger; using SJZY.Expand.ABP.Core.Logger;
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Expand.ElasticSearch.Services; using SJZY.Expand.ElasticSearch.Services;
using SJZY.Track.Domain;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.TrackDetails; using SJZY.Track.Domain.Dtos.TrackDetails;
@ -26,8 +24,8 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
) )
); );
var res= r.Documents.FirstOrDefault(); var res = r.Documents.FirstOrDefault();
if (r.Hits.FirstOrDefault() != default && res != default) if (res != default && r.Hits.FirstOrDefault() != default)
{ {
res.Id = r.Hits.FirstOrDefault()!.Id; res.Id = r.Hits.FirstOrDefault()!.Id;
} }
@ -36,27 +34,31 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
} }
public async Task UpsertAsync(TrackDetailsIndex index) public async Task UpsertAsync(TrackDetailsIndex index)
{
try
{ {
if (index.Id.IsNullOrWhiteSpace()) if (index.Id.IsNullOrWhiteSpace())
{ {
// 按天写入es // 按天写入es
await Context.IndexAsync(index, request => request var r = await Context.IndexAsync(index, request => request
.Index($"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}") .Index(index.IndexName)
); );
if (!r.IsValid)
{
LogHelper.Error($"轨迹数据新增失败,原因:{r.DebugInformation}。");
}
} }
else else
{ {
await Context.UpdateAsync<TrackDetailsIndex>(index.Id, u => u var r = await Context.UpdateAsync<TrackDetailsIndex>(index.Id, u => u
.Index(index.IndexName)
.Doc(index) .Doc(index)
//.Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见 //.Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见
); );
}
} if (!r.IsValid)
catch (Exception ex)
{ {
LogHelper.Error($"轨迹数据新增/修改失败,原因:{ex.Message}。\n{index.ToJson()}"); LogHelper.Error($"轨迹数据更新失败,原因:{r.DebugInformation}。");
}
} }
} }