优化拉取机制

This commit is contained in:
tongfei
2024-01-15 15:47:02 +08:00
parent 5e61f1f6a4
commit c4da0c2626
4 changed files with 58 additions and 18 deletions

View File

@@ -0,0 +1,45 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Domain.IService.Public;
namespace WMS.Web.Domain.Services.Public
{
/// <summary>
/// 同步erp基础数据
/// </summary>
public static class ErpBaseDataSync
{
public static Task Sync(IServiceProvider serviceProvider)
{
var sercice = serviceProvider.GetRequiredService<IErpService>();
Task.Run(() =>
{
//异步-同步下物料数据
sercice.BillQueryForMaterial().GetAwaiter().GetResult();
});
Task.Run(() =>
{
//异步-同步下组织数据
sercice.BillQueryForOrg().GetAwaiter().GetResult();
});
Task.Run(() =>
{
//异步-同步下客户数据
sercice.BillQueryForCustomer().GetAwaiter().GetResult();
});
Task.Run(() =>
{
//异步-同步下供应商数据
sercice.BillQueryForSupplier().GetAwaiter().GetResult();
});
return Task.CompletedTask;
}
}
}

View File

@@ -1137,7 +1137,7 @@ namespace WMS.Web.Domain.Services.Public
var list = new List<ErpCustomerDto>();
//备注因为供应商数据不是很多就不能和获取物料一样循环获取组织这里就获取10000条数据就行了
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"供应商拉取-开始时间:{beginTime}");
_logger.LogInformation($"客户拉取-开始时间:{beginTime}");
int skip = 0;
//4.参数json化
while (true)
@@ -1169,10 +1169,10 @@ namespace WMS.Web.Domain.Services.Public
skip++;
}
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
_logger.LogInformation($"供应商拉取-结束时间:{endTime}");
_logger.LogInformation($"客户拉取-结束时间:{endTime}");
//5.供应商集合进行缓存
_memoryCache.Set(cache_customer_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
_logger.LogInformation($"供应商拉取-总条数:{list.Count}");
_logger.LogInformation($"客户拉取-总条数:{list.Count}");
return ResultList<ErpCustomerDto>.ReSuccess(list);
}