fix:修复轨迹拉取消费者逻辑

This commit is contained in:
xiaolipro 2024-09-25 16:48:21 +08:00
parent c619c642c8
commit 3bfacc1909
4 changed files with 26 additions and 29 deletions

View File

@ -43,9 +43,9 @@ public class TrackOrderDetailDto
public string? EnContent { get; set; } public string? EnContent { get; set; }
/// <summary> /// <summary>
/// 服务商 /// 服务商代码
/// </summary> /// </summary>
public string? ServiceProviderName { get; set; } public string? ServiceProviderCode { get; set; }
/// <summary> /// <summary>
/// 原轨迹内容 /// 原轨迹内容

View File

@ -7,11 +7,6 @@ public class TrackUpsertEvent
/// </summary> /// </summary>
public int SubSystemId { get; set; } public int SubSystemId { get; set; }
/// <summary>
/// 子系统code
/// </summary>
public string SubSystemCode { get; set; }
/// <summary> /// <summary>
/// 客户id /// 客户id
/// </summary> /// </summary>

View File

@ -163,7 +163,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
// 1、匹配轨迹代码 // 1、匹配轨迹代码
// 2、匹配轨迹状态 // 2、匹配轨迹状态
if (!paramConfig.TrackStatusName.IsNullOrWhiteSpace()) if (matchedContentConfig == null && !paramConfig.TrackStatusName.IsNullOrWhiteSpace())
{ {
var trackStatus = trackToken[paramConfig.TrackStatusName!]?.Value<string>(); var trackStatus = trackToken[paramConfig.TrackStatusName!]?.Value<string>();
if (!trackStatus.IsNullOrWhiteSpace()) if (!trackStatus.IsNullOrWhiteSpace())
@ -171,8 +171,9 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackStatusValue == trackStatus); matchedContentConfig = contentConfigs.FirstOrDefault(x => x.TrackStatusValue == trackStatus);
} }
} }
// 3、匹配轨迹内容 // 3、匹配轨迹内容
else if (!paramConfig.TrackContentName.IsNullOrWhiteSpace()) if (matchedContentConfig == null && !paramConfig.TrackContentName.IsNullOrWhiteSpace())
{ {
if (!trackContent.IsNullOrWhiteSpace()) if (!trackContent.IsNullOrWhiteSpace())
{ {
@ -180,31 +181,30 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
// 3.1 按内容直接匹配 // 3.1 按内容直接匹配
// 3.2 按关键字分析轨迹内容 // 3.2 按关键字分析轨迹内容
if (matchedContentConfig is null) foreach (var contentConfig in contentConfigs)
{ {
foreach (var contentConfig in contentConfigs) foreach (var keyword in contentConfig.TrackKeyword?.Split(',') ?? Enumerable.Empty<string>())
{ {
foreach (var keyword in contentConfig.TrackKeyword?.Split(',') ?? Enumerable.Empty<string>()) if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
{ {
if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase)) matchedContentConfig = contentConfig;
{ break;
matchedContentConfig = contentConfig;
break;
}
}
if (matchedContentConfig is null) continue;
foreach (var keyword in contentConfig.TrackKeywordReverse?.Split(',') ??
Enumerable.Empty<string>())
{
if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
{
matchedContentConfig = null;
break;
}
} }
} }
if (matchedContentConfig is null) continue;
foreach (var keyword in contentConfig.TrackKeywordReverse?.Split(',') ??
Enumerable.Empty<string>())
{
if (trackContent.Contains(keyword, StringComparison.OrdinalIgnoreCase))
{
matchedContentConfig = null;
break;
}
}
if (matchedContentConfig is not null) break; // 找到匹配的,跳出循环
} }
} }
} }
@ -251,6 +251,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
OriginTrackContent = trackContent ?? GlobalConst.EmptyString, OriginTrackContent = trackContent ?? GlobalConst.EmptyString,
}, },
SubSystemId = context.SubSystemId, SubSystemId = context.SubSystemId,
CustomId = context.CustomId,
TrackCode = matchedContentConfig.TrackContentCode, TrackCode = matchedContentConfig.TrackContentCode,
TrackPlace = trackPlace ?? GlobalConst.EmptyString, TrackPlace = trackPlace ?? GlobalConst.EmptyString,
TrackTime = trackTime ?? DateTime.Now, TrackTime = trackTime ?? DateTime.Now,

View File

@ -125,6 +125,7 @@ public partial class TrackService : ApplicationService, ITrackService
return new UnifyResultDto(true, true); return new UnifyResultDto(true, true);
} }
/// <summary> /// <summary>
/// 批量删除轨迹 /// 批量删除轨迹
/// </summary> /// </summary>