diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPull/TrackPullContentConfigDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPull/TrackPullContentConfigDto.cs
index 2dbdf4d2..da3fecdc 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackPull/TrackPullContentConfigDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPull/TrackPullContentConfigDto.cs
@@ -10,17 +10,17 @@ public class TrackPullContentConfigDto
///
/// 服务商轨迹状态参数值
///
- public string? TrackStatusValue { get; set; }
+ public List TrackStatusValues { get; set; } = new();
///
- /// 轨迹关键词(正向),多个逗分隔
+ /// 轨迹关键词(正向)
///
- public string? TrackKeyword { get; set; }
+ public List TrackKeywords { get; set; } = new();
///
- /// 轨迹关键词(反向),多个逗分隔
+ /// 轨迹关键词(反向)
///
- public string? TrackKeywordReverse { get; set; }
+ public List TrackKeywordReverses { get; set; } = new();
///
/// 轨迹发生地参数值(主数据枚举)
diff --git a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
index 843cd73e..ad6f1aff 100644
--- a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
+++ b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs
@@ -21,6 +21,7 @@ public class TrackPullAutoMapperProfile : Profile
opt => opt.MapFrom(src => string.Join(',', src.TrackKeywordReverses ?? Enumerable.Empty())))
.ForMember(dest => dest.TrackZonePlaceValue, opt => opt.MapFrom(src => src.TrackTimePlaceValue));
CreateMap(MemberList.None);
+
CreateMap(MemberList.None);
CreateMap(MemberList.None);
diff --git a/src/SJZY.Track.Application/Rabbit/TrackRefreshEventHandler.cs b/src/SJZY.Track.Application/Rabbit/TrackRefreshEventHandler.cs
index 9f47e279..ff8c6d1d 100644
--- a/src/SJZY.Track.Application/Rabbit/TrackRefreshEventHandler.cs
+++ b/src/SJZY.Track.Application/Rabbit/TrackRefreshEventHandler.cs
@@ -168,7 +168,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
var trackStatus = trackToken[paramConfig.TrackStatusName!]?.Value();
if (!trackStatus.IsNullOrWhiteSpace())
{
- matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackStatusValue == trackStatus);
+ matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackStatusValues.Contains(trackStatus!));
}
}
@@ -183,7 +183,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
// 3.2 按关键字分析轨迹内容
foreach (var contentConfig in contentConfigs)
{
- foreach (var keyword in contentConfig.TrackKeyword?.Split(',') ?? Enumerable.Empty())
+ foreach (var keyword in contentConfig.TrackKeywords)
{
if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
{
@@ -194,8 +194,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
if (matchedContentConfig is null) continue;
- foreach (var keyword in contentConfig.TrackKeywordReverse?.Split(',') ??
- Enumerable.Empty())
+ foreach (var keyword in contentConfig.TrackKeywordReverses)
{
if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
{
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs
index 42ed4681..43a55bc7 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackPullAggregate/TrackPullContentConfigEntity.cs
@@ -25,7 +25,7 @@ public class TrackPullContentConfigEntity : IFullAuditedBasicEntitys, IEntity
public int TrackContentId { get; set; }
///
- /// 服务商轨迹状态参数值
+ /// 服务商轨迹状态参数值,多个逗分隔
///
[SugarColumn(ColumnName = "TrackStatusValue")]
public string? TrackStatusValue { get; set; }
diff --git a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentListCacheVO.cs b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentListCacheVO.cs
index b3a5eb3f..100b9577 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentListCacheVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackPull/GetTrackPullContentListCacheVO.cs
@@ -7,11 +7,6 @@ public class GetTrackPullContentListCacheVO
///
public string TrackContentCode { get; set; }
- ///
- /// 是否完成
- ///
- public bool IsCompleted { get; set; }
-
///
/// 服务商轨迹状态参数值
///
@@ -27,6 +22,21 @@ public class GetTrackPullContentListCacheVO
///
public string? TrackKeywordReverse { get; set; }
+ ///
+ /// 服务商轨迹状态参数值
+ ///
+ public List TrackStatusValues { get; set; } = new();
+
+ ///
+ /// 轨迹关键词(正向)
+ ///
+ public List TrackKeywords { get; set; } = new();
+
+ ///
+ /// 轨迹关键词(反向)
+ ///
+ public List TrackKeywordReverses { get; set; } = new();
+
///
/// 兜底轨迹发生地参数值
///
diff --git a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
index 5135b843..821557e2 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackPullConfigRepository.cs
@@ -65,8 +65,19 @@ public class TrackPullConfigRepository : BasicRepository,
new GetTrackPullContentListCacheVO
{
TrackContentCode = trackContent.Code,
- IsCompleted = trackStutas.IsCompleted
}, true)
+ .Mapper(x =>
+ {
+ x.TrackKeywords = x.TrackKeyword.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackKeyword!.Split(',').ToList();
+ x.TrackKeywordReverses = x.TrackKeywordReverse.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackKeywordReverse!.Split(',').ToList();
+ x.TrackStatusValues = x.TrackStatusValue.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackStatusValue!.Split(',').ToList();
+ })
.ToListAsync();
}
@@ -102,8 +113,15 @@ public class TrackPullConfigRepository : BasicRepository,
}, true)
.Mapper(x =>
{
- x.TrackKeywords = x.TrackKeyword?.Split(',').ToList();
- x.TrackKeywordReverses = x.TrackKeywordReverse?.Split(',').ToList();
+ x.TrackKeywords = x.TrackKeyword.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackKeyword!.Split(',').ToList();
+ x.TrackKeywordReverses = x.TrackKeywordReverse.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackKeywordReverse!.Split(',').ToList();
+ x.TrackStatusValues = x.TrackStatusValue.IsNullOrWhiteSpace()
+ ? new List()
+ : x.TrackStatusValue!.Split(',').ToList();
})
.SingleAsync();
}