From 91ede8071032462bdef78e306dc346ca8c55320e Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 5 Sep 2023 11:24:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=95=86=E5=93=81=E5=A4=B1?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseProductAPIService.cs | 26 +++++++++++++++++++ .../PurchaseScheme/PurchaseSchemeBusiness.cs | 3 ++- .../PurchaseProductBasicInfoResponse.cs | 5 ++++ .../PurchaseSchemeProductResponse.cs | 5 ++++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs index fcff95a..927269e 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs @@ -152,6 +152,20 @@ namespace BBWYB.Server.Business APIMode = Enums.PurchaseProductAPIMode.OneBound }; } + else if (jobject.Value("error_code") == "2000") + { + return new PurchaseSkuBasicInfoResponse() + { + IsInvalid = true, + APIMode = request.FirstApiMode, + PurchaseProductId = request.PurchaseProductId, + PurchasePlatform = request.Platform + }; + } + else + { + return null; + } } catch { } { @@ -210,7 +224,19 @@ namespace BBWYB.Server.Business var match = Regex.Match(_1688pageResult.Content, @"(window\.__INIT_DATA=)(.*)(\r*\n*\s*)"); if (!match.Success) + { + if (_1688pageResult.Content.Contains("商品已下架")) + { + return new PurchaseSkuBasicInfoResponse() + { + IsInvalid = true, + PurchasePlatform = request.Platform, + APIMode = request.FirstApiMode, + PurchaseProductId = request.PurchaseProductId + }; + } return null; + } var jsonStr = match.Groups[2].Value; var jobject = JObject.Parse(jsonStr); diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 286dd05..7b24d65 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -626,7 +626,7 @@ namespace BBWYB.Server.Business Platform = schemeProduct.PurchasePlatform ?? Enums.Platform.阿里巴巴, PurchaseProductId = schemeProduct.PurchaseProductId }); - if (basicInfo != null) + if (basicInfo != null && !basicInfo.IsInvalid) { schemeProduct.PurchaseProductLogo = basicInfo.ProductLogo; schemeProduct.PurchaseProductName = basicInfo.ProductName; @@ -644,6 +644,7 @@ namespace BBWYB.Server.Business } } } + schemeProduct.IsInvalid = (basicInfo == null || basicInfo.IsInvalid) ? 1 : 0; } catch { diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs index 28d0738..3d0cacc 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs @@ -26,6 +26,11 @@ namespace BBWYB.Server.Model.Dto public Purchaser Purchaser { get; set; } public Enums.PurchaseProductAPIMode APIMode { get; set; } + + /// + /// 是否失效 + /// + public bool IsInvalid { get; set; } } /// diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs index 7010514..a1033c5 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs @@ -24,6 +24,11 @@ public new List PurchaseSchemeProductSkuList { get; set; } + /// + /// 是否失效 失效=1 下架或无权都视为失效 其余情况默认为有效 仅在查询条件IncludePurchaseSkuBasicInfo=1时具备该值 + /// + public int? IsInvalid { get; set; } + public PurchaseSchemeProductResponse() { PurchaseSchemeProductSkuList = new List();