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
{
IndexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}",
OrderId = @event.OrderId,
OrderNo = @event.OrderNo,
OrderType = @event.OrderType,
@ -110,7 +111,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackContent = track.TrackContent,
TrackEnContent = track.TrackEnContent,
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
{
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)
{
order = ObjectMapper.Map(input, order);
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates);
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos);
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates!);
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos!);
await _orderRepository.UpdateOrderAsync(order);
}
}

View File

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

View File

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