diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 0916af8e..33edd198 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -258,6 +258,8 @@ namespace BBWY.Server.Business } else if (searchOrderRequest.JDColType == "0") { + var pageIndex = 1; + var pageSize = 100; var sopReq = new PopOrderEnSearchRequest(); if (searchOrderRequest.StartDate != null) sopReq.startDate = searchOrderRequest.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"); @@ -273,24 +275,32 @@ namespace BBWY.Server.Business sopReq.orderState = searchOrderRequest.OrderState; //待转换 } sopReq.optionalFields = searchFields; - sopReq.page = searchOrderRequest.PageIndex.ToString(); - sopReq.pageSize = searchOrderRequest.PageSize.ToString(); + //sopReq.page = searchOrderRequest.PageIndex.ToString(); + sopReq.pageSize = pageSize.ToString(); sopReq.sortType = "1"; if (searchOrderRequest.SortTimeType != null) sopReq.dateType = ((int)searchOrderRequest.SortTimeType).ToString(); - //sopReq.dateType = ""; - var sopResponse = jdClient.Execute(sopReq, searchOrderRequest.AppToken, DateTime.Now.ToLocalTime()); - if (searchOrderRequest.SaveResponseLog) - nLogManager.Default().Info($"sopRequest\r\n{JsonConvert.SerializeObject(searchOrderRequest)} \r\nsopResponse\r\n{JsonConvert.SerializeObject(sopResponse)}"); - if (sopResponse.IsError) - throw new BusinessException($"获取SOP订单失败 {(string.IsNullOrEmpty(sopResponse.ErrorMsg) ? sopResponse.ErrMsg : sopResponse.ErrorMsg)}"); - - if (sopResponse.Json == null) - sopResponse.Json = JObject.Parse(sopResponse.Body); - //orderCount = sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"].Value("orderTotal"); - orderJtokens.AddRange((JArray)sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"]["orderInfoList"]); + while (true) + { + sopReq.page = pageIndex.ToString(); + var sopResponse = jdClient.Execute(sopReq, searchOrderRequest.AppToken, DateTime.Now.ToLocalTime()); + if (searchOrderRequest.SaveResponseLog) + nLogManager.Default().Info($"sopRequest\r\n{JsonConvert.SerializeObject(searchOrderRequest)} \r\nsopResponse\r\n{JsonConvert.SerializeObject(sopResponse)}"); + if (sopResponse.IsError) + throw new BusinessException($"获取SOP订单失败 {(string.IsNullOrEmpty(sopResponse.ErrorMsg) ? sopResponse.ErrMsg : sopResponse.ErrorMsg)}"); + + if (sopResponse.Json == null) + sopResponse.Json = JObject.Parse(sopResponse.Body); + + //orderCount = sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"].Value("orderTotal"); + var orderJarray = (JArray)sopResponse.Json["jingdong_pop_order_enSearch_responce"]["searchorderinfo_result"]["orderInfoList"]; + orderJtokens.AddRange(orderJarray); + if (orderJarray.Count() < pageSize) + break; + pageIndex++; + } } } else