Browse Source

修复拳探采购方案错误的采购商

AddValidOverTime
shanji 2 years ago
parent
commit
90a84fb12a
  1. 2
      BBWY.Server.API/Controllers/PurchaseSchemeController.cs
  2. 5
      BBWY.Server.API/Startup.cs
  3. 74
      BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs
  4. 9
      BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

2
BBWY.Server.API/Controllers/PurchaseSchemeController.cs

@ -9,7 +9,7 @@ using System.Collections.Generic;
namespace BBWY.Server.API.Controllers namespace BBWY.Server.API.Controllers
{ {
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] //[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public class PurchaseSchemeController : BaseApiController public class PurchaseSchemeController : BaseApiController
{ {
private PurchaseSchemeBusiness purchaseSchemeBusiness; private PurchaseSchemeBusiness purchaseSchemeBusiness;

5
BBWY.Server.API/Startup.cs

@ -13,6 +13,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using Newtonsoft.Json.Serialization; using Newtonsoft.Json.Serialization;
using QuanTan.SDK.Client;
using System; using System;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -83,6 +84,10 @@ namespace BBWY.Server.API
services.AddSingleton<PlatformSDKBusiness, JDBusiness>(); services.AddSingleton<PlatformSDKBusiness, JDBusiness>();
services.AddSingleton<PlatformSDKBusiness, _1688Business>(); services.AddSingleton<PlatformSDKBusiness, _1688Business>();
services.AddSingleton<PlatformSDKBusiness, QuanTanBusiness>(); services.AddSingleton<PlatformSDKBusiness, QuanTanBusiness>();
#region 注册拳探SDK相关类
services.AddSingleton<QuanTanProductClient>();
#endregion
//var stores = Configuration.GetSection("Stores").Get<IList<Store>>(); //var stores = Configuration.GetSection("Stores").Get<IList<Store>>();
services.Configure<GlobalConfig>(Configuration.GetSection("GlobalSetting")); services.Configure<GlobalConfig>(Configuration.GetSection("GlobalSetting"));

74
BBWY.Server.Business/PurchaseScheme/PurchaseProductAPIService.cs

@ -6,6 +6,7 @@ using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto; using BBWY.Server.Model.Dto;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using QuanTan.SDK.Client;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -21,8 +22,8 @@ namespace BBWY.Server.Business
private string oneBoundKey = "t5060712539"; private string oneBoundKey = "t5060712539";
private string oneBoundSecret = "20211103"; private string oneBoundSecret = "20211103";
//private string qtAppId = "BBWY2023022001"; private string qtAppId = "BBWY2023022001";
//private string qtAppSecret = "908e131365d5448ca651ba20ed7ddefe"; private string qtAppSecret = "908e131365d5448ca651ba20ed7ddefe";
private TimeSpan purchaseProductCacheTimeSpan; private TimeSpan purchaseProductCacheTimeSpan;
//private TimeSpan _1688SessionIdTimeSpan; //private TimeSpan _1688SessionIdTimeSpan;
@ -31,8 +32,9 @@ namespace BBWY.Server.Business
private IDictionary<string, string> _1688ProductDetailRequestHeader; private IDictionary<string, string> _1688ProductDetailRequestHeader;
private char[] skuPropertiesSplitChar = new char[] { ';' }; 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.memoryCache = memoryCache;
this.restApiService = restApiService; 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"} { "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); purchaseProductCacheTimeSpan = TimeSpan.FromDays(1);
this.quanTanProductClient = quanTanProductClient;
} }
public PurchaseSkuBasicInfoResponse GetProductInfo(PurchaseSkuBasicInfoRequest request) public PurchaseSkuBasicInfoResponse GetProductInfo(PurchaseSkuBasicInfoRequest request)
@ -163,8 +166,8 @@ namespace BBWY.Server.Business
{ {
case Enums.Platform.: case Enums.Platform.:
return LoadFrom1688Spider(request); return LoadFrom1688Spider(request);
//case Platform.拳探: case Enums.Platform.:
// return LoadFromQTSpider(platform, productId, skuId, purchaseProductId, priceMode); return LoadFromQTSpider(request);
} }
return null; 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) private PurchaseSkuBasicInfoResponse LoadFromQTSpider(PurchaseSkuBasicInfoRequest request)
//{ {
// try try
// { {
// var response = quanTanProductClient.GetProductInfo(purchaseProductId, qtAppId, qtAppSecret); var response = quanTanProductClient.GetProductInfo(request.PurchaseProductId, qtAppId, qtAppSecret);
// if (response.Status != 200) if (response.Status != 200)
// return null; return null;
// return (new Purchaser() return new PurchaseSkuBasicInfoResponse()
// { {
// Id = response.Data.Supplier.VenderId, Purchaser = new Purchaser()
// Name = response.Data.Supplier.VerdenName, {
// Location = response.Data.Supplier.Location Id = response.Data.Supplier.VenderId,
// }, response.Data.ProductSku.Select(qtsku => new PurchaseSchemeProductSku() Name = response.Data.Supplier.VerdenName,
// { Location = response.Data.Supplier.Location
// ProductId = productId, },
// SkuId = skuId, PurchaseProductId = request.PurchaseProductId,
// PurchaseProductId = purchaseProductId, PurchasePlatform = Enums.Platform.,
// Price = qtsku.Price, ItemList = response.Data.ProductSku.Select(s => new PurchaseSkuItemBasicInfoResponse()
// Title = qtsku.Title, {
// PurchaseSkuId = qtsku.SkuId, Logo = s.Logo,
// PurchaseSkuSpecId = string.Empty, Price = s.Price,
// Logo = qtsku.Logo PurchaseProductId = s.ProductId,
// }).ToList()); PurchaseSkuId = s.SkuId,
// } Title = s.Title
// catch }).ToList()
// { };
// return null; }
// } catch
//} {
return null;
}
}
} }
} }

9
BBWY.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -320,7 +320,8 @@ namespace BBWY.Server.Business
PurchasePlatform = Enums.Platform., PurchasePlatform = Enums.Platform.,
PurchaserId = request.PurchaserId PurchaserId = request.PurchaserId
}); });
IList<string> updateSkuIdList = new List<string>(); var qtPurchaserList = fsql.Select<Purchaser>().Where(p => p.Platform == Enums.Platform.).ToList();
IList<string> updateSkuChangeInfoList = new List<string>();
IList<IUpdate<PurchaseScheme>> updatePurchaseSchemeList = new List<IUpdate<PurchaseScheme>>(); IList<IUpdate<PurchaseScheme>> updatePurchaseSchemeList = new List<IUpdate<PurchaseScheme>>();
foreach (var purchaseScheme in purchaseSchemeList) foreach (var purchaseScheme in purchaseSchemeList)
{ {
@ -346,7 +347,9 @@ namespace BBWY.Server.Business
{ {
var update = fsql.Update<PurchaseScheme>(purchaseScheme.Id).Set(ps => ps.PurchaserId, p.Id); var update = fsql.Update<PurchaseScheme>(purchaseScheme.Id).Set(ps => ps.PurchaserId, p.Id);
updatePurchaseSchemeList.Add(update); 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(); update.ExecuteAffrows();
}); });
} }
return updateSkuIdList; return updateSkuChangeInfoList;
} }
} }
} }

Loading…
Cancel
Save