定时任务
This commit is contained in:
@@ -41,5 +41,43 @@ namespace WMS.Web.Domain.Services.Public
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public static Task SyncMaterial(IErpService sercice)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
//异步-同步下物料数据
|
||||
sercice.BillQueryForMaterial().GetAwaiter().GetResult();
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
public static Task SyncOrg(IErpService sercice)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
//异步-同步下组织数据
|
||||
sercice.BillQueryForOrg().GetAwaiter().GetResult();
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
public static Task SyncCustomer(IErpService sercice)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
//异步-同步下客户数据
|
||||
sercice.BillQueryForCustomer().GetAwaiter().GetResult();
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
public static Task SyncSupplier(IErpService sercice)
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
//异步-同步下供应商数据
|
||||
sercice.BillQueryForSupplier().GetAwaiter().GetResult();
|
||||
|
||||
});
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ using WMS.Web.Core.Dto.Erp.Org;
|
||||
using WMS.Web.Core.Dto.Erp.OutStock;
|
||||
using WMS.Web.Core.Dto.Erp.Supplier;
|
||||
using WMS.Web.Core.Dto.Erp.TakeStock;
|
||||
using WMS.Web.Core.Help;
|
||||
using WMS.Web.Core.Internal.Results;
|
||||
using WMS.Web.Domain.Entitys;
|
||||
using WMS.Web.Domain.Infrastructure;
|
||||
@@ -41,12 +42,6 @@ namespace WMS.Web.Domain.Services.Public
|
||||
private ERPGWSoapClient _client;
|
||||
private readonly IMemoryCache _memoryCache;
|
||||
private readonly IBasicsRepositories _basicsRepositories;
|
||||
public readonly string cache_materail_key = "erp_materials_list";
|
||||
public readonly string cache_org_key = "erp_org_list";
|
||||
public readonly string cache_supplier_key = "erp_supplier_list";
|
||||
public readonly string cache_customer_key = "erp_customer_list";
|
||||
public readonly string cache_stock_key = "erp_stock_list";
|
||||
public readonly string cache_substock_key = "erp_substock_list";
|
||||
public ErpService(
|
||||
IMapper mapper,
|
||||
IOptions<ErpOptions> erpOptions,
|
||||
@@ -798,7 +793,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的物料数据;
|
||||
var materials = _memoryCache.Get<List<ErpMaterialDto>>(cache_materail_key);
|
||||
var materials = _memoryCache.Get<List<ErpMaterialDto>>(_erpOptions.cache_materail_key);
|
||||
if (materials == null || materials.Count == 0)
|
||||
{
|
||||
return await this.BillQueryForMaterialPagedList();
|
||||
@@ -825,7 +820,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
public async Task<Result<ErpMaterialDto>> BillQueryForMaterial(int id)
|
||||
{
|
||||
//1.获取缓存中的物料数据
|
||||
var materials = _memoryCache.Get<List<ErpMaterialDto>>(cache_materail_key);
|
||||
var materials = _memoryCache.Get<List<ErpMaterialDto>>(_erpOptions.cache_materail_key);
|
||||
if (materials == null || materials.Count == 0)
|
||||
return Result<ErpMaterialDto>.ReSuccess(null);
|
||||
//2.通过ID取当前物料列表中的
|
||||
@@ -838,7 +833,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
{
|
||||
//把取到的数据放集合中并重新给缓存
|
||||
materials.Add(mater);
|
||||
_memoryCache.Set(cache_materail_key, materials, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_materail_key, materials, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
return Result<ErpMaterialDto>.ReSuccess(mater);
|
||||
}
|
||||
else
|
||||
@@ -910,8 +905,8 @@ namespace WMS.Web.Domain.Services.Public
|
||||
}
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"物料拉取-结束时间:{endTime}");
|
||||
//5.物料集合进行缓存
|
||||
_memoryCache.Set(cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
//5.物料集合进行缓存-当前缓存时间到当天晚上的0点,后面定时任务执行重新放入缓存
|
||||
_memoryCache.Set(_erpOptions.cache_materail_key, erp_materials_list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"物料拉取-总条数:{erp_materials_list.Count}");
|
||||
return ResultList<ErpMaterialDto>.ReSuccess(erp_materials_list);
|
||||
}
|
||||
@@ -983,7 +978,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的组织数据;
|
||||
var orgs = _memoryCache.Get<List<ErpOrgDto>>(cache_org_key);
|
||||
var orgs = _memoryCache.Get<List<ErpOrgDto>>(_erpOptions.cache_org_key);
|
||||
if (orgs == null || orgs.Count == 0)
|
||||
{
|
||||
|
||||
@@ -1025,7 +1020,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
|
||||
}
|
||||
//5.组织集合进行缓存
|
||||
_memoryCache.Set(cache_org_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_org_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"组织拉取-总条数:{list.Count}");
|
||||
return ResultList<ErpOrgDto>.ReSuccess(list);
|
||||
|
||||
@@ -1051,7 +1046,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的供应商数据;
|
||||
var suppliers = _memoryCache.Get<List<ErpSupplierDto>>(cache_supplier_key);
|
||||
var suppliers = _memoryCache.Get<List<ErpSupplierDto>>(_erpOptions.cache_supplier_key);
|
||||
if (suppliers == null || suppliers.Count == 0)
|
||||
{
|
||||
|
||||
@@ -1093,7 +1088,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
|
||||
}
|
||||
//5.供应商集合进行缓存
|
||||
_memoryCache.Set(cache_supplier_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_supplier_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"供应商拉取-总条数:{list.Count}");
|
||||
return ResultList<ErpSupplierDto>.ReSuccess(list);
|
||||
|
||||
@@ -1118,7 +1113,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的供应商数据;
|
||||
var customers = _memoryCache.Get<List<ErpCustomerDto>>(cache_customer_key);
|
||||
var customers = _memoryCache.Get<List<ErpCustomerDto>>(_erpOptions.cache_customer_key);
|
||||
if (customers == null || customers.Count == 0)
|
||||
{
|
||||
|
||||
@@ -1171,7 +1166,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
var endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
_logger.LogInformation($"客户拉取-结束时间:{endTime}");
|
||||
//5.供应商集合进行缓存
|
||||
_memoryCache.Set(cache_customer_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_customer_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
|
||||
_logger.LogInformation($"客户拉取-总条数:{list.Count}");
|
||||
return ResultList<ErpCustomerDto>.ReSuccess(list);
|
||||
|
||||
@@ -1196,7 +1191,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的仓库数据;
|
||||
var stocks = _memoryCache.Get<List<ErpStockDto>>(cache_stock_key);
|
||||
var stocks = _memoryCache.Get<List<ErpStockDto>>(_erpOptions.cache_stock_key);
|
||||
if (stocks == null || stocks.Count == 0)
|
||||
{
|
||||
//2.先登录金蝶-拿到token
|
||||
@@ -1233,7 +1228,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
|
||||
}
|
||||
//5.供应商集合进行缓存
|
||||
_memoryCache.Set(cache_stock_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_stock_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_logger.LogInformation($"仓库拉取-总条数:{list.Count}");
|
||||
return ResultList<ErpStockDto>.ReSuccess(list);
|
||||
}
|
||||
@@ -1258,7 +1253,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
try
|
||||
{
|
||||
//1.获取缓存中的仓库数据;
|
||||
var stocks = _memoryCache.Get<List<Erp_SubStockDto>>(cache_substock_key);
|
||||
var stocks = _memoryCache.Get<List<Erp_SubStockDto>>(_erpOptions.cache_substock_key);
|
||||
if (stocks == null || stocks.Count == 0)
|
||||
{
|
||||
var token_result = await this.Init();
|
||||
@@ -1289,7 +1284,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
|
||||
}
|
||||
//5.供应商集合进行缓存 只有查询全部的时候才缓存
|
||||
_memoryCache.Set(cache_substock_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_memoryCache.Set(_erpOptions.cache_substock_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromDays(3)));
|
||||
_logger.LogInformation($"子仓库拉取-总条数:{list.Count}");
|
||||
return ResultList<Erp_SubStockDto>.ReSuccess(list);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user