From e28a87067f637ece561f265a0f1538c7918e4c33 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 28 Feb 2023 02:56:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85=E6=8B=B3=E6=8E=A2=E6=8A=A5?= =?UTF-8?q?=E4=BB=B7=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OnlinePurchase/PreviewOrderResponse.cs | 5 ++ .../Purchase/1688PreviewPurchaseViewModel.cs | 6 ++ .../BBWY.Server.Business.csproj | 1 + .../PlatformSDK/QuanTanBusiness.cs | 58 +++++++++++++++++++ .../PurchaseOrder/PurchaseOrderBusiness.cs | 2 - QuanTan.SDK/Client/BaseClient.cs | 1 - .../Order/QuanTanPreviewOrderRequest.cs | 2 +- QuanTan.SDK/QuanTan.SDK.csproj | 3 +- 8 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs diff --git a/BBWY.Client/Models/APIModel/Response/PurchaseOrder/OnlinePurchase/PreviewOrderResponse.cs b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/OnlinePurchase/PreviewOrderResponse.cs index 845a2611..5ae41827 100644 --- a/BBWY.Client/Models/APIModel/Response/PurchaseOrder/OnlinePurchase/PreviewOrderResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/OnlinePurchase/PreviewOrderResponse.cs @@ -21,5 +21,10 @@ /// 交易方式 /// public OrderTradeTypeResponse OrderTradeType { get; set; } + + /// + /// 扩展数据 + /// + public string Extensions { get; set; } } } diff --git a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs index f2c1d4ff..d7026e40 100644 --- a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs +++ b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs @@ -71,6 +71,10 @@ namespace BBWY.Client.ViewModels private string prucahseRemark; private PurchaseOrderMode purchaseOrderMode = PurchaseOrderMode.代发; private string tradeMode; + /// + /// 扩展数据,暂用于拳探 + /// + private string extensions; public _1688PreviewPurchaseViewModel(OneBoundAPIService oneBoundAPIService, PurchaseService purchaseService, @@ -159,6 +163,7 @@ namespace BBWY.Client.ViewModels purchaseSchemeList.Clear(); PurchaseSchemeProductSkuList.Clear(); tradeMode = string.Empty; + extensions = string.Empty; ProductAmount = FreightAmount = TotalAmount = 0; ContactName = Address = Mobile = Province = City = County = Town = PrucahseRemark = string.Empty; } @@ -245,6 +250,7 @@ namespace BBWY.Client.ViewModels FreightAmount = r.Data.FreightAmount; TotalAmount = r.Data.TotalAmount; tradeMode = r.Data.OrderTradeType?.Code; + extensions = r.Data.Extensions; }); } diff --git a/BBWY.Server.Business/BBWY.Server.Business.csproj b/BBWY.Server.Business/BBWY.Server.Business.csproj index 58ecf8d7..842fec8b 100644 --- a/BBWY.Server.Business/BBWY.Server.Business.csproj +++ b/BBWY.Server.Business/BBWY.Server.Business.csproj @@ -25,6 +25,7 @@ + diff --git a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs new file mode 100644 index 00000000..91b269e8 --- /dev/null +++ b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs @@ -0,0 +1,58 @@ +using BBWY.Common.Http; +using BBWY.Common.Models; +using BBWY.Server.Model; +using BBWY.Server.Model.Dto; +using Microsoft.Extensions.Caching.Memory; +using QuanTan.SDK.Client; +using QuanTan.SDK.Model; +using System.Linq; +namespace BBWY.Server.Business +{ + public class QuanTanBusiness : PlatformSDKBusiness + { + public override Enums.Platform Platform => Enums.Platform.拳探; + private QuanTanOrderClient quanTanOrderClient; + + public QuanTanBusiness(IMemoryCache memoryCache, NLogManager nLogManager, RestApiService restApiService) : base(memoryCache, nLogManager) + { + this.quanTanOrderClient = new QuanTanOrderClient(restApiService); + } + + public override PreviewOrderResponse PreviewOrder(PreviewOrderReuqest previewOrderReuqest) + { + var quantanPreviewOrderRequest = new QuanTanPreviewOrderRequest() + { + userAccount = previewOrderReuqest.AppToken, + receipt = new QuanTanPreviewOrderReceipt() + { + province = previewOrderReuqest.Consignee.Province, + city = previewOrderReuqest.Consignee.City, + area = previewOrderReuqest.Consignee.County, + town = previewOrderReuqest.Consignee.Town, + address = previewOrderReuqest.Consignee.Address, + phone = previewOrderReuqest.Consignee.Mobile, + realName = previewOrderReuqest.Consignee.ContactName + }, + buyInfo = previewOrderReuqest.CargoParamList.Select(p => new QuanTanPreviewOrderProduct() + { + productId = p.ProductId, + productSku = p.SkuId, + quantity = p.Quantity + }).ToList() + }; + + var qtResponse = quanTanOrderClient.PreviewOrder(quantanPreviewOrderRequest, previewOrderReuqest.AppKey, previewOrderReuqest.AppSecret); + if (qtResponse.Status != 200) + throw new BusinessException(qtResponse.Message); + + return new PreviewOrderResponse() + { + TotalAmount = qtResponse.Data.TotalPrice, + FreightAmount = qtResponse.Data.PostagePrice, + ProductAmount = qtResponse.Data.ProductPrice, + Extensions = qtResponse.Data.CartIds + //OrderTradeType= new OrderTradeTypeResponse() + }; + } + } +} diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index fc0ae0e3..ed3392f9 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -119,8 +119,6 @@ namespace BBWY.Server.Business public PreviewOrderResponse PreviewPurchaseOrder(PreviewOrderReuqest previewOrderReuqest) { - if (previewOrderReuqest.Platform != Model.Enums.Platform.阿里巴巴) - throw new NotImplementedException(); return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest); } diff --git a/QuanTan.SDK/Client/BaseClient.cs b/QuanTan.SDK/Client/BaseClient.cs index 5832ab9c..528dc052 100644 --- a/QuanTan.SDK/Client/BaseClient.cs +++ b/QuanTan.SDK/Client/BaseClient.cs @@ -2,7 +2,6 @@ using Newtonsoft.Json; using QuanTan.SDK.Extensions; using QuanTan.SDK.Model; -using QuanTan.SDK.Model; using System; using System.Net.Http; diff --git a/QuanTan.SDK/Model/Request/Order/QuanTanPreviewOrderRequest.cs b/QuanTan.SDK/Model/Request/Order/QuanTanPreviewOrderRequest.cs index 97410a19..94aa29b6 100644 --- a/QuanTan.SDK/Model/Request/Order/QuanTanPreviewOrderRequest.cs +++ b/QuanTan.SDK/Model/Request/Order/QuanTanPreviewOrderRequest.cs @@ -28,7 +28,7 @@ namespace QuanTan.SDK.Model public string city { get; set; } - public int area { get; set; } + public string area { get; set; } public string town { get; set; } diff --git a/QuanTan.SDK/QuanTan.SDK.csproj b/QuanTan.SDK/QuanTan.SDK.csproj index a5ff008a..fa845a9f 100644 --- a/QuanTan.SDK/QuanTan.SDK.csproj +++ b/QuanTan.SDK/QuanTan.SDK.csproj @@ -1,8 +1,9 @@ - netstandard2.1 + netstandard2.0 enable + 8.0