diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index c17135de..c2ce56c3 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -1157,23 +1157,7 @@ namespace BBWY.Server.Business } #endregion - #region 审核活动 - { - stepText = "审核活动"; - Thread.Sleep(3000); - var req = new SellerPromotionCheckRequest(); - req.promoId = promotionId; - req.status = 4; - var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); - if (res.IsError) - { - RollBackWhenStartPromotionError(deleteGiftSkuRequest, request, brandName, haveGiftTemplateSku); - throw new BusinessException($"审核活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); - } - } - #endregion - - Task.Factory.StartNew(() => StartJDPromotionTaskDelay(deleteGiftSkuRequest, request, brandName), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler); + Task.Factory.StartNew(() => StartJDPromotionTaskDelay(deleteGiftSkuRequest, request, brandName, promotionId), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler); //#region 下架赠品sku //stepText = "下架赠品sku"; @@ -1240,6 +1224,54 @@ namespace BBWY.Server.Business throw new BusinessException($"暂停JD活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); } + private void CheckJDPromotionTask(long promotionId, string appkey, string appSecret, string token) + { + var jdClient = GetJdClient(appkey, appSecret); + Thread.Sleep(3000); + var req = new SellerPromotionCheckRequest(); + req.promoId = promotionId; + req.status = 4; + var res = jdClient.Execute(req, token, DateTime.Now.ToLocalTime()); + if (res.IsError) + { + //RollBackWhenStartPromotionError(deleteGiftSkuRequest, request, brandName, haveGiftTemplateSku); + //throw new BusinessException($"审核活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); + } + } + + private List GetPromotionTaskSku(string appkey, string appSecret, string token, long promotionId) + { + var jdClient = GetJdClient(appkey, appSecret); + var pageIndex = 1; + List skuList = new List(); + while (true) + { + var req = new SellerPromotionV2SkuListRequest(); + req.promoId = promotionId; + //req.bindType = ; + + req.promoType = 4; + + req.page = pageIndex.ToString(); + + req.pageSSize = "50"; + var response = jdClient.Execute(req, token, DateTime.Now.ToLocalTime()); + Console.WriteLine(JsonConvert.SerializeObject(response)); + if (response.IsError) + continue; + if (response.Json == null) + response.Json = JObject.Parse(response.Body); + var jarray = response.Json["jingdong_seller_promotion_v2_sku_list_responce"]["promotion_sku_list"] as JArray; + skuList.AddRange(jarray); + if (jarray.Count() >= 50) + pageIndex++; + else + break; + } + + return skuList; + } + public override IList GetServiceGroupList(PlatformRequest request) { var jdClient = GetJdClient(request.AppKey, request.AppSecret); @@ -1258,9 +1290,28 @@ namespace BBWY.Server.Business } - private void StartJDPromotionTaskDelay(DeleteSkuListRequest deleteSkuRequest, StartPromotionTaskRequest2 startRequest, string brandName) + private void StartJDPromotionTaskDelay(DeleteSkuListRequest deleteSkuRequest, StartPromotionTaskRequest2 startRequest, string brandName, long promotionId) { - Thread.Sleep(20 * 1000); + Thread.Sleep(30 * 1000); + CheckJDPromotionTask(promotionId, deleteSkuRequest.AppKey, deleteSkuRequest.AppSecret, deleteSkuRequest.AppToken); + Thread.Sleep(30 * 1000); + + #region 检查奶妈sku是否完全生效 + { + var i = 0; + while (i < 10) + { + i++; + var promotionTaskSkuList = GetPromotionTaskSku(deleteSkuRequest.AppKey, deleteSkuRequest.AppSecret, deleteSkuRequest.AppToken, promotionId); + if (promotionTaskSkuList.Any(s => s.Value("bind_type") == 1 && s.Value("sku_status") == 0)) + { + Thread.Sleep(2000); + continue; + } + break; + } + } + #endregion RollBackWhenStartPromotionError(deleteSkuRequest, startRequest, brandName, true); } } diff --git a/BBWY.Test/JDProductAPITest.cs b/BBWY.Test/JDProductAPITest.cs index 4f379371..8903fd1a 100644 --- a/BBWY.Test/JDProductAPITest.cs +++ b/BBWY.Test/JDProductAPITest.cs @@ -361,7 +361,7 @@ namespace BBWY.Test public void GetPromotionDetailById(IJdClient client, string token) { var req = new SellerPromotionV2GetRequest(); - req.promoId = 5619039473; + req.promoId = 5623871513; req.promoType = 4; var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); Console.WriteLine(JsonConvert.SerializeObject(response)); diff --git a/BBWY.Test/JDPromotionAPITest.cs b/BBWY.Test/JDPromotionAPITest.cs index 44263274..6b0ed064 100644 --- a/BBWY.Test/JDPromotionAPITest.cs +++ b/BBWY.Test/JDPromotionAPITest.cs @@ -33,7 +33,7 @@ namespace BBWY.Test req.page = pageIndex.ToString(); - req.pageSSize = "100"; + req.pageSSize = "50"; var response = client.Execute(req, token, DateTime.Now.ToLocalTime()); Console.WriteLine(JsonConvert.SerializeObject(response)); if (response.IsError) @@ -41,7 +41,7 @@ namespace BBWY.Test if (response.Json == null) response.Json = JObject.Parse(response.Body); var jarray = response.Json["jingdong_seller_promotion_v2_sku_list_responce"]["promotion_sku_list"] as JArray; - if (jarray.Count() >= 100) + if (jarray.Count() >= 50) pageIndex++; else break; diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index c1c369fd..08a77fd9 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -18,16 +18,17 @@ namespace BBWY.Test static void Main(string[] args) { - //var appkey = "E1AA9247D5583A6D87449CE6AB290185"; - //var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c"; + var appkey = "E1AA9247D5583A6D87449CE6AB290185"; + var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c"; ////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛 ////2ace3023200c4ea9aa682bbf8bffee18jztm 布莱特玩具 //var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛 //var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇 + var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品 - var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; - var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; - var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; + //var appkey = "120EA9EC65AB017567D78CC1139EEEA5"; + //var appSecret = "8a42bc2301e8439b896e99f5475e0a9b"; + //var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //var path = @"C:\Users\pengcong001\Desktop\含赠品SKU.txt"; //var j = JToken.Parse(System.IO.File.ReadAllText(path, System.Text.Encoding.UTF8)); @@ -40,33 +41,19 @@ namespace BBWY.Test IJdClient client = GetJdClient(appkey, appSecret); - //var p = new JDProductAPITest(); - //p.GetPromotionDetailById(client, token); + var p = new JDPromotionAPITest(); + p.GetPromotionDetailById(client, token, 5623916808); //var p = new JDProductAPITest(); //p.GetSkus(client, token); - { - var sopReq = new PopOrderEnSearchRequest(); - sopReq.startDate = "2022-11-11 13:52:00"; - //sopReq.endDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - sopReq.endDate = "2022-11-11 13:55:00"; - //sopReq.endDate = searchOrderRequest.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss"); - //WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,WAIT_SELLER_DELIVER,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED - sopReq.orderState = "WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED,NOT_PAY"; - sopReq.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,orderState,orderStateRemark,orderRemark,orderStartTime,orderEndTime,modified,consigneeInfo,itemInfoList,couponDetailList,taxFee,venderRemark,pin,waybill,storeOrder,storeId,sellerDiscount"; - sopReq.page = "1"; - sopReq.pageSize = "50"; - sopReq.sortType = "0"; - sopReq.dateType = "1"; - var sopResponse = client.Execute(sopReq, token, DateTime.Now.ToLocalTime()); - - - - var req = new PopOrderEnGetRequest(); - req.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,orderState,orderStateRemark,orderRemark,orderStartTime,orderEndTime,modified,consigneeInfo,itemInfoList,couponDetailList,taxFee,venderRemark,pin,waybill,storeOrder,storeId,sellerDiscount"; - req.orderId = "256810504651"; - - var jdResponse = client.Execute(req, token, DateTime.Now.ToLocalTime()); - } + //{ + // var req = new SellerPromotionCheckRequest(); + // req.promoId = 5623871513; + // req.status = 4; + // var res = client.Execute(req, token, DateTime.Now.ToLocalTime()); + // Console.WriteLine(JsonConvert.SerializeObject(res)); + //} + + Console.ReadKey(); }