shanji 2 years ago
parent
commit
926e9b3d60
  1. 26
      BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs
  2. 3
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  3. 5
      BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs
  4. 5
      BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs

26
BBWYB.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs

@ -152,6 +152,20 @@ namespace BBWYB.Server.Business
APIMode = Enums.PurchaseProductAPIMode.OneBound APIMode = Enums.PurchaseProductAPIMode.OneBound
}; };
} }
else if (jobject.Value<string>("error_code") == "2000")
{
return new PurchaseSkuBasicInfoResponse()
{
IsInvalid = true,
APIMode = request.FirstApiMode,
PurchaseProductId = request.PurchaseProductId,
PurchasePlatform = request.Platform
};
}
else
{
return null;
}
} }
catch { } catch { }
{ {
@ -210,7 +224,19 @@ namespace BBWYB.Server.Business
var match = Regex.Match(_1688pageResult.Content, @"(window\.__INIT_DATA=)(.*)(\r*\n*\s*</script>)"); var match = Regex.Match(_1688pageResult.Content, @"(window\.__INIT_DATA=)(.*)(\r*\n*\s*</script>)");
if (!match.Success) if (!match.Success)
{
if (_1688pageResult.Content.Contains("商品已下架"))
{
return new PurchaseSkuBasicInfoResponse()
{
IsInvalid = true,
PurchasePlatform = request.Platform,
APIMode = request.FirstApiMode,
PurchaseProductId = request.PurchaseProductId
};
}
return null; return null;
}
var jsonStr = match.Groups[2].Value; var jsonStr = match.Groups[2].Value;
var jobject = JObject.Parse(jsonStr); var jobject = JObject.Parse(jsonStr);

3
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -623,7 +623,7 @@ namespace BBWYB.Server.Business
Platform = schemeProduct.PurchasePlatform ?? Enums.Platform., Platform = schemeProduct.PurchasePlatform ?? Enums.Platform.,
PurchaseProductId = schemeProduct.PurchaseProductId PurchaseProductId = schemeProduct.PurchaseProductId
}); });
if (basicInfo != null) if (basicInfo != null && !basicInfo.IsInvalid)
{ {
schemeProduct.PurchaseProductLogo = basicInfo.ProductLogo; schemeProduct.PurchaseProductLogo = basicInfo.ProductLogo;
schemeProduct.PurchaseProductName = basicInfo.ProductName; schemeProduct.PurchaseProductName = basicInfo.ProductName;
@ -641,6 +641,7 @@ namespace BBWYB.Server.Business
} }
} }
} }
schemeProduct.IsInvalid = (basicInfo == null || basicInfo.IsInvalid) ? 1 : 0;
} }
catch catch
{ {

5
BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseProductBasicInfoResponse.cs

@ -26,6 +26,11 @@ namespace BBWYB.Server.Model.Dto
public Purchaser Purchaser { get; set; } public Purchaser Purchaser { get; set; }
public Enums.PurchaseProductAPIMode APIMode { get; set; } public Enums.PurchaseProductAPIMode APIMode { get; set; }
/// <summary>
/// 是否失效
/// </summary>
public bool IsInvalid { get; set; }
} }
/// <summary> /// <summary>

5
BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductResponse.cs

@ -24,6 +24,11 @@
public new List<PurchaseSchemeProductSkuResponse> PurchaseSchemeProductSkuList { get; set; } public new List<PurchaseSchemeProductSkuResponse> PurchaseSchemeProductSkuList { get; set; }
/// <summary>
/// 是否失效 失效=1 下架或无权都视为失效 其余情况默认为有效 仅在查询条件IncludePurchaseSkuBasicInfo=1时具备该值
/// </summary>
public int? IsInvalid { get; set; }
public PurchaseSchemeProductResponse() public PurchaseSchemeProductResponse()
{ {
PurchaseSchemeProductSkuList = new List<PurchaseSchemeProductSkuResponse>(); PurchaseSchemeProductSkuList = new List<PurchaseSchemeProductSkuResponse>();

Loading…
Cancel
Save