Merge branch 'S02-轨迹中台第二部分' into test
This commit is contained in:
commit
01bb22ec16
@ -22,6 +22,11 @@ public class TrackPushEvent
|
||||
/// </summary>
|
||||
public string OrderNo { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 订单类型
|
||||
/// </summary>
|
||||
public int OrderType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹内容id
|
||||
/// </summary>
|
||||
|
||||
@ -44,7 +44,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
|
||||
|
||||
var isSuccess = res.Code == InterfaceRelayConst.SuccessCode;
|
||||
|
||||
// 写推送日志
|
||||
// 往es 写推送日志
|
||||
await _trackPushRecordsRepository.AddAsync(new TrackPushRecordIndex
|
||||
{
|
||||
IndexName = $"{GlobalConst.TrackPushRecordsIndex}-{DateTime.Now:yyyy.MM.dd}",
|
||||
@ -52,6 +52,8 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
|
||||
Message = res.Msg,
|
||||
OptionType = @event.OptionType.ToString(),
|
||||
OrderId = @event.OrderId,
|
||||
OrderType = @event.OrderType,
|
||||
OrderNo = @event.OrderNo,
|
||||
TrackStatus = @event.TrackStatus,
|
||||
TrackCode = @event.TrackCode,
|
||||
TrackContent = @event.TrackContent,
|
||||
|
||||
@ -191,6 +191,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
OptionType = optionType,
|
||||
ServiceProviderCode = config.ServiceProviderCode,
|
||||
OrderNo = track.OrderNo,
|
||||
OrderType = track.OrderType,
|
||||
OrderId = track.OrderId,
|
||||
TrackContentId = config.TrackContentId,
|
||||
TrackStatus = track.TrackStatus,
|
||||
|
||||
@ -5,6 +5,7 @@ using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Enums;
|
||||
using SJZY.UserCenter.HttpApi.Services;
|
||||
@ -22,16 +23,19 @@ public class TrackPushService : ApplicationService
|
||||
private readonly IOrderRepository _orderRepository;
|
||||
private readonly ITrackPushCacheService _pushCacheService;
|
||||
private readonly ICapPublisher _capPublisher;
|
||||
private readonly ITrackPushRecordsRepository _trackPushRecordsRepository;
|
||||
|
||||
public TrackPushService(ITrackPushCacheService pushCacheService,
|
||||
ITrackDetailsRepository trackDetailsRepository
|
||||
, IOrderRepository orderRepository
|
||||
, ICapPublisher capPublisher)
|
||||
, ICapPublisher capPublisher
|
||||
, ITrackPushRecordsRepository trackPushRecordsRepository)
|
||||
{
|
||||
_pushCacheService = pushCacheService;
|
||||
_trackDetailsRepository = trackDetailsRepository;
|
||||
_orderRepository = orderRepository;
|
||||
_capPublisher = capPublisher;
|
||||
_trackPushRecordsRepository = trackPushRecordsRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -47,7 +51,7 @@ public class TrackPushService : ApplicationService
|
||||
var orders = await _orderRepository.GetListAsync(x =>
|
||||
x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo), x => new
|
||||
{
|
||||
x.Id, x.OrderNo, x.SubSystemId, x.CustomId
|
||||
x.Id, x.OrderNo, x.OrderType, x.SubSystemId, x.CustomId
|
||||
});
|
||||
|
||||
if (orders.Count == 0)
|
||||
@ -81,6 +85,7 @@ public class TrackPushService : ApplicationService
|
||||
{
|
||||
ServiceProviderCode = config.ServiceProviderCode,
|
||||
OrderNo = order.OrderNo,
|
||||
OrderType = order.OrderType,
|
||||
OrderId = order.Id,
|
||||
TrackContentId = config.TrackContentId,
|
||||
TrackStatus = track.TrackStatus,
|
||||
@ -130,4 +135,15 @@ public class TrackPushService : ApplicationService
|
||||
|
||||
return $"成功将:{orders.Count(x => x.QuestionType == (int)TrackProblemType.Warn)}个订单置为预警";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取轨迹推送记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <param name="input"></param>
|
||||
[HttpGet("Track/GetTrackPushRecords")]
|
||||
public async Task<List<TrackPushRecordIndex>> GetTrackPushRecordsAsync(OrderNoInfo input)
|
||||
{
|
||||
return await _trackPushRecordsRepository.GetTrackPushRecordsAsync(input.OrderNo, input.OrderType);
|
||||
}
|
||||
}
|
||||
@ -15,4 +15,6 @@ public interface ITrackPushRecordsRepository
|
||||
/// <param name="orderId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<TrackPushRecordIndex>> GetTrackPushRecordsAsync(int orderId);
|
||||
|
||||
Task<List<TrackPushRecordIndex>> GetTrackPushRecordsAsync(string inputOrderNo, int inputOrderType);
|
||||
}
|
||||
@ -17,6 +17,16 @@ public class TrackPushRecordIndex : IdBaseIndex
|
||||
/// </summary>
|
||||
public int OrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string OrderNo { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// 订单类型(主数据枚举TrackOrderType)
|
||||
/// </summary>
|
||||
public int OrderType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 接口通请求Id
|
||||
/// </summary>
|
||||
|
||||
@ -40,4 +40,18 @@ public class TrackPushRecordsRepository : ElasticSearchContextAbstract<TrackDeta
|
||||
|
||||
return data.Documents.ToList();
|
||||
}
|
||||
|
||||
public async Task<List<TrackPushRecordIndex>> GetTrackPushRecordsAsync(string orderNo, int orderType)
|
||||
{
|
||||
var data = await Context.SearchAsync<TrackPushRecordIndex>(x => x
|
||||
.Index(GlobalConst.TrackPushRecordsIndex)
|
||||
.Query(q =>
|
||||
q.Term(t => t.OrderNo.Suffix("keyword"), orderNo)
|
||||
&& q.Term(f => f.OrderType, orderType)
|
||||
)
|
||||
.Size(1000)
|
||||
.Sort(s => s.Field(f => f.CreateTime, SortOrder.Descending)));
|
||||
|
||||
return data.Documents.ToList();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user