clean:清理不必要的代码,修整todo

This commit is contained in:
hardstylewyl 2025-03-31 16:03:33 +08:00
parent a6b88ffbc9
commit 7b31da7cd0
14 changed files with 20 additions and 56 deletions

View File

@ -89,7 +89,7 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
} }
); );
// todo;预警计算 // todo:预警计算
if (warningCalcOrders.Count > 0) if (warningCalcOrders.Count > 0)
WarningCalc_OrderDeletedOrCompleted(warningCalcOrders); WarningCalc_OrderDeletedOrCompleted(warningCalcOrders);
} }

View File

@ -198,7 +198,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
await _orderRepository.UpdatePullStatusToSilenceAsync(insertTracks.Select(x => x.OrderId).ToList(), await _orderRepository.UpdatePullStatusToSilenceAsync(insertTracks.Select(x => x.OrderId).ToList(),
@event.TrackCode); @event.TrackCode);
// todo:引发预警计算 // todo:引发预警计算 改MQ批量+分流
WarningCalc_AddedTrack(insertTracks); WarningCalc_AddedTrack(insertTracks);
// 添加轨迹触发预警计算(异步) // 添加轨迹触发预警计算(异步)
@ -359,7 +359,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
// 批量写入操作日志 // 批量写入操作日志
_ = _orderOperationRecordEsRepository.AddManyAsync(operationRecords); _ = _orderOperationRecordEsRepository.AddManyAsync(operationRecords);
// todo:引发预警计算 // todo:引发预警计算 改MQ批量+分流
WarningCalc_UpdatedTrack(updateTracks); WarningCalc_UpdatedTrack(updateTracks);
} }

View File

@ -45,7 +45,7 @@ public sealed class WarningNotifyAggregator : ITransientDependency
// 4.绑定这个任务id(可能是多个)和jobId用户跟踪任务状态 // 4.绑定这个任务id(可能是多个)和jobId用户跟踪任务状态
public async Task<(List<NotifyConfig> NotifyConfigs, HashSet<int> taskIds)> ScanNotifyAndAggregateAsync() public async Task<(List<NotifyConfig> NotifyConfigs, HashSet<int> taskIds)> ScanNotifyAndAggregateAsync()
{ {
// 构建查询游标 todo:全量查询需要优化 // 构建查询游标 todo:全量查询需要优化,直接存缓存?
// var options = _optionsMonitor.CurrentValue; // var options = _optionsMonitor.CurrentValue;
// var cursor = DateTime.Now.Subtract(TimeSpan.FromHours(options.ScanWarningNotifyTaskHourInterval)); // var cursor = DateTime.Now.Subtract(TimeSpan.FromHours(options.ScanWarningNotifyTaskHourInterval));

View File

@ -92,7 +92,7 @@ public class TrackPushCompletedEventHandler : ITransientDependency, IRabbitHandl
// 同步更新订单主表 // 同步更新订单主表
await TrackPushAfterUpdateOrderAsync(isAdd, @event.IsSuccess, logs); await TrackPushAfterUpdateOrderAsync(isAdd, @event.IsSuccess, logs);
// todo-test:引发预警计算 // todo:引发预警计算 改MQ批量+分流
await _returnWarningHandler.ReceiveTrackPushRecordHandleAsync(@event.IsSuccess, @event.RequestParams, logs, pushInputs, updateInputs); await _returnWarningHandler.ReceiveTrackPushRecordHandleAsync(@event.IsSuccess, @event.RequestParams, logs, pushInputs, updateInputs);
// // 推送广播 // // 推送广播

View File

@ -67,7 +67,6 @@ public partial class TrackService : ApplicationService, ITrackService
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync(); var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null) if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
{ {
//TODO: log || ex
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}"); throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
} }

View File

