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; }
/// <summary>
/// 服务商
/// 服务商代码
/// </summary>
public string? ServiceProviderName { get; set; }
public string? ServiceProviderCode { get; set; }
/// <summary>
/// 原轨迹内容

View File

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

View File

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

View File

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