diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs
index f778ada8..8984a769 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs
@@ -73,7 +73,6 @@ public class TrackPushContentConfigDto
/// 扩展字段参数值
///
public string? ExpandFieldsValue { get; set; }
-
///
/// 时间格式枚举
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusDetailDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusDetailDto.cs
index fe39c418..b77a4a41 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusDetailDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackStatus/GetTrackStatusDetailDto.cs
@@ -36,5 +36,10 @@
/// 轨迹内容英文
///
public string EntrackStatus { get; set; }
+
+ ///
+ /// 节点名称
+ ///
+ public string? NodeName { get; set; }
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Events/PullChangeBottomLineUpdateOrderEvent.cs b/src/SJZY.Track.Application.Contract/Events/PullChangeBottomLineUpdateOrderEvent.cs
deleted file mode 100644
index ed59fce6..00000000
--- a/src/SJZY.Track.Application.Contract/Events/PullChangeBottomLineUpdateOrderEvent.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace SJZY.Track.Application.Contract.Events;
-
-public class PullChangeBottomLineUpdateOrderEvent
-{
- public List OrderIds { get; set; } = null!;
-
- ///
- /// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
- ///
- public int DeficiencyTagValue { get; set; }
-}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackChangeAfterUpdateOrderEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackChangeAfterUpdateOrderEvent.cs
index 385b01f1..2eb42c61 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackChangeAfterUpdateOrderEvent.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackChangeAfterUpdateOrderEvent.cs
@@ -56,4 +56,9 @@ public class TrackChangeAfterUpdateOrderEvent
/// 轨迹内容代码
///
public string? TrackCode { get; set; }
+
+ ///
+ /// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
+ ///
+ public int DeficiencyTagValue { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
index 621a441c..2884b824 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
@@ -53,4 +53,9 @@ public class TrackUpsertEvent
public List Visited { get; set; } = new();
public TrackRefreshStruct TrackRefreshData { get; set; }
+
+ ///
+ /// 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
+ ///
+ public int DeficiencyTagValue { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
index c2409eea..8ca802aa 100644
--- a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
+++ b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
@@ -15,6 +15,7 @@ public class TrackPullAutoMapperProfile : Profile
.ForMember(dest => dest.IsPush, opt => opt.MapFrom(source => false));
CreateMap(MemberList.None)
.ForMember(dest => dest.TrackKeyword, opt => opt.MapFrom(src => string.Join(',', src.TrackKeywords)))
+ .ForMember(dest => dest.TrackZonePlaceValue, opt => opt.MapFrom(src => string.Join(',', src.TrackTimePlaceValue)))
.ForMember(dest => dest.TrackKeywordReverse, opt => opt.MapFrom(src => string.Join(',', src.TrackKeywordReverses)));
CreateMap(MemberList.None);
CreateMap(MemberList.None);
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/PullChangeBottomLineUpdateOrderEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/PullChangeBottomLineUpdateOrderEventHandler.cs
deleted file mode 100644
index cccaf7eb..00000000
--- a/src/SJZY.Track.Application/CAP/EventHandlers/PullChangeBottomLineUpdateOrderEventHandler.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using DotNetCore.CAP;
-using SJZY.Track.Application.Contract.Events;
-using SJZY.Track.Domain.Aggregates.OrderAggregate;
-using SJZY.Track.Domain.Consts;
-using Volo.Abp.DependencyInjection;
-
-namespace SJZY.Track.Application.CAP.EventHandlers;
-
-///
-/// 拉去轨迹后,执行了兜底操作还是失败的标记操作
-///
-public class PullChangeBottomLineUpdateOrderEventHandler :ITransientDependency, ICapSubscribe
-{
- private readonly IOrderRepository _orderRepository;
-
- public PullChangeBottomLineUpdateOrderEventHandler(IOrderRepository orderRepository)
- {
- _orderRepository = orderRepository;
- }
-
- [CapSubscribe(GlobalConst.PullChangeBottomLineUpdateOrderSubscribe)]
- public async Task ConsumerAsync(PullChangeBottomLineUpdateOrderEvent @event)
- {
- var rows =await _orderRepository.UpdateBatchIdsAsync(@event.OrderIds, @event.DeficiencyTagValue);
- }
-}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackChangeAfterUpdateOrderEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackChangeAfterUpdateOrderEventHandler.cs
index eef4d26a..2d9540aa 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackChangeAfterUpdateOrderEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackChangeAfterUpdateOrderEventHandler.cs
@@ -48,6 +48,12 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
}
}
+ // 执行轨迹兜底时 时区缺失和发生地缺失标记,1表示时区,2表示发生地,3表示两种
+ if (@event.DeficiencyTagValue > 0 && @event.DeficiencyTagValue<=3)
+ {
+ order.DeficiencyTag = @event.DeficiencyTagValue;
+ }
+
if (!order.IsCompleted)
{
order.IsCompleted = @event.IsCompleted;
@@ -75,7 +81,7 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
await _orderRepository.UpdateRangeAsync(updateOrders, x => new
{
x.IsCompleted, x.LatestTrackContent, x.LatestTrackEnContent, x.LatestTrackPlace, x.LatestTrackTime,
- x.LatestTrackTimeZone,x.IsTriggerPull
+ x.LatestTrackTimeZone,x.IsTriggerPull,x.DeficiencyTag
});
// 预警计算
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackRefreshEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackRefreshEventHandler.cs
index 8afe8e0c..8411bf76 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackRefreshEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackRefreshEventHandler.cs
@@ -225,6 +225,16 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
return;
}
+ int deficiencyTagValue = 0;
+ // 触发了兜底,但是没有兜底住,对订单进行标记
+ if (hasPlaceBottomLine || hasTimezoneBottomLine)
+ {
+ //1表示时区,2表示发生地,3表示两种
+ var placeTagValue = hasPlaceBottomLine ? 2 : 0;
+ var timezoneTagValue = hasTimezoneBottomLine ? 1 : 0;
+ deficiencyTagValue = placeTagValue + timezoneTagValue;
+ }
+
// 新增/更新轨迹
var trackUpsertEvent = new TrackUpsertEvent
{
@@ -237,6 +247,7 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
OrderType = context.OrderType,
}
},
+
TrackRefreshData = new TrackRefreshStruct
{
ServiceProviderName = context.ServiceProviderName,
@@ -250,26 +261,13 @@ public class TrackRefreshEventHandler : ITransientDependency, ICapSubscribe
TrackCode = matchedContentConfig.TrackContentCode,
TrackPlace = trackPlace ?? GlobalConst.EmptyString,
TrackTime = trackTime ?? DateTime.Now,
- TrackTimeZone = trackTimeZone ?? 8
+ TrackTimeZone = trackTimeZone ?? 8,
+ DeficiencyTagValue = deficiencyTagValue
};
trackUpsertEvent.IsAdd =
!await _trackDetailsRepository.AnyByCodeAsync(context.OrderId, matchedContentConfig.TrackContentCode);
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertForRefreshSubscribe, trackUpsertEvent);
-
- // 触发了兜底,但是没有兜底住,对订单进行标记
- if (hasPlaceBottomLine || hasTimezoneBottomLine)
- {
- //1表示时区,2表示发生地,3表示两种
- var placeTagValue = hasPlaceBottomLine ? 2 : 0;
- var timezoneTagValue = hasTimezoneBottomLine ? 1 : 0;
- PullChangeBottomLineUpdateOrderEvent deficiencyTagEvent = new PullChangeBottomLineUpdateOrderEvent
- {
- OrderIds = new List(){context.OrderId},
- DeficiencyTagValue = placeTagValue+timezoneTagValue
- };
- await _capPublisher.PublishAsync(GlobalConst.PullChangeBottomLineUpdateOrderSubscribe, deficiencyTagEvent);
- }
}
///
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
index 5e73128b..703900c5 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
@@ -194,7 +194,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackPlace = @event.TrackPlace,
TrackTime = @event.TrackTime,
TrackTimeZone = @event.TrackTimeZone,
- TrackCode = @event.TrackCode
+ TrackCode = @event.TrackCode,
+ DeficiencyTagValue = @event.DeficiencyTagValue
});
// 触发轨迹推送事件(异步)
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs
index c7663f86..3ad8cc46 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPushService.cs
@@ -22,17 +22,17 @@ public class TrackPushService : ApplicationService
private readonly ICapPublisher _capPublisher;
private readonly ITrackPushRecordsRepository _trackPushRecordsRepository;
private readonly IHttpClientProxy _requestCurrentUserService;
- TrackPushEventHandler _trackPushEventHandler;
+
public TrackPushService(IOrderRepository orderRepository
, ICapPublisher capPublisher
, ITrackPushRecordsRepository trackPushRecordsRepository,
- IHttpClientProxy requestCurrentUserService, TrackPushEventHandler trackPushEventHandler)
+ IHttpClientProxy requestCurrentUserService)
{
_orderRepository = orderRepository;
_capPublisher = capPublisher;
_trackPushRecordsRepository = trackPushRecordsRepository;
_requestCurrentUserService = requestCurrentUserService;
- _trackPushEventHandler = trackPushEventHandler;
+
}
///
@@ -43,24 +43,6 @@ public class TrackPushService : ApplicationService
[HttpPost("Track/Push")]
public async Task PushTrackAsync(PushTrackInput input)
{
- var trackPushEvenst = new TrackPushEvent
-{
- OptionType = OptionType.新增, // Assuming OptionType.新增 corresponds to 1
- SubSystemId = 9534,
- CustomId = 228618,
- OrderIds = new int[] { 1 },
- TrackCode = "CP",
- OperationMan = "郑志红",
- SystemPushInfo = new SystemPushStruct
- {
- TrackStatus = null,
- TrackContent = null,
- TrackPlace = null,
- TrackTime = DateTime.Parse("0001-01-01T00:00:00"),
- TrackTimeZone = 0.0f
- }
-};
- await _trackPushEventHandler.ConsumerAsync(trackPushEvenst);
input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
var orders = await _orderRepository.GetArrayAsync(x =>
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs
index dd98a21d..0b200c1c 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs
@@ -25,7 +25,7 @@ public class TrackStatusEntity : IFullAuditedBasicEntitys, IAggregateRoot
public string EnStatus { get; set; } = null!;
///
- /// 所属节点(主数据枚举ServiceNode)
+ /// 所属节点(来自表 t_track_node) 之前是枚举,后续调整为表
///
[SugarColumn(ColumnName = "Node")]
public int Node { get; set; }
diff --git a/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs b/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs
index 1b853ffe..378f0b89 100644
--- a/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs
+++ b/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs
@@ -56,9 +56,4 @@ public partial class GlobalConst
/// 关联订单后补轨迹
///
public const string OrderLinkAfterFillTrack = "SJZY.Track.OrderLinkAfterFillTrack";
-
- ///
- /// 拉取轨迹触发兜底后更新订单
- ///
- public const string PullChangeBottomLineUpdateOrderSubscribe = "SJZY.Track.PullChangeBottomLineUpdateOrder";
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackStatus/GetTrackStatusDetailVO.cs b/src/SJZY.Track.Domain/Dtos/TrackStatus/GetTrackStatusDetailVO.cs
index 66de23a9..76c4ac32 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackStatus/GetTrackStatusDetailVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackStatus/GetTrackStatusDetailVO.cs
@@ -36,4 +36,9 @@ public class GetTrackStatusDetailVO
/// 轨迹内容英文
///
public string EntrackStatus { get; set; }
+
+ ///
+ /// 节点名称
+ ///
+ public string? NodeName { get; set; }
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Enums/DateTimeFormatEnum.cs b/src/SJZY.Track.Domain/Enums/DateTimeFormatEnum.cs
index 37e3c4fc..f7d68b5e 100644
--- a/src/SJZY.Track.Domain/Enums/DateTimeFormatEnum.cs
+++ b/src/SJZY.Track.Domain/Enums/DateTimeFormatEnum.cs
@@ -5,6 +5,11 @@ namespace SJZY.Track.Domain.Enums;
///
public enum DateTimeFormatEnum
{
+ ///
+ /// 默认
+ ///
+ None = 0,
+
///
/// 时间戳
///
diff --git a/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
index a4abd5b5..7ea0fb26 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackStatusRepository.cs
@@ -1,3 +1,4 @@
+using SJZY.Track.Domain.Aggregates.TrackNodeAggregate;
using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
using SJZY.Track.Domain.Dtos.TrackStatus;
using SJZY.Track.Domain.VEntities;
@@ -14,9 +15,10 @@ public class TrackStatusRepository : BasicRepository, ITrackS
public async Task GetDetailAsync(int id)
{
var detail = await Context.Queryable()
- .LeftJoin((a, b) => a.SubSystemId == b.Id&&b.IsDeleted==false)
- .Where((a, b) => a.Id == id)
- .Select((a, b) => new GetTrackStatusDetailVO
+ .InnerJoin((a,t)=>a.Node==t.Id)
+ .LeftJoin((a, t,b) => a.SubSystemId == b.Id&&b.IsDeleted==false)
+ .Where((a,t, b) => a.Id == id)
+ .Select((a, t,b) => new GetTrackStatusDetailVO
{
Id = a.Id,
SubSystemId = a.SubSystemId,
@@ -24,7 +26,8 @@ public class TrackStatusRepository : BasicRepository, ITrackS
Code = a.Code,
EntrackStatus = a.EnStatus,
NodeId = a.Node,
- TrackStatus = a.Status
+ TrackStatus = a.Status,
+ NodeName = t.NodeName
})
.FirstAsync();
return detail;