diff --git a/src/SJZY.Track.Application/BackgroundServices/OrderPullStatusScanner.cs b/src/SJZY.Track.Application/BackgroundServices/OrderPullStatusScanner.cs index 943ddbe7..8e935e3b 100644 --- a/src/SJZY.Track.Application/BackgroundServices/OrderPullStatusScanner.cs +++ b/src/SJZY.Track.Application/BackgroundServices/OrderPullStatusScanner.cs @@ -18,9 +18,13 @@ public class OrderPullStatusScanner : BackgroundService var count = await _orderRepository.UpdatePullStatusBySilenceAsync(); if (count > 0) { - LogHelper.Info($"{nameof(OrderPullStatusScanner)}本次扫描更新了{count}条订单的拉取状态"); + LogHelper.Info($"{nameof(OrderPullStatusScanner)}本次扫描更新了{count}条订单拉取状态"); } + // real del + count = await _orderRepository.ClearPullStatus(); + LogHelper.Info($"{nameof(OrderPullStatusScanner)}本次扫描删除了{count}条订单拉取状态"); + await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken); } } diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs index 06dfb04a..f3717861 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs @@ -53,22 +53,6 @@ public interface IOrderRepository : IBasicRepository /// Task> GetSubSystemListByCodesAsync(List codes); - - /// - /// 更新订单拉取状态为静默,Init->SilenceBeforeStart,Pulling->SilenceAfterEnd - /// - /// - /// - /// - Task UpdatePullStatusToSilenceAsync(List orderIds, string trackCode); - - - /// - /// 更新订单拉取状态根据静默,SilenceBeforeStart->Pulling,SilenceAfterEnd->Completed - /// - /// - Task UpdatePullStatusBySilenceAsync(); - #region 订单关联 /// @@ -93,4 +77,30 @@ public interface IOrderRepository : IBasicRepository Task UnLinkByIdsAsync(List linkIds); #endregion + + + #region 订单拉取状态 + + /// + /// 更新订单拉取状态为静默,Init->SilenceBeforeStart,Pulling->SilenceAfterEnd + /// + /// + /// + /// + Task UpdatePullStatusToSilenceAsync(List orderIds, string trackCode); + + + /// + /// 更新订单拉取状态根据静默,SilenceBeforeStart->Pulling,SilenceAfterEnd->Completed + /// + /// + Task UpdatePullStatusBySilenceAsync(); + + /// + /// 清理拉取状态 + /// + /// + Task ClearPullStatus(); + + #endregion } diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index 98594ff0..88949984 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -228,6 +228,14 @@ public class OrderRepository : BasicRepository, IOrderRepository, I return cnt1 + cnt2; } + public Task ClearPullStatus() + { + var time = DateTime.Now.Subtract(TimeSpan.FromDays(30)); + return Context.Deleteable().Where(x => + x.PullStatus == TrackPullStatus.Completed || x.StartTime < time) + .ExecuteCommandAsync(); + } + private int UpdateOrderQuestionType(int questionType, IEnumerable ids) { var idsString = string.Join(",", ids);