shanji 2 years ago
parent
commit
5477462be1
  1. 37
      BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs
  2. 4
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  3. 5
      QuanTan.SDK/Client/QuanTanOrderClient.cs
  4. 16
      QuanTan.SDK/Model/Request/Order/QuanTanCreateOrderRequest.cs
  5. 11
      QuanTan.SDK/Model/Request/Order/QuanTanGetOrderRequest.cs
  6. 13
      QuanTan.SDK/Model/Response/Order/QuanTanCreateOrderResponse.cs

37
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);
}
}
}

4
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<Order>(createOnlinePurchaseOrderRequest.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException("订单不存在");

5
QuanTan.SDK/Client/QuanTanOrderClient.cs

@ -20,5 +20,10 @@ namespace QuanTan.SDK.Client
{
return SendRequest<QuanTanPreviewOrderResponse>("api/platform/cart/add", request, appId, appSecret);
}
public QuanTanResponse<QuanTanCreateOrderResponse> CreateOrder(QuanTanCreateOrderRequest request, string appId, string appSecret)
{
return SendRequest<QuanTanCreateOrderResponse>("api/platform/order/add", request, appId, appSecret);
}
}
}

16
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
{ }
}

11
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
{
}
}

13
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; }
}
}
Loading…
Cancel
Save