diff --git a/BBWY.Server.API/Controllers/PurchaseSchemeController.cs b/BBWY.Server.API/Controllers/PurchaseSchemeController.cs index a6bb132a..80ea4cd7 100644 --- a/BBWY.Server.API/Controllers/PurchaseSchemeController.cs +++ b/BBWY.Server.API/Controllers/PurchaseSchemeController.cs @@ -9,7 +9,7 @@ using System.Collections.Generic; namespace BBWY.Server.API.Controllers { - [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] + //[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] public class PurchaseSchemeController : BaseApiController { private PurchaseSchemeBusiness purchaseSchemeBusiness; diff --git a/BBWY.Server.API/Startup.cs b/BBWY.Server.API/Startup.cs index d136e508..97d916ca 100644 --- a/BBWY.Server.API/Startup.cs +++ b/BBWY.Server.API/Startup.cs @@ -13,6 +13,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; using Microsoft.OpenApi.Models; using Newtonsoft.Json.Serialization; +using QuanTan.SDK.Client; using System; using System.IO; using System.Linq; @@ -83,6 +84,10 @@ namespace BBWY.Server.API services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + + #region 注册拳探SDK相关类 + services.AddSingleton(); + #endregion //var stores = Configuration.GetSection("Stores").Get>(); services.Configure(Configuration.GetSection("GlobalSetting")); diff --git a/BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs b/BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs index e7d7f956..c7cbf65b 100644 --- a/BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs +++ b/BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs @@ -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 _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 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; + } + } } } diff --git a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 8c89b5d9..5e30e3d8 100644 --- a/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -320,7 +320,8 @@ namespace BBWY.Server.Business PurchasePlatform = Enums.Platform.鎷虫帰, PurchaserId = request.PurchaserId }); - IList updateSkuIdList = new List(); + var qtPurchaserList = fsql.Select().Where(p => p.Platform == Enums.Platform.鎷虫帰).ToList(); + IList updateSkuChangeInfoList = new List(); IList> updatePurchaseSchemeList = new List>(); foreach (var purchaseScheme in purchaseSchemeList) { @@ -346,7 +347,9 @@ namespace BBWY.Server.Business { var update = fsql.Update(purchaseScheme.Id).Set(ps => ps.PurchaserId, p.Id); updatePurchaseSchemeList.Add(update); - updateSkuIdList.Add(purchaseScheme.SkuId); + + var oldPurchasr = qtPurchaserList.FirstOrDefault(op => op.Id == purchaseScheme.PurchaserId); + updateSkuChangeInfoList.Add($"{purchaseScheme.SkuId} -> {oldPurchasr?.Name} -> {p.Name}"); } } @@ -358,7 +361,7 @@ namespace BBWY.Server.Business update.ExecuteAffrows(); }); } - return updateSkuIdList; + return updateSkuChangeInfoList; } } }