增加缓存

This commit is contained in:
18942506660
2024-10-21 10:00:57 +08:00
parent 9ac131f286
commit c7134674e3
7 changed files with 77 additions and 5 deletions

View File

@@ -24,6 +24,7 @@ using System.Reflection;
using WMS.Web.Core.Help;
using static System.Net.WebRequestMethods;
using WMS.Web.Domain.Values;
using WMS.Web.Core.Dto.JuShuiTan;
namespace WMS.Web.Domain.Services.Public
{
@@ -71,6 +72,10 @@ namespace WMS.Web.Domain.Services.Public
/// <returns></returns>
public async Task<Result<List<LingXingStockResponse>>> GetStock()
{
var stock_list = _memoryCache.Get<List<LingXingStockResponse>>("lingxing_stock");
if (stock_list != null && stock_list.Count > 0)
return Result<List<LingXingStockResponse>>.ReSuccess(stock_list);
//默认获取本地仓库 如果需要海外仓 另外需传参数type
var request = new LingXingRequest();
var resUrl = await GetStr<LingXingRequest>("/erp/sc/data/local_inventory/warehouse", request);
@@ -79,7 +84,11 @@ namespace WMS.Web.Domain.Services.Public
var res = await _httpClientService.PostAsync<LingXingResponse>(resUrl.Data, JsonConvert.SerializeObject(request), null);
if (res.Code != 0) return Result<List<LingXingStockResponse>>.ReFailure(ResultCodes.LingXingDataError);
return Result<List<LingXingStockResponse>>.ReSuccess(JsonConvert.DeserializeObject<List<LingXingStockResponse>>(res.Data.ToString()));
var list = JsonConvert.DeserializeObject<List<LingXingStockResponse>>(res.Data.ToString());
//设置缓存
_memoryCache.Set("lingxing_stock", list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
return Result<List<LingXingStockResponse>>.ReSuccess(list);
}
/// <summary>
@@ -89,6 +98,10 @@ namespace WMS.Web.Domain.Services.Public
/// <exception cref="NotImplementedException"></exception>
public async Task<Result<List<LingXingSellerResponse>>> GetSeller()
{
var seller_list = _memoryCache.Get<List<LingXingSellerResponse>>("lingxing_seller");
if (seller_list != null && seller_list.Count > 0)
return Result<List<LingXingSellerResponse>>.ReSuccess(seller_list);
var request = new LingXingKongRequest();
var resUrl = await GetStr<LingXingKongRequest>("/erp/sc/data/seller/lists", request);
if (!resUrl.IsSuccess) return Result<List<LingXingSellerResponse>>.ReFailure(ResultCodes.LingXingUrlError);
@@ -96,7 +109,11 @@ namespace WMS.Web.Domain.Services.Public
var res = await _httpClientService.GetAsync<LingXingResponse>(resUrl.Data);
if (res.Code != 0) return Result<List<LingXingSellerResponse>>.ReFailure(ResultCodes.LingXingDataError);
return Result<List<LingXingSellerResponse>>.ReSuccess(JsonConvert.DeserializeObject<List<LingXingSellerResponse>>(res.Data.ToString()));
var list = JsonConvert.DeserializeObject<List<LingXingSellerResponse>>(res.Data.ToString());
//设置缓存
_memoryCache.Set("lingxing_seller", list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromMinutes(DateTimeUtil.GetTotalMinutesTimeSpan())));
return Result<List<LingXingSellerResponse>>.ReSuccess(list);
}
/// <summary>