@ -403,6 +403,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
#region todo-test: 预警信号批处理-修改或删除轨迹 #region todo-test: 预警信号批处理-修改或删除轨迹
// todo:可以优化为直接通过轨迹的esId来寻找明细
public async Task TrackUpdatedOrDeletedHandleAsync(List<IWarningSignal> updateOrDeleteSignals) public async Task TrackUpdatedOrDeletedHandleAsync(List<IWarningSignal> updateOrDeleteSignals)
{ {
// 1.查询订单 // 1.查询订单
@ -435,7 +436,7 @@ public sealed class ReturnWarningHandler : IReturnWarningHandler, ITransientDepe
// 2.获取预警明细,订单id+轨迹内容ids 默认关注(重试中,人工介入) // 2.获取预警明细,订单id+轨迹内容ids 默认关注(重试中,人工介入)
var warningDetails = await _warningDetailsEsRepository.GetReturnWarningDetailsAsync(new GetReturnWarningDetailsVO var warningDetails = await _warningDetailsEsRepository.GetReturnWarningDetailsAsync(new GetReturnWarningDetailsVO
{ {
OrderIdTrackContentIdsDict = orderIdTrackContentIdsDict OrderIdTrackContentIdsDict = orderIdTrackContentIdsDict,
}); });
if (warningDetails.Count == 0) return; if (warningDetails.Count == 0) return;

View File

@ -441,7 +441,6 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
// 命中规则 // 命中规则
if (ruleItem.CanHitRule(trackStatusIds)) if (ruleItem.CanHitRule(trackStatusIds))
{ {
// todo: 出现一个订单,一个规则,多个任务?
var task = ruleIdTasksDict.GetValueOrDefault(ruleId)?.FirstOrDefault(); var task = ruleIdTasksDict.GetValueOrDefault(ruleId)?.FirstOrDefault();
var earliestTrack = trackStatusIdEarliestTrackDict[ruleItem.StartTrackStatusId]; var earliestTrack = trackStatusIdEarliestTrackDict[ruleItem.StartTrackStatusId];

View File

@ -82,11 +82,9 @@ public class ReturnWarningService : ApplicationService
return new UnifyResultDto<List<ReturnWarningRuleItemDto>>(true, map.ToList()); return new UnifyResultDto<List<ReturnWarningRuleItemDto>>(true, map.ToList());
// todo:拆解优化
List<TrackStatusDto> BuildTrackStatus(string statusIds) List<TrackStatusDto> BuildTrackStatus(string statusIds)
{ {
return statusIds.Split(',') return statusIds.Split(',').Select(x =>
.Select(x =>
{ {
var id = int.Parse(x); var id = int.Parse(x);
return new TrackStatusDto return new TrackStatusDto
@ -115,6 +113,7 @@ public class ReturnWarningService : ApplicationService
result.Pagination.PageSize, result.Pagination.PageSize,
result.Pagination.Total); result.Pagination.Total);
} }
// todo:缓存优化 // todo:缓存优化
// 订单类型 // 订单类型
var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync(); var orderTypeDict = await _orderRepository.GetTrackOrderTypeDictAsync();

View File

@ -64,7 +64,7 @@ public class TransportWarningService : ApplicationService
.Select(x => x!.Value) .Select(x => x!.Value)
.ToHashSet(); .ToHashSet();
// todo:加缓存 // todo:缓存优化
Dictionary<int, string>? areaNameDict = null; Dictionary<int, string>? areaNameDict = null;
if (areaIds.Count > 0) if (areaIds.Count > 0)
{ {

View File

@ -87,7 +87,7 @@ public class ReturnWarningDetailsIndex : IdBaseIndex
return false; return false;
} }
// 匹配硅胶字段 // 匹配比较字段,todo:考虑直接使用TrackEsId来匹配
public bool MatchExtra(string? compareFields, string? extra) public bool MatchExtra(string? compareFields, string? extra)
{ {
// 匹配字段为空,明细明细字段为空 // 匹配字段为空,明细明细字段为空

View File

@ -147,8 +147,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex
} }
// 预警规则描述,创建预警明细,更新场景(需要重新匹配),更新规则项目(需要重新匹配),更新规则区域名称 // 预警规则描述,创建预警明细,更新场景(需要重新匹配),更新规则项目(需要重新匹配),更新规则区域名称
// todo:缺失更新规则区域名称目前不被感知,出现预警明细和对于的规则区域名称不一致 // todo:如果更新了规则区域名称不会同步到预警明细的描述中,出现预警明细和对于的规则区域名称不一致,考虑规则存缓存动态生成预警描述
// todo:转化为bo的使用
public string GetWarningRuleDescription(TransportWarningSceneEntity scene, TransportWarningSceneRuleItemEntity ruleItem, RuleAreaEntity? ruleArea) public string GetWarningRuleDescription(TransportWarningSceneEntity scene, TransportWarningSceneRuleItemEntity ruleItem, RuleAreaEntity? ruleArea)
{ {
var res = new StringBuilder("{"); var res = new StringBuilder("{");

View File

@ -22,7 +22,7 @@ public partial class GlobalConst
/// </summary> /// </summary>
public const string OrderOperationRecordIndex = "sjzy_track_order_operation_records"; public const string OrderOperationRecordIndex = "sjzy_track_order_operation_records";
// todo:以下为新增需要配置索引模板 // todo:以下为新增需要配置索引模板(uat/prod)
/// <summary> /// <summary>
/// 运输时效预警明细 es索引名称(模板按天) /// 运输时效预警明细 es索引名称(模板按天)
/// </summary> /// </summary>

View File

@ -19,10 +19,6 @@ public class GetReturnWarningDetailsVO
public HashSet<int> Status { get; set; } = DefaultFollowStatus; public HashSet<int> Status { get; set; } = DefaultFollowStatus;
public Dictionary<int, HashSet<int>>? OrderIdTrackContentIdsDict { get; set; } public Dictionary<int, HashSet<int>>? OrderIdTrackContentIdsDict { get; set; }
// todo:暂时用不到
public Dictionary<int, HashSet<string>>? OrderIdTrackEsIdsDict { get; set; }
public HashSet<(int SubSystemId, int CustomId, int TrackContentId)>? PushConfigLinks { get; set; }
public bool HasDetailsIds => DetailsIds?.Count > 0; public bool HasDetailsIds => DetailsIds?.Count > 0;
public bool HasRuleItemIds => RuleItemIds?.Count > 0; public bool HasRuleItemIds => RuleItemIds?.Count > 0;
public bool HasWarningIds => WarningIds?.Count > 0; public bool HasWarningIds => WarningIds?.Count > 0;
@ -30,6 +26,4 @@ public class GetReturnWarningDetailsVO
public bool HasTrackEsIds => TrackEsIds?.Count > 0; public bool HasTrackEsIds => TrackEsIds?.Count > 0;
public bool HasPushContentConfigIds => PushContentConfigIds?.Count > 0; public bool HasPushContentConfigIds => PushContentConfigIds?.Count > 0;
public bool HasOrderIdTrackContentIdsDict => OrderIdTrackContentIdsDict?.Count > 0; public bool HasOrderIdTrackContentIdsDict => OrderIdTrackContentIdsDict?.Count > 0;
public bool HasOrderIdTrackEsIdsDict => OrderIdTrackEsIdsDict?.Count > 0;
public bool HasPushConfigLinks => PushConfigLinks?.Count > 0;
} }

View File

@ -373,33 +373,6 @@ public class WarningDetailsEsRepository : IWarningDetailsEsRepository, ITransien
{ {
musts.Add(c => c.Terms(f => f.Field(d => d.TrackEsId.Suffix("keyword")).Terms(input.TrackEsIds))); musts.Add(c => c.Terms(f => f.Field(d => d.TrackEsId.Suffix("keyword")).Terms(input.TrackEsIds)));
} }
else if (input.HasOrderIdTrackEsIdsDict)
{
foreach (var (orderId, trackEsIds) in input.OrderIdTrackEsIdsDict!)
{
musts.Add(c => c.Bool(b => b.Must
(
mu => mu.Term(f => f.OrderId, orderId),
mu => mu.Terms(t => t.Field(f => f.TrackEsId.Suffix("keyword")).Terms(trackEsIds))
)));
}
isShouldQuery = true;
}
else if (input.HasPushConfigLinks)
{
foreach (var (subSystemId, customId, trackContentId) in input.PushConfigLinks!)
{
musts.Add(c => c.Bool(b => b.Must
(
mu => mu.Term(f => f.SubSystemId, subSystemId),
mu => mu.Term(f => f.CustomId, customId),
mu => mu.Term(f => f.TrackContentId, trackContentId)
)));
}
isShouldQuery = true;
}
else if (input.HasOrderIdTrackContentIdsDict) else if (input.HasOrderIdTrackContentIdsDict)
{ {
foreach (var (orderId, trackContentIds) in input.OrderIdTrackContentIdsDict!) foreach (var (orderId, trackContentIds) in input.OrderIdTrackContentIdsDict!)