diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
index 3964caea..505536e1 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackFlags/GetTrackFlagListDto.cs
@@ -58,11 +58,11 @@
///
/// 选中的轨迹标记id
///
- public List? SelectIds { get; set; }
+ public List? SelectIds { get; set; }
- /////
- ///// 关键字
- /////
- //public string Keywords { get; set; }
+ ///
+ /// 关键字
+ ///
+ public string? Keywords { get; set; }
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs
index 7cf315b2..354af4e1 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackPullService.cs
@@ -88,32 +88,36 @@ public class TrackPullService : ApplicationService
continue;
}
- var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId);
- var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode;
- var serviceProviderName = orders.FirstOrDefault()?.ServiceProviderName;
-
- foreach (var group in orders.GroupBy(x =>
- new { x.SubSystemId, x.OrderType }))
+ var page = 1;
+ var orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId, page);
+ while (orders.Any())
{
- var data = group.Select(x => new
- {
- x.OrderNo
- }).ToList();
+ var serviceProviderCode = orders.FirstOrDefault()?.ServiceProviderCode;
+ var serviceProviderName = orders.FirstOrDefault()?.ServiceProviderName;
- var attach = Base64Helper.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId,
- serviceProviderName!,
- group.Key.SubSystemId, group.Key.OrderType));
- // 批量获取轨迹
- await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
- InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
- GlobalConst.TrackRefreshSubscribe, attach);
+ foreach (var group in orders.GroupBy(x =>
+ new { x.SubSystemId, x.OrderType }))
+ {
+ var data = group.Select(x => new
+ {
+ x.OrderNo
+ }).ToList();
+
+ var attach = Base64Helper.SerializeObject(new TrackRefreshAttach(config.ServiceProviderId,
+ serviceProviderName!,
+ group.Key.SubSystemId, group.Key.OrderType));
+ // 批量获取轨迹
+ await _httpClientProxy.Service.BatchForwardThenPushToQueueAsync(
+ InterfaceRelayConst.GetTrackInterfaceCode, serviceProviderCode, data,
+ GlobalConst.TrackRefreshSubscribe, attach);
+ }
+
+ orders = await _provideQueries.FindOrderWithServiceProviderAsync(config.ServiceProviderId, ++page);
}
- if (config.PullInterval < 60) config.PullInterval = 60;
await RedisHelper.Client.SetExAsync(redisKey, config.PullInterval * 60, orders.Count);
}
-
return true;
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
index d23937e9..cd027698 100644
--- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
+++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs
@@ -86,6 +86,8 @@ public class TrackPullService : ApplicationService
[HttpPost("Edit")]
public async Task EditAsync([FromBody] EditTrackPullConfigInput input)
{
+ if (input.PullInterval < 60) input.PullInterval = 60;
+
if (input.Options != OptionTypeNoNull.删除)
{
Expression> isAnyExp = x =>
diff --git a/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs b/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
index adbf1a5d..f838b37d 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackFlags/GetPageTrackFlagVO.cs
@@ -18,10 +18,10 @@ namespace SJZY.Track.Domain.Dtos.TrackFlags
///
public List? SelectIds { get; set; }
- /////
- ///// 关键字
- /////
- //public string Keywords { get; set; }
+ ///
+ /// 关键字
+ ///
+ public string? Keywords { get; set; }
}
public class GetTrackFlagListVO
diff --git a/src/SJZY.Track.Domain/Queries/IProvideQueries.cs b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs
index 2795df48..7d043a9f 100644
--- a/src/SJZY.Track.Domain/Queries/IProvideQueries.cs
+++ b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs
@@ -60,6 +60,9 @@ public interface IProvideQueries
/// 获取服务商下所有单(未完成的)
///
///
+ ///
+ ///
///
- Task> FindOrderWithServiceProviderAsync(int serviceProvider);
+ Task> FindOrderWithServiceProviderAsync(int serviceProvider, int pageIndex,
+ int pageSize = 1000);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
index 7f144688..82e4993f 100644
--- a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
+++ b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
@@ -113,7 +113,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
.ToListAsync();
}
- public async Task> FindOrderWithServiceProviderAsync(int serviceProvider)
+ public async Task> FindOrderWithServiceProviderAsync(int serviceProvider,
+ int pageIndex, int pageSize = 1000)
{
return await Context.Queryable()
.RightJoin((a, b) => a.Id == b.OrderId)
@@ -128,6 +129,8 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
ServiceProviderName = c.Name,
SubSystemId = a.SubSystemId
})
+ .Skip((pageIndex - 1) * pageSize)
+ .Take(pageSize)
.ToListAsync();
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
index d2227924..ed92d283 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackFlagRepository.cs
@@ -46,8 +46,9 @@ public class TrackFlagRepository : BasicRepository, ITrackFlagR
.LeftJoin((a, b, c) => a.CreateUserId == c.Id && c.IsDeleted == false)
.LeftJoin((a, b, c, d) => a.UpdateUserId == d.Id && d.IsDeleted == false)
.WhereIF(input.SubSystemId > 0, (a, b, c, d) => a.SubSystemId == input.SubSystemId)
+ .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (a, b, c, d) => SqlFunc.Contains(a.Code, input.Keywords))
.OrderByIF(input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => a.CreateTime, OrderByType.Desc)
- .OrderByIF(!input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => SqlFunc.IIF(input.SelectIds.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), a.CreateTime), OrderByType.Desc)
+ .OrderByIF(!input.SelectIds.IsNullOrEmpty(), (a, b, c, d) => SqlFunc.IIF(input.SelectIds!.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), a.CreateTime), OrderByType.Desc)
.Select((a, b, c, d) => new GetTrackFlagListVO
{
Id = a.Id,