opt:定时任务刷新轨迹分页

This commit is contained in:
李鹏军 2024-04-22 15:05:01 +08:00
parent aecb488045
commit 2c5aa4f35a
3 changed files with 31 additions and 21 deletions

View File

@ -88,7 +88,10 @@ public class TrackPullService : ApplicationService
continue; continue;
} }
var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId); var page = 1;
var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId, page);
while (orders.Any())
{
var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode; var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode;
var serviceProviderName = orders.FirstOrDefault()?.ServiceProviderName; var serviceProviderName = orders.FirstOrDefault()?.ServiceProviderName;
@ -109,10 +112,11 @@ public class TrackPullService : ApplicationService
GlobalConst.TrackRefreshSubscribe, attach); GlobalConst.TrackRefreshSubscribe, attach);
} }
if (config.PullInterval < 60) config.PullInterval = 60; orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId, ++page);
await RedisHelper.Client.SetExAsync(redisKey, config.PullInterval * 60, orders.Count);
} }
await RedisHelper.Client.SetExAsync(redisKey, config.PullInterval * 60, orders.Count);
}
return true; return true;
} }

View File

@ -60,6 +60,9 @@ public interface IProvideQueries
/// 获取服务商下所有单(未完成的) /// 获取服务商下所有单(未完成的)
/// </summary> /// </summary>
/// <param name="serviceProvider"></param> /// <param name="serviceProvider"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns> /// <returns></returns>
Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider); Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider, int pageIndex,
int pageSize = 1000);
} }

View File

@ -113,7 +113,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
.ToListAsync(); .ToListAsync();
} }
public async Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider) public async Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider,
int pageIndex, int pageSize = 1000)
{ {
return await Context.Queryable<OrderEntity>() return await Context.Queryable<OrderEntity>()
.RightJoin<OrderTemplateEntity>((a, b) => a.Id == b.OrderId) .RightJoin<OrderTemplateEntity>((a, b) => a.Id == b.OrderId)
@ -128,6 +129,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
ServiceProviderName = c.Name, ServiceProviderName = c.Name,
SubSystemId = a.SubSystemId SubSystemId = a.SubSystemId
}) })
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize)
.ToListAsync(); .ToListAsync();
} }
} }