|
|
@ -6,6 +6,7 @@ using BBWY.Server.Model.Db; |
|
|
|
using BBWY.Server.Model.Dto; |
|
|
|
using Microsoft.Extensions.Caching.Memory; |
|
|
|
using Newtonsoft.Json.Linq; |
|
|
|
using QuanTan.SDK.Client; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
@ -21,8 +22,8 @@ namespace BBWY.Server.Business |
|
|
|
private string oneBoundKey = "t5060712539"; |
|
|
|
private string oneBoundSecret = "20211103"; |
|
|
|
|
|
|
|
//private string qtAppId = "BBWY2023022001";
|
|
|
|
//private string qtAppSecret = "908e131365d5448ca651ba20ed7ddefe";
|
|
|
|
private string qtAppId = "BBWY2023022001"; |
|
|
|
private string qtAppSecret = "908e131365d5448ca651ba20ed7ddefe"; |
|
|
|
|
|
|
|
private TimeSpan purchaseProductCacheTimeSpan; |
|
|
|
//private TimeSpan _1688SessionIdTimeSpan;
|
|
|
@ -31,8 +32,9 @@ namespace BBWY.Server.Business |
|
|
|
|
|
|
|
private IDictionary<string, string> _1688ProductDetailRequestHeader; |
|
|
|
private char[] skuPropertiesSplitChar = new char[] { ';' }; |
|
|
|
private QuanTanProductClient quanTanProductClient; |
|
|
|
|
|
|
|
public PurchaseProductAPIService(RestApiService restApiService, IMemoryCache memoryCache) |
|
|
|
public PurchaseProductAPIService(RestApiService restApiService, IMemoryCache memoryCache, QuanTanProductClient quanTanProductClient) |
|
|
|
{ |
|
|
|
this.memoryCache = memoryCache; |
|
|
|
this.restApiService = restApiService; |
|
|
@ -45,6 +47,7 @@ namespace BBWY.Server.Business |
|
|
|
{ "Accept-Language","zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"} |
|
|
|
}; |
|
|
|
purchaseProductCacheTimeSpan = TimeSpan.FromDays(1); |
|
|
|
this.quanTanProductClient = quanTanProductClient; |
|
|
|
} |
|
|
|
|
|
|
|
public PurchaseSkuBasicInfoResponse GetProductInfo(PurchaseSkuBasicInfoRequest request) |
|
|
@ -163,8 +166,8 @@ namespace BBWY.Server.Business |
|
|
|
{ |
|
|
|
case Enums.Platform.阿里巴巴: |
|
|
|
return LoadFrom1688Spider(request); |
|
|
|
//case Platform.拳探:
|
|
|
|
// return LoadFromQTSpider(platform, productId, skuId, purchaseProductId, priceMode);
|
|
|
|
case Enums.Platform.拳探: |
|
|
|
return LoadFromQTSpider(request); |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
@ -262,34 +265,37 @@ namespace BBWY.Server.Business |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//private (Purchaser purchaser, IList<PurchaseSchemeProductSku> purchaseSchemeProductSkus)? LoadFromQTSpider(Platform platform, string productId, string skuId, string purchaseProductId, PurchaseOrderMode priceMode)
|
|
|
|
//{
|
|
|
|
// try
|
|
|
|
// {
|
|
|
|
// var response = quanTanProductClient.GetProductInfo(purchaseProductId, qtAppId, qtAppSecret);
|
|
|
|
// if (response.Status != 200)
|
|
|
|
// return null;
|
|
|
|
// return (new Purchaser()
|
|
|
|
// {
|
|
|
|
// Id = response.Data.Supplier.VenderId,
|
|
|
|
// Name = response.Data.Supplier.VerdenName,
|
|
|
|
// Location = response.Data.Supplier.Location
|
|
|
|
// }, response.Data.ProductSku.Select(qtsku => new PurchaseSchemeProductSku()
|
|
|
|
// {
|
|
|
|
// ProductId = productId,
|
|
|
|
// SkuId = skuId,
|
|
|
|
// PurchaseProductId = purchaseProductId,
|
|
|
|
// Price = qtsku.Price,
|
|
|
|
// Title = qtsku.Title,
|
|
|
|
// PurchaseSkuId = qtsku.SkuId,
|
|
|
|
// PurchaseSkuSpecId = string.Empty,
|
|
|
|
// Logo = qtsku.Logo
|
|
|
|
// }).ToList());
|
|
|
|
// }
|
|
|
|
// catch
|
|
|
|
// {
|
|
|
|
// return null;
|
|
|
|
// }
|
|
|
|
//}
|
|
|
|
private PurchaseSkuBasicInfoResponse LoadFromQTSpider(PurchaseSkuBasicInfoRequest request) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
var response = quanTanProductClient.GetProductInfo(request.PurchaseProductId, qtAppId, qtAppSecret); |
|
|
|
if (response.Status != 200) |
|
|
|
return null; |
|
|
|
return new PurchaseSkuBasicInfoResponse() |
|
|
|
{ |
|
|
|
Purchaser = new Purchaser() |
|
|
|
{ |
|
|
|
Id = response.Data.Supplier.VenderId, |
|
|
|
Name = response.Data.Supplier.VerdenName, |
|
|
|
Location = response.Data.Supplier.Location |
|
|
|
}, |
|
|
|
PurchaseProductId = request.PurchaseProductId, |
|
|
|
PurchasePlatform = Enums.Platform.拳探, |
|
|
|
ItemList = response.Data.ProductSku.Select(s => new PurchaseSkuItemBasicInfoResponse() |
|
|
|
{ |
|
|
|
Logo = s.Logo, |
|
|
|
Price = s.Price, |
|
|
|
PurchaseProductId = s.ProductId, |
|
|
|
PurchaseSkuId = s.SkuId, |
|
|
|
Title = s.Title |
|
|
|
}).ToList() |
|
|
|
}; |
|
|
|
} |
|
|
|
catch |
|
|
|
{ |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|