fix 优化同步处理
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.ScheduledTask.SyncSapInfo.Comparers;
|
||||
using Dlhis.ScheduledTask.SyncSapInfo.Dto;
|
||||
using Dlhis.ScheduledTask.SyncSapInfo.Services;
|
||||
using Hangfire;
|
||||
@@ -12,7 +11,6 @@ namespace Dlhis.ScheduledTask.SyncSapInfo.Job;
|
||||
/// </summary>
|
||||
public class SyncOrganizationJob
|
||||
{
|
||||
private List<SapOrganizationItem> lastUpdatedOrgList = new();
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly IJinkoSapService _jinkoSapService;
|
||||
|
||||
@@ -28,23 +26,11 @@ public class SyncOrganizationJob
|
||||
|
||||
if (orgResult.Org != null && orgResult.Org.Items.Count > 0)
|
||||
{
|
||||
//var modifiedOrgList = GetModifiedOrg(orgResult.Org.Items);
|
||||
await SaveOrg(orgResult.Org.Items);
|
||||
}
|
||||
|
||||
var syncPositionJob = BackgroundJob.Enqueue<SyncPositionJob>(job => job.SyncPositionInfo());
|
||||
BackgroundJob.ContinueJobWith<SyncPersonJob>(syncPositionJob, job => job.SyncPersonInfo(), JobContinuationOptions.OnlyOnSucceededState);
|
||||
}
|
||||
|
||||
private List<SapOrganizationItem> GetModifiedOrg(List<SapOrganizationItem> sapList)
|
||||
{
|
||||
if (lastUpdatedOrgList.Count <= 0)
|
||||
{
|
||||
return sapList;
|
||||
}
|
||||
|
||||
var needRemove = sapList.Intersect(lastUpdatedOrgList, new SapOrganizationComparer());
|
||||
return sapList.Except(needRemove, new SapOrganizationComparer()).ToList();
|
||||
BackgroundJob.ContinueJobWith<SyncPersonJob>(syncPositionJob, job => job.RunAsync(), JobContinuationOptions.OnlyOnSucceededState);
|
||||
}
|
||||
|
||||
private async Task SaveOrg(List<SapOrganizationItem> modifiedOrgList)
|
||||
|
||||
Reference in New Issue
Block a user