From 5477462be12f2859cb5ff72d72dcfb04be197435 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 28 Feb 2023 12:13:17 +0800 Subject: [PATCH] 1 --- .../PlatformSDK/QuanTanBusiness.cs | 37 +++++++++++++++++++ .../PurchaseOrder/PurchaseOrderBusiness.cs | 4 +- QuanTan.SDK/Client/QuanTanOrderClient.cs | 5 +++ .../Order/QuanTanCreateOrderRequest.cs | 16 ++++++++ .../Request/Order/QuanTanGetOrderRequest.cs | 11 ++++++ .../Order/QuanTanCreateOrderResponse.cs | 13 +++++++ 6 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 QuanTan.SDK/Model/Request/Order/QuanTanCreateOrderRequest.cs create mode 100644 QuanTan.SDK/Model/Request/Order/QuanTanGetOrderRequest.cs create mode 100644 QuanTan.SDK/Model/Response/Order/QuanTanCreateOrderResponse.cs diff --git a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs index 91b269e8..7a985d43 100644 --- a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs @@ -5,6 +5,7 @@ using BBWY.Server.Model.Dto; using Microsoft.Extensions.Caching.Memory; using QuanTan.SDK.Client; using QuanTan.SDK.Model; +using System.Collections.Generic; using System.Linq; namespace BBWY.Server.Business { @@ -54,5 +55,41 @@ namespace BBWY.Server.Business //OrderTradeType= new OrderTradeTypeResponse() }; } + + public override CreateOnlinePurchaseOrderResponse FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) + { + var quantanCreateOrderRequest = new QuanTanCreateOrderRequest() + { + clientOrderId = createOnlinePurchaseOrderRequest.OrderId, + userAccount = createOnlinePurchaseOrderRequest.AppToken, + cartIds = createOnlinePurchaseOrderRequest.Extensions, + receipt = new QuanTanCreateOrderReceipt() + { + province = createOnlinePurchaseOrderRequest.Consignee.Province, + city = createOnlinePurchaseOrderRequest.Consignee.City, + area = createOnlinePurchaseOrderRequest.Consignee.County, + town = createOnlinePurchaseOrderRequest.Consignee.Town, + address = createOnlinePurchaseOrderRequest.Consignee.Address, + phone = createOnlinePurchaseOrderRequest.Consignee.Mobile, + realName = createOnlinePurchaseOrderRequest.Consignee.ContactName + } + }; + var qtResponse = quanTanOrderClient.CreateOrder(quantanCreateOrderRequest, createOnlinePurchaseOrderRequest.AppKey, createOnlinePurchaseOrderRequest.AppSecret); + if (qtResponse.Status != 200) + throw new BusinessException(qtResponse.Message); + + var payStatus = !string.IsNullOrEmpty(qtResponse.Data.PayStatus) ? qtResponse.Data.PayStatus.ToLower() : string.Empty; + if (payStatus != "success") + throw new BusinessException($"拳探账户余额不足,支付失败,请前往拳探进行手动支付"); + return new CreateOnlinePurchaseOrderResponse() + { + PurchaseOrderId = qtResponse.Data.OrderId + }; + } + + public override OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest) + { + return base.GetOrderSimpleInfo(getOrderInfoRequest); + } } } diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index ed3392f9..55ee5a21 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -126,8 +126,8 @@ namespace BBWY.Server.Business { if (createOnlinePurchaseOrderRequest.PlatformCommissionRatio == 0M) createOnlinePurchaseOrderRequest.PlatformCommissionRatio = 0.05M; - if (createOnlinePurchaseOrderRequest.Platform != Enums.Platform.阿里巴巴) - throw new NotImplementedException(); + //if (createOnlinePurchaseOrderRequest.Platform != Enums.Platform.阿里巴巴) + // throw new NotImplementedException(); var dbOrder = fsql.Select(createOnlinePurchaseOrderRequest.OrderId).ToOne(); if (dbOrder == null) throw new BusinessException("订单不存在"); diff --git a/QuanTan.SDK/Client/QuanTanOrderClient.cs b/QuanTan.SDK/Client/QuanTanOrderClient.cs index 5eb47822..45b770c7 100644 --- a/QuanTan.SDK/Client/QuanTanOrderClient.cs +++ b/QuanTan.SDK/Client/QuanTanOrderClient.cs @@ -20,5 +20,10 @@ namespace QuanTan.SDK.Client { return SendRequest("api/platform/cart/add", request, appId, appSecret); } + + public QuanTanResponse CreateOrder(QuanTanCreateOrderRequest request, string appId, string appSecret) + { + return SendRequest("api/platform/order/add", request, appId, appSecret); + } } } diff --git a/QuanTan.SDK/Model/Request/Order/QuanTanCreateOrderRequest.cs b/QuanTan.SDK/Model/Request/Order/QuanTanCreateOrderRequest.cs new file mode 100644 index 00000000..19295caf --- /dev/null +++ b/QuanTan.SDK/Model/Request/Order/QuanTanCreateOrderRequest.cs @@ -0,0 +1,16 @@ +namespace QuanTan.SDK.Model +{ + public class QuanTanCreateOrderRequest + { + public string clientOrderId { get; set; } + + public string userAccount { get; set; } + + public string cartIds { get; set; } + + public QuanTanCreateOrderReceipt receipt { get; set; } + } + + public class QuanTanCreateOrderReceipt : QuanTanPreviewOrderReceipt + { } +} diff --git a/QuanTan.SDK/Model/Request/Order/QuanTanGetOrderRequest.cs b/QuanTan.SDK/Model/Request/Order/QuanTanGetOrderRequest.cs new file mode 100644 index 00000000..263a7dce --- /dev/null +++ b/QuanTan.SDK/Model/Request/Order/QuanTanGetOrderRequest.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace QuanTan.SDK.Model +{ + public class QuanTanGetOrderRequest + { + + } +} diff --git a/QuanTan.SDK/Model/Response/Order/QuanTanCreateOrderResponse.cs b/QuanTan.SDK/Model/Response/Order/QuanTanCreateOrderResponse.cs new file mode 100644 index 00000000..64900767 --- /dev/null +++ b/QuanTan.SDK/Model/Response/Order/QuanTanCreateOrderResponse.cs @@ -0,0 +1,13 @@ +namespace QuanTan.SDK.Model +{ + public class QuanTanCreateOrderResponse + { + public string OrderId { get; set; } + + public string OrderSn { get; set; } + + public string GroupOrderId { get; set; } + + public string PayStatus { get; set; } + } +}