优化拉取机制
This commit is contained in:
@@ -11,6 +11,7 @@ using System.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using WMS.Web.Core.Dto.Erp;
|
using WMS.Web.Core.Dto.Erp;
|
||||||
using WMS.Web.Domain.IService.Public;
|
using WMS.Web.Domain.IService.Public;
|
||||||
|
using WMS.Web.Domain.Services.Public;
|
||||||
|
|
||||||
namespace WMS.Web.Api
|
namespace WMS.Web.Api
|
||||||
{
|
{
|
||||||
@@ -20,22 +21,11 @@ namespace WMS.Web.Api
|
|||||||
{
|
{
|
||||||
var host= CreateHostBuilder(args).Build();
|
var host= CreateHostBuilder(args).Build();
|
||||||
//to do you want
|
//to do you want
|
||||||
Task.Run(() =>
|
//<2F>첽-ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>֯<EFBFBD><D6AF><EFBFBD><EFBFBD>Ӧ<EFBFBD>̣<EFBFBD><CCA3>ͻ<EFBFBD><CDBB><EFBFBD>
|
||||||
|
using (var scope = host.Services.CreateScope())
|
||||||
{
|
{
|
||||||
//<2F>첽-ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ErpBaseDataSync.Sync(scope.ServiceProvider);
|
||||||
using (var scope = host.Services.CreateScope())
|
}
|
||||||
{
|
|
||||||
var sercice = scope.ServiceProvider.GetRequiredService<IErpService>();
|
|
||||||
sercice.BillQueryForMaterial().GetAwaiter().GetResult();
|
|
||||||
|
|
||||||
var cache = scope.ServiceProvider.GetRequiredService<IMemoryCache>();
|
|
||||||
var cache_key = "erp_materials_list";
|
|
||||||
var materials = cache.Get<List<ErpMaterialDto>>(cache_key);
|
|
||||||
Console.WriteLine("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룺" + materials.Count);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
host.Run();
|
host.Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4333,6 +4333,11 @@
|
|||||||
<param name="sourceBillNos"></param>
|
<param name="sourceBillNos"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:WMS.Web.Domain.Services.Public.ErpBaseDataSync">
|
||||||
|
<summary>
|
||||||
|
同步erp基础数据
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService">
|
<member name="T:WMS.Web.Domain.Services.Public.ErpBasicDataExtendService">
|
||||||
<summary>
|
<summary>
|
||||||
erp基础数据:扩展服务
|
erp基础数据:扩展服务
|
||||||
|
|||||||
45
src/WMS.Web.Domain/Services/Public/ErpBaseDataSync.cs
Normal file
45
src/WMS.Web.Domain/Services/Public/ErpBaseDataSync.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1137,7 +1137,7 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
var list = new List<ErpCustomerDto>();
|
var list = new List<ErpCustomerDto>();
|
||||||
//备注:因为供应商数据不是很多,就不能和获取物料一样循环获取;组织这里就获取10000条数据就行了
|
//备注:因为供应商数据不是很多,就不能和获取物料一样循环获取;组织这里就获取10000条数据就行了
|
||||||
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
var beginTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||||
_logger.LogInformation($"供应商拉取-开始时间:{beginTime}");
|
_logger.LogInformation($"客户拉取-开始时间:{beginTime}");
|
||||||
int skip = 0;
|
int skip = 0;
|
||||||
//4.参数json化
|
//4.参数json化
|
||||||
while (true)
|
while (true)
|
||||||
@@ -1169,10 +1169,10 @@ namespace WMS.Web.Domain.Services.Public
|
|||||||
skip++;
|
skip++;
|
||||||
}
|
}
|
||||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||||
_logger.LogInformation($"供应商拉取-结束时间:{endTime}");
|
_logger.LogInformation($"客户拉取-结束时间:{endTime}");
|
||||||
//5.供应商集合进行缓存
|
//5.供应商集合进行缓存
|
||||||
_memoryCache.Set(cache_customer_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
_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);
|
return ResultList<ErpCustomerDto>.ReSuccess(list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user