diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs
index 90e159cc..c1e5bcfc 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs
@@ -123,7 +123,7 @@ public class BatchUpsertTrackInput : OrderNosInfo
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
///
/// 是否强制推送
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs
index f5313b3b..28d0a76d 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackOutput.cs
@@ -105,5 +105,5 @@ public class TrackDetail
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
}
diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
index 2b15e904..0fa3b448 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
@@ -132,7 +132,7 @@ public class UpsertTrackInput : OrderNoInfo
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
///
/// 是否强制推送
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs
index 1111637f..eae08b81 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs
@@ -19,15 +19,3 @@ public class TrackUpdateInput
public string Log { get; set; }
}
-
-public class TrackItem
-{
- public string Location { get; set; } = null!;
- public string Date { get; set; }
- public double TimeZone { get; set; }
- public string? Description { get; set; }
- public string? DescriptionCn { get; set; }
- public string? Code { get; set; }
- public string? Status { get; set; }
- public string? Extra { get; set; }
-}
diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushRecordDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushRecordDto.cs
index 7bb84c1c..9ce8fe2e 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushRecordDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushRecordDto.cs
@@ -85,5 +85,5 @@ public class TrackPushRecordDto
///
/// 轨迹的额外新
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
}
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs b/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs
index 6319446e..5f49e9ff 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackChangeEto.cs
@@ -132,5 +132,5 @@ public class TrackChangeEto
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
}
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackPushCompletedEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackPushCompletedEvent.cs
index 6e3d3987..1befad13 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackPushCompletedEvent.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackPushCompletedEvent.cs
@@ -83,5 +83,5 @@ public class TrackPushCompletedEvent
///
/// 轨迹的额外新
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
}
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs
index ab033510..760ba4b6 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackPushEvent.cs
@@ -80,8 +80,13 @@ public struct SystemPushStruct
///
public float TrackTimeZone { get; set; }
+ ///
+ /// 重复的情况下,用什么比较
+ ///
+ public string? CompareFields { get; set; }
+
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
}
diff --git a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
index dbf754d7..1f6a9f1c 100644
--- a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
+++ b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs
@@ -146,10 +146,15 @@ public class TrackUpsertEvent
///
public float? DestinationTimeZone { get; set; }
+ ///
+ /// 重复的情况下,用什么比较
+ ///
+ public string? CompareFields { get; set; }
+
///
/// 扩展信息字段,用与轨迹推送的附加字段
///
- public string? Extra { get; set; }
+ public Dictionary? Extra { get; set; }
///
/// 是否强制推送
diff --git a/src/SJZY.Track.Application.Contract/Services/IBroadcastingService.cs b/src/SJZY.Track.Application.Contract/Services/IBroadcastingService.cs
index 0f79f83d..caca1139 100644
--- a/src/SJZY.Track.Application.Contract/Services/IBroadcastingService.cs
+++ b/src/SJZY.Track.Application.Contract/Services/IBroadcastingService.cs
@@ -26,5 +26,5 @@ public interface IBroadcastingService : ITransientDependency
/// 轨迹推送完成广播(推送完成回调)
///
///
- void TrackPushCompletedPublicTopicAsync(TrackPushRecordDto log);
+ void TrackPushCompletedPublicTopic(TrackPushRecordDto log);
}
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs
index 7568071b..7e798eba 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackDeleteEventHandler.cs
@@ -158,6 +158,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
}
}
+ // todo:多个相同code的轨迹删除,也需要考虑??
private async Task> DeleteTrackAsync(TrackDeleteEvent @event)
{
List orderIds;
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs
index 59a4a215..808fd759 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs
@@ -10,7 +10,6 @@ using SJZY.Track.Application.Helpers;
using SJZY.Track.Application.Options;
using SJZY.Track.Application.Track2InterfaceRelay;
using SJZY.Track.Domain.Aggregates.OrderAggregate;
-using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
using SJZY.Track.Domain.Enums;
using Volo.Abp.DependencyInjection;
@@ -127,7 +126,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
IsToMq = @event.IsToMq,
Extra = @event.SystemPushInfo.Extra
};
- var item = await BuiltPushItem(config, log, @event.SystemPushInfo.Extra);
+ var item = await BuiltPushItem(config, log, @event.SystemPushInfo.CompareFields);
item.Log = JsonConvert.SerializeObject(log);
items.Add(item);
}
@@ -171,7 +170,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
IsToMq = @event.IsToMq,
Extra = @event.SystemPushInfo.Extra
};
- var item = await BuiltPushItem(config, log, @event.SystemPushInfo.Extra);
+ var item = await BuiltPushItem(config, log, @event.SystemPushInfo.CompareFields);
item.Log = JsonConvert.SerializeObject(log);
items.Add(item);
}
@@ -223,7 +222,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
IsToMq = @event.IsToMq,
Extra = @event.SystemPushInfo.Extra
};
- var item = BuiltUpdateItem(config, log, @event.SystemPushInfo.Extra);
+ var item = BuiltUpdateItem(config, log);
item.Log = JsonConvert.SerializeObject(log);
items.Add(item);
}
@@ -247,7 +246,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
}
}
- private TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log, string? extraJson)
+ private TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log)
{
var trackDatetime = log.TrackTime.AddHours(config.TrackTimeZone ?? log.TrackTimeZone - log.TrackTimeZone);
var trackDateStr = DateTimeFormat(trackDatetime, config.TrackTimeZone ?? log.TrackTimeZone, config);
@@ -266,7 +265,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe
{ "descriptionCn", config.TrackContentValue },
{ "code", config.TrackContentCodeValue },
{ "status", config.TrackStatusValue },
- { "extra", DeserializeForTextJson