From e53f6c790b3e4c21b0eebc81a412e69a934734f1 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 7 Sep 2023 00:10:28 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=A4=87=E6=B3=A8=E5=BB=B6=E9=95=BF?= =?UTF-8?q?=E5=88=B01000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs index 16c56e69..a871eb2f 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs @@ -174,7 +174,7 @@ namespace BBWY.Server.Model.Db /// /// 备注信息 /// - + [Column(StringLength = 1000)] public string Remark { get; set; } /// From 77af32ba1f0663e641ee155682e05d9f5f344ae9 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 7 Sep 2023 23:50:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?pjzs=E8=B5=A0=E5=93=81=E4=B8=8A=E6=9E=B6?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A2=9E=E5=8A=A0=E6=97=B6=E6=95=88=E6=A8=A1?= =?UTF-8?q?=E6=9D=BFId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/SkuWriteUpdateSkusRequest.cs | 2 + .../PlatformSDK/JDBusiness.cs | 17 ++++--- BBWY.Test/BBWY.Test.csproj | 13 +++++ BBWY.Test/NLog.config | 14 ++++++ BBWY.Test/Program.cs | 50 +++---------------- BBWY.Test/Properties/NLogManager.cs | 35 +++++++++++++ 6 files changed, 79 insertions(+), 52 deletions(-) create mode 100644 BBWY.Test/NLog.config create mode 100644 BBWY.Test/Properties/NLogManager.cs diff --git a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs index 39107390..bcb47afe 100644 --- a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs +++ b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs @@ -41,6 +41,8 @@ namespace Jd.Api.Request public string outerId { get; set; } public List multiCateProps { get; set; } + + public int promiseId { get; set; } } public class SkuWriteUpdateSkusItemSaleAttrs diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 0f42c6d3..d1986733 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -999,15 +999,16 @@ namespace BBWY.Server.Business barCode = request.MainProductBarCode, outerId = $"{request.OuterId}{(i + 1).ToString().PadLeft(3, '0')}", saleAttrs = new List() - { - new SkuWriteUpdateSkusItemSaleAttrs() { - type = "com.jd.pop.ware.ic.api.domain.Prop", - attrId = colorProperty.Value("attId"), - attrValues = new List() { colorProperty.Value("id") }, - index = takeColorIndex - } - } + new SkuWriteUpdateSkusItemSaleAttrs() + { + type = "com.jd.pop.ware.ic.api.domain.Prop", + attrId = colorProperty.Value("attId"), + attrValues = new List() { colorProperty.Value("id") }, + index = takeColorIndex + } + }, + promiseId = 30603710 //固定时效模板Id 48小时发货 }; p.multiCateProps = new List(); diff --git a/BBWY.Test/BBWY.Test.csproj b/BBWY.Test/BBWY.Test.csproj index 697cb8ee..bd90d253 100644 --- a/BBWY.Test/BBWY.Test.csproj +++ b/BBWY.Test/BBWY.Test.csproj @@ -5,10 +5,23 @@ netcoreapp3.1 + + + + + + + PreserveNewest + true + PreserveNewest + + + + diff --git a/BBWY.Test/NLog.config b/BBWY.Test/NLog.config new file mode 100644 index 00000000..8405deac --- /dev/null +++ b/BBWY.Test/NLog.config @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs index b0c69686..0197f527 100644 --- a/BBWY.Test/Program.cs +++ b/BBWY.Test/Program.cs @@ -1,5 +1,6 @@ using BBWY._1688SDK.entity.Order; using BBWY.Common.Models; +using BBWY.Server.Business; using com.alibaba.openapi.client; using com.alibaba.openapi.client.policy; using Jd.Api; @@ -63,50 +64,11 @@ namespace BBWY.Test { - var request = new { AppKey = "1074007", AppSecret = "0r9u4Fc9zK", AppToken = "8093fdc5-6adc-46c7-b640-87218c1dcccd" }; - var client = GetSyncAPIClient(request.AppKey, request.AppSecret); - RequestPolicy reqPolicy = new RequestPolicy(); - reqPolicy.HttpMethod = "POST"; - reqPolicy.NeedAuthorization = false; - reqPolicy.RequestSendTimestamp = false; - reqPolicy.UseHttps = false; - reqPolicy.UseSignture = true; - reqPolicy.AccessPrivateApi = false; - - Request _request = new Request(); - APIId apiId = new APIId - { - Name = "alibaba.trade.pay.protocolPay.preparePay", - NamespaceValue = "com.alibaba.trade", - Version = 1 - }; - _request.ApiId = apiId; - - //var param = new - //{ - // orderId = 3494275885416167358 - //}; - - //var param = new tradeWithholdPreparePayParam() - //{ - // orderId = 3494275885416167358 - //}; - - var param = new - { - tradeWithholdPreparePayParam = new - { - orderId = 3494275885416167358 - } - }; - _request.RequestEntity = param; - if (!string.IsNullOrEmpty(request.AppToken)) - _request.AccessToken = request.AppToken; - var result = client.NewRequest(_request, reqPolicy); - if (result.Value("success") != true) - throw new BusinessException(result.Value("message")); - - Console.WriteLine(JsonConvert.SerializeObject(result)); + var nNogManager = new NLogManager(); + var pid = Process.GetCurrentProcess().Id; + var message = $"{pid}-{Guid.NewGuid()}"; + Console.WriteLine(message); + nNogManager.GetLogger(pid.ToString()).Info(message); } Console.ReadKey(); diff --git a/BBWY.Test/Properties/NLogManager.cs b/BBWY.Test/Properties/NLogManager.cs new file mode 100644 index 00000000..9da4b3f5 --- /dev/null +++ b/BBWY.Test/Properties/NLogManager.cs @@ -0,0 +1,35 @@ +using NLog; +using System.Collections.Concurrent; +using System.Collections.Generic; + +namespace BBWY.Server.Business +{ + public class NLogManager + { + private ConcurrentDictionary loggerDictionary; + private string defaultLoggerName = "default"; + + public NLogManager() + { + loggerDictionary = new ConcurrentDictionary(); + loggerDictionary.TryAdd("default", NLog.LogManager.GetLogger(defaultLoggerName)); + } + + public ILogger Default() + { + return loggerDictionary[defaultLoggerName]; + } + + public ILogger GetLogger(string loggerName) + { + if (string.IsNullOrEmpty(loggerName)) + return Default(); + if (!loggerDictionary.TryGetValue(loggerName, out ILogger logger)) + { + logger = NLog.LogManager.GetLogger(loggerName); + loggerDictionary.TryAdd(loggerName, logger); + } + return logger; + } + } +} From 1dd04ebcb7445c0e45db9c8fc7f333498ec95ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E8=81=AA?= Date: Fri, 8 Sep 2023 13:15:46 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=B8=8A=E6=9E=B6=E8=B5=A0=E5=93=81sku?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=B8=8D=E4=BD=BF=E7=94=A8=E6=97=B6=E6=95=88?= =?UTF-8?q?=E6=A8=A1=E6=9D=BFId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Request/SkuWriteUpdateSkusRequest.cs | 2 +- .../PlatformSDK/JDBusiness.cs | 32 +++++++++++++------ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs index bcb47afe..96cf0300 100644 --- a/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs +++ b/BBWY.JDSDK/Request/SkuWriteUpdateSkusRequest.cs @@ -42,7 +42,7 @@ namespace Jd.Api.Request public List multiCateProps { get; set; } - public int promiseId { get; set; } + public int? promiseId { get; set; } } public class SkuWriteUpdateSkusItemSaleAttrs diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index d1986733..5ef4b0a0 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -1007,8 +1007,8 @@ namespace BBWY.Server.Business attrValues = new List() { colorProperty.Value("id") }, index = takeColorIndex } - }, - promiseId = 30603710 //固定时效模板Id 48小时发货 + } + //promiseId = 30603710 //固定时效模板Id 48小时发货 }; p.multiCateProps = new List(); @@ -1066,14 +1066,28 @@ namespace BBWY.Server.Business res.Json = JObject.Parse(res.Body); if (res.IsError) { - RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, null, request.MainProductSpu, request.FullTitle, brandName, false); - - if (res.Body.Contains("en_desc")) - throw new BusinessException($"上架sku失败-{res.Json["error_response"].Value("en_desc")}"); + var errorMsg = res.Body.Contains("en_desc") ? + res.Json["error_response"].Value("en_desc") : + (string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg); + if (errorMsg.Contains("此类目发货时效必填")) + { + foreach (var skuParam in req.skus) + skuParam.promiseId = 30603710; + res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); + if (res.IsError) + { + errorMsg = res.Body.Contains("en_desc") ? + res.Json["error_response"].Value("en_desc") : + (string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg); + RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, null, request.MainProductSpu, request.FullTitle, brandName, false); + throw new BusinessException($"上架sku失败-{errorMsg}"); + } + } else - throw new BusinessException($"上架sku失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}"); - - /*{"error_response":{"code":"501","en_desc":"com.jd.bk.saf.exception.SafJosException:京东价超出该类目允许范围:12.15-39437元!#821c1c3b382f476abeb21f1f515274c7(Solution reference: https://jos.jd.com/commondoc?listId=171)","zh_desc":"调用参数错误(解决方案参考: https://jos.jd.com/commondoc?listId=171)"}}*/ + { + RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, null, request.MainProductSpu, request.FullTitle, brandName, false); + throw new BusinessException($"上架sku失败-{errorMsg}"); + } } var newSkuList = res.Json["jingdong_sku_write_updateSkus_responce"]["skuList"].ToList().Select(x => x.Value("skuId")).ToList(); From a6ab8cf21ff201c5a6b9470701353e286f36ce04 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 8 Sep 2023 23:23:42 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=97=B6=E6=95=88?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...IbgUniversalJosServiceOrderQueryRequest.cs | 356 +++++++++--------- ...rviceQuerySendTemplateByCategoryRequest.cs | 21 ++ ...viceQuerySendTemplateByCategoryResponse.cs | 11 + .../PlatformSDK/JDBusiness.cs | 27 +- 4 files changed, 236 insertions(+), 179 deletions(-) create mode 100644 BBWY.JDSDK/Request/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest.cs create mode 100644 BBWY.JDSDK/Response/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryResponse.cs diff --git a/BBWY.JDSDK/Request/AdsIbgUniversalJosServiceOrderQueryRequest.cs b/BBWY.JDSDK/Request/AdsIbgUniversalJosServiceOrderQueryRequest.cs index 36dfb1c2..e2e4f286 100644 --- a/BBWY.JDSDK/Request/AdsIbgUniversalJosServiceOrderQueryRequest.cs +++ b/BBWY.JDSDK/Request/AdsIbgUniversalJosServiceOrderQueryRequest.cs @@ -6,193 +6,193 @@ namespace Jd.Api.Request { public class AdsIbgUniversalJosServiceOrderQueryRequest : JdRequestBase { - public string - clickStartDay - {get; set;} - - public string - orderType - {get; set;} - - public string - orderStartDay - {get; set;} - - public string - orderStatus - {get; set;} - - public string - pageSize - {get; set;} - - public string - platform - {get; set;} - - public string - adGroupId - {get; set;} - - public string - paymentType - {get; set;} - - public string - activityId - {get; set;} - - public string - mediaGroupId - {get; set;} - - public string - province - {get; set;} - - public string - clickOrOrderDay - {get; set;} - - public string - clickOrOrderCaliber - {get; set;} - - public string - orderEndDay - {get; set;} - - public string - clickEndDay - {get; set;} - - public string - giftFlag - {get; set;} - - public string - campaignId - {get; set;} - - public string - deliveryType - {get; set;} - - public string - mediaType - {get; set;} - - public string - impressionOrClickEffect - {get; set;} - - public string - posPackageId - {get; set;} - - public string - page - {get; set;} - - public string - startDay - {get; set;} - - public string - endDay - {get; set;} - - public string - myself - {get; set;} - - public string - businessType - {get; set;} - - public string - accessPin - {get; set;} - - public string - authType - {get; set;} - - public string - deliverySystemType - {get; set;} - - public string - jdMediaUserId - {get; set;} - - public override string ApiName - { - get{return "jingdong.ads.ibg.UniversalJosService.order.query";} - } - protected override void PrepareParam(IDictionary parameters) - { - parameters.Add("clickStartDay", this. clickStartDay -); - parameters.Add("orderType", this. orderType -); - parameters.Add("orderStartDay", this. orderStartDay -); - parameters.Add("orderStatus", this. orderStatus -); - parameters.Add("pageSize", this. pageSize -); - parameters.Add("platform", this. platform -); - parameters.Add("adGroupId", this. adGroupId -); - parameters.Add("paymentType", this. paymentType -); - parameters.Add("activityId", this. activityId -); - parameters.Add("mediaGroupId", this. mediaGroupId -); - parameters.Add("province", this. province -); - parameters.Add("clickOrOrderDay", this. clickOrOrderDay -); - parameters.Add("clickOrOrderCaliber", this. clickOrOrderCaliber -); - parameters.Add("orderEndDay", this. orderEndDay -); - parameters.Add("clickEndDay", this. clickEndDay -); - parameters.Add("giftFlag", this. giftFlag -); - parameters.Add("campaignId", this. campaignId -); - parameters.Add("deliveryType", this. deliveryType -); - parameters.Add("mediaType", this. mediaType -); - parameters.Add("impressionOrClickEffect", this. impressionOrClickEffect + public string +clickStartDay + { get; set; } + + public string +orderType + { get; set; } + + public string +orderStartDay + { get; set; } + + public string +orderStatus + { get; set; } + + public string +pageSize + { get; set; } + + public string +platform + { get; set; } + + public string +adGroupId + { get; set; } + + public string +paymentType + { get; set; } + + public string +activityId + { get; set; } + + public string +mediaGroupId + { get; set; } + + public string +province + { get; set; } + + public string +clickOrOrderDay + { get; set; } + + public string +clickOrOrderCaliber + { get; set; } + + public string +orderEndDay + { get; set; } + + public string +clickEndDay + { get; set; } + + public string +giftFlag + { get; set; } + + public string +campaignId + { get; set; } + + public string +deliveryType + { get; set; } + + public string +mediaType + { get; set; } + + public string +impressionOrClickEffect + { get; set; } + + public string +posPackageId + { get; set; } + + public string +page + { get; set; } + + public string +startDay + { get; set; } + + public string +endDay + { get; set; } + + public string +myself + { get; set; } + + public string +businessType + { get; set; } + + public string +accessPin + { get; set; } + + public string +authType + { get; set; } + + public string +deliverySystemType + { get; set; } + + public string +jdMediaUserId + { get; set; } + + public override string ApiName + { + get { return "jingdong.ads.ibg.UniversalJosService.order.query"; } + } + protected override void PrepareParam(IDictionary parameters) + { + parameters.Add("clickStartDay", this.clickStartDay +); + parameters.Add("orderType", this.orderType +); + parameters.Add("orderStartDay", this.orderStartDay +); + parameters.Add("orderStatus", this.orderStatus +); + parameters.Add("pageSize", this.pageSize +); + parameters.Add("platform", this.platform +); + parameters.Add("adGroupId", this.adGroupId +); + parameters.Add("paymentType", this.paymentType +); + parameters.Add("activityId", this.activityId +); + parameters.Add("mediaGroupId", this.mediaGroupId ); - parameters.Add("posPackageId", this. posPackageId + parameters.Add("province", this.province ); - parameters.Add("page", this. page + parameters.Add("clickOrOrderDay", this.clickOrOrderDay ); - parameters.Add("startDay", this. startDay + parameters.Add("clickOrOrderCaliber", this.clickOrOrderCaliber ); - parameters.Add("endDay", this. endDay + parameters.Add("orderEndDay", this.orderEndDay ); - parameters.Add("myself", this. myself + parameters.Add("clickEndDay", this.clickEndDay ); - parameters.Add("businessType", this. businessType + parameters.Add("giftFlag", this.giftFlag ); - parameters.Add("accessPin", this. accessPin + parameters.Add("campaignId", this.campaignId ); - parameters.Add("authType", this. authType + parameters.Add("deliveryType", this.deliveryType ); - parameters.Add("deliverySystemType", this. deliverySystemType + parameters.Add("mediaType", this.mediaType ); - parameters.Add("jdMediaUserId", this. jdMediaUserId + parameters.Add("impressionOrClickEffect", this.impressionOrClickEffect ); - } + parameters.Add("posPackageId", this.posPackageId +); + parameters.Add("page", this.page +); + parameters.Add("startDay", this.startDay +); + parameters.Add("endDay", this.endDay +); + parameters.Add("myself", this.myself +); + parameters.Add("businessType", this.businessType +); + parameters.Add("accessPin", this.accessPin +); + parameters.Add("authType", this.authType +); + parameters.Add("deliverySystemType", this.deliverySystemType +); + parameters.Add("jdMediaUserId", this.jdMediaUserId +); + } } } @@ -200,6 +200,6 @@ namespace Jd.Api.Request - - + + diff --git a/BBWY.JDSDK/Request/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest.cs b/BBWY.JDSDK/Request/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest.cs new file mode 100644 index 00000000..66b62670 --- /dev/null +++ b/BBWY.JDSDK/Request/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest.cs @@ -0,0 +1,21 @@ +using BBWY.JDSDK.Response; +using Jd.Api; +using System.Collections.Generic; + +namespace BBWY.JDSDK.Request +{ + public class SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest : JdRequestBase + { + public override string ApiName => "jingdong.seller.delivery.SendPromiseTemplateJsfService.querySendTemplateByCategory"; + + public int categoryId { get; set; } + + public bool dzSku { get; set; } + + protected override void PrepareParam(IDictionary paramters) + { + paramters.Add("categoryId", this.categoryId); + paramters.Add("dzSku", this.dzSku); + } + } +} diff --git a/BBWY.JDSDK/Response/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryResponse.cs b/BBWY.JDSDK/Response/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryResponse.cs new file mode 100644 index 00000000..aa9eaabf --- /dev/null +++ b/BBWY.JDSDK/Response/SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryResponse.cs @@ -0,0 +1,11 @@ +using Jd.Api; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.JDSDK.Response +{ + public class SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryResponse: JdResponse + { + } +} diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index 5ef4b0a0..a5f0929c 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -1,5 +1,6 @@ using BBWY.Common.Extensions; using BBWY.Common.Models; +using BBWY.JDSDK.Request; using BBWY.Server.Model; using BBWY.Server.Model.Dto; using Jd.ACES; @@ -1071,8 +1072,32 @@ namespace BBWY.Server.Business (string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg); if (errorMsg.Contains("此类目发货时效必填")) { + int? promiseId = null; + #region 查询时效模板 + { + var shixiaoReq = new SellerDeliverySendPromiseTemplateJsfServiceQuerySendTemplateByCategoryRequest(); + shixiaoReq.categoryId = int.Parse(request.MainProductCategoryId); + shixiaoReq.dzSku = true; + var shixiaoRes = jdClient.Execute(shixiaoReq, request.AppToken, DateTime.Now.ToLocalTime()); + if (shixiaoRes.IsError) + { + RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, null, request.MainProductSpu, request.FullTitle, brandName, false); + throw new BusinessException($"查询时效模板失败-{(string.IsNullOrEmpty(shixiaoRes.ErrorMsg) ? shixiaoRes.ErrMsg : shixiaoRes.ErrorMsg)}"); + } + if (shixiaoRes.Json == null) + shixiaoRes.Json = JObject.Parse(shixiaoRes.Body); + var shixiaoJToken = shixiaoRes.Json["jingdong_seller_delivery_SendPromiseTemplateJsfService_querySendTemplateByCategory_responce"]["returnType"]["bizResponse"]["promiseTemplateDtoList"].Children().FirstOrDefault(); + if (shixiaoJToken == null) + { + RollBackWhenStartPromotionError(request.AppKey, request.AppSecret, request.AppToken, null, request.MainProductSpu, request.FullTitle, brandName, false); + throw new BusinessException($"查询时效模板失败-未查询到时效模板"); + } + promiseId = shixiaoJToken.Value("templateId"); + } + #endregion + foreach (var skuParam in req.skus) - skuParam.promiseId = 30603710; + skuParam.promiseId = promiseId; res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); if (res.IsError) { From c52d80db2640eebf0f07fdaf1d637d193689b82f Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sun, 10 Sep 2023 10:09:26 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BatchPurchase/BatchPurchaseBusiness.cs | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs index 7e4cdc4b..cf016e71 100644 --- a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs @@ -1047,27 +1047,29 @@ namespace BBWY.Server.Business var platformSDKBusiness = platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform); var payOrderResponse = platformSDKBusiness.CancelPurchaseOrder(request); - if (payOrderResponse.Success)//取消成功 + if (!payOrderResponse.Success)//取消成功 { - //var order = fsql.Select().Where(p => p.Id == request.OrderId).ToOne(); - fsql.Update(request.OrderId) - .Set(po => po.OrderState, Enums.PurchaseOrderState.已取消) - .ExecuteAffrows(); - try - { - var qikuResponse = restApiService.SendRequest("http://qiku.qiyue666.com/", - $"/api/PackPurchaseTask/CancelOrderPackTask?orderId={request.OrderId}", - null, - null, - HttpMethod.Post); - if (qikuResponse.StatusCode != System.Net.HttpStatusCode.OK) - throw new Exception(qikuResponse.Content); - } - catch (Exception ex) - { - nLogManager.GetLogger($"取消打包任务-{request.OrderId}").Error(ex, JsonConvert.SerializeObject(request)); - } + if (!payOrderResponse.Msg.Contains("订单已删除")) + throw new BusinessException(payOrderResponse.Msg); + } + //var order = fsql.Select().Where(p => p.Id == request.OrderId).ToOne(); + fsql.Update(request.OrderId) + .Set(po => po.OrderState, Enums.PurchaseOrderState.已取消) + .ExecuteAffrows(); + try + { + var qikuResponse = restApiService.SendRequest("http://qiku.qiyue666.com/", + $"/api/PackPurchaseTask/CancelOrderPackTask?orderId={request.OrderId}", + null, + null, + HttpMethod.Post); + if (qikuResponse.StatusCode != System.Net.HttpStatusCode.OK) + throw new Exception(qikuResponse.Content); + } + catch (Exception ex) + { + nLogManager.GetLogger($"取消打包任务-{request.OrderId}").Error(ex, JsonConvert.SerializeObject(request)); } } From 30b32aa5ad52c3852a7ddf35038269ef49c039f6 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 12 Sep 2023 14:51:00 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E5=BB=B6=E9=95=BF60s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EvaluationAssistant/EvaluationAssistantBusiness.cs | 2 +- BBWY.Server.Business/PlatformSDK/JDBusiness.cs | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs index 01c1a1bf..0e100438 100644 --- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs +++ b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs @@ -654,7 +654,7 @@ namespace BBWY.Server.Business MainProductSpu = promotionTask.MainProductSpu, HaveGiftTemplate = promotionTask.GiftTemplateId != null && promotionTask.GiftTemplateId != 0, DeleteGiftSkuList = startResponse.DeleteGiftSkuList - }, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 150); + }, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 300); var errorBack = new Action((id, errorMsg) => { diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index a5f0929c..8b3effa0 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -968,6 +968,9 @@ namespace BBWY.Server.Business var response = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime()); if (response.Json == null) response.Json = JObject.Parse(response.Body); + + nLogManager.Default().Info($"获取销售属性 任务Id {request.Id} 返回内容 {response.Body} 模板sku数量 {request.GiftTemplateSkuList.Count()}"); + var colorProperty = response.Json["jingdong_category_read_findAttrsByCategoryIdUnlimitCate_responce"]["findattrsbycategoryidunlimitcate_result"].FirstOrDefault(j => j["attrValueList"] != null && j["attrValueList"].Count() > 0); if (colorProperty == null) { @@ -1289,7 +1292,7 @@ namespace BBWY.Server.Business public override void StartJDPromotionDelayTask(StartPromotionTaskDelayRequest request) { - Thread.Sleep(30 * 1000); + Thread.Sleep(60 * 1000); try { CheckJDPromotionTask(request.JDPromotionId, request.AppKey, request.AppSecret, request.AppToken);