You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.4 KiB
58 lines
2.4 KiB
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()
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|