diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 08d6c8c4..3146152c 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Domain/IService/Public/ILingXingService.cs b/src/WMS.Web.Domain/IService/Public/ILingXingService.cs index 121676db..e099b3e5 100644 --- a/src/WMS.Web.Domain/IService/Public/ILingXingService.cs +++ b/src/WMS.Web.Domain/IService/Public/ILingXingService.cs @@ -26,6 +26,6 @@ namespace WMS.Web.Domain.IService.Public /// 获取即时库存 /// /// - public Task>> GetInventory(LingXingInventoryRequest dto); + public Task>> GetInventory(List ids); } } diff --git a/src/WMS.Web.Domain/Services/ProductInventoryService.cs b/src/WMS.Web.Domain/Services/ProductInventoryService.cs index f6c81147..0817feec 100644 --- a/src/WMS.Web.Domain/Services/ProductInventoryService.cs +++ b/src/WMS.Web.Domain/Services/ProductInventoryService.cs @@ -235,7 +235,7 @@ namespace WMS.Web.Domain.Services var ids = resStock.Data.Where(w => listNames.Contains(w.Name)).Select(s => s.Id).ToList(); string strIds = string.Join(",", ids); //获取领星库存 - var resInventory = await _lingXingService.GetInventory(new Core.Dto.LingXing.LingXingInventoryRequest() { wid = strIds }); + var resInventory = await _lingXingService.GetInventory(ids); _logger.LogInformation($"拉取领星数据结果:{resInventory.IsSuccess} {resInventory.Message}"); if (!resInventory.IsSuccess) return resStock; diff --git a/src/WMS.Web.Domain/Services/Public/LingXingService.cs b/src/WMS.Web.Domain/Services/Public/LingXingService.cs index 805e8021..5ec6b350 100644 --- a/src/WMS.Web.Domain/Services/Public/LingXingService.cs +++ b/src/WMS.Web.Domain/Services/Public/LingXingService.cs @@ -142,41 +142,47 @@ namespace WMS.Web.Domain.Services.Public /// /// /// - public async Task>> GetInventory(LingXingInventoryRequest dto) + public async Task>> GetInventory(List ids) { - //dto.length = 50; - //dto.sku = "NTONPOWER-OSP-3A2U-US-BK-4.6M"; - var resUrl = await GetStr("/erp/sc/routing/data/local_inventory/inventoryDetails", dto); - if (!resUrl.IsSuccess) return Result>.ReFailure(ResultCodes.LingXingUrlError); List list = new List(); - var res = await _httpClientService.PostAsync(resUrl.Data, JsonConvert.SerializeObject(dto), null); - if (res.Code != 0) + foreach (var id in ids) { - _logger.LogInformation($"领星获取数据失败{res.Message}"); - return Result>.ReFailure(ResultCodes.LingXingDataError); - } - list.AddRange(JsonConvert.DeserializeObject>(res.Data.ToString())); - //var b = list.Where(w => w.SKU.Equals("NTONPOWER-OSP-3A2U-US-BK-4.6M")).ToList(); - int num = res.Total / 800; - for (int i = 1; i <= num; i++) - { - Thread.Sleep(1000);//怕拉取过于频繁接口限制 - dto.offset = i * 800; - if (i == num) dto.length = res.Total - (num * 800); - var resUrl_f = await GetStr("/erp/sc/routing/data/local_inventory/inventoryDetails", dto); - if (!resUrl_f.IsSuccess) return Result>.ReFailure(ResultCodes.LingXingUrlError); - var res_f = await _httpClientService.PostAsync(resUrl_f.Data, JsonConvert.SerializeObject(dto), null); - if (res_f.Code != 0) + LingXingInventoryRequest dto = new LingXingInventoryRequest(); + dto.wid = id.ToString(); + //dto.length = 50; + //dto.sku = "NTONPOWER-OSP-3A2U-US-BK-4.6M"; + var resUrl = await GetStr("/erp/sc/routing/data/local_inventory/inventoryDetails", dto); + if (!resUrl.IsSuccess) return Result>.ReFailure(ResultCodes.LingXingUrlError); + + var res = await _httpClientService.PostAsync(resUrl.Data, JsonConvert.SerializeObject(dto), null); + if (res.Code != 0) { _logger.LogInformation($"领星获取数据失败{res.Message}"); return Result>.ReFailure(ResultCodes.LingXingDataError); } - var d = JsonConvert.DeserializeObject>(res_f.Data.ToString()); - //var bc = d.Where(w => w.SKU.Equals("NTONPOWER-OSP-3A2U-US-BK-4.6M")).Any(); - //_logger.LogInformation($"次数:{i} 是否存在{bc}"); + list.AddRange(JsonConvert.DeserializeObject>(res.Data.ToString())); + //var b = list.Where(w => w.SKU.Equals("NTONPOWER-OSP-3A2U-US-BK-4.6M")).ToList(); + int num = res.Total / 800; + for (int i = 1; i <= num; i++) + { + Thread.Sleep(1000);//怕拉取过于频繁接口限制 + dto.offset = i * 800; + if (i == num) dto.length = res.Total - (num * 800); + var resUrl_f = await GetStr("/erp/sc/routing/data/local_inventory/inventoryDetails", dto); + if (!resUrl_f.IsSuccess) return Result>.ReFailure(ResultCodes.LingXingUrlError); + var res_f = await _httpClientService.PostAsync(resUrl_f.Data, JsonConvert.SerializeObject(dto), null); + if (res_f.Code != 0) + { + _logger.LogInformation($"领星获取数据失败{res.Message}"); + return Result>.ReFailure(ResultCodes.LingXingDataError); + } + var d = JsonConvert.DeserializeObject>(res_f.Data.ToString()); + //var bc = d.Where(w => w.SKU.Equals("NTONPOWER-OSP-3A2U-US-BK-4.6M")).Any(); + //_logger.LogInformation($"次数:{i} 是否存在{bc}"); - list.AddRange(d); + list.AddRange(d); + } } //var bcd = list.Where(w => w.SKU.Equals("NTONPOWER-OSP-3A2U-US-BK-4.6M")).ToList(); return Result>.ReSuccess(list.Where(w => w.Product_Total > 0 && w.Product_Valid_Num > 0).ToList());