From 49202e42d07e877f21ea99a87fabb72a62101e02 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Thu, 24 Mar 2022 05:05:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E7=BB=91=E5=AE=9A=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E6=96=B9=E6=A1=88=E6=97=B6=E9=87=87=E8=B4=AD=E5=95=86?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E7=9A=84=E9=97=AE=E9=A2=98=202.=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B9=B3=E5=8F=B0=E7=AE=80=E5=8D=95=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ware/BindingPurchaseProductViewModel.cs | 2 + BBWY.Client/Views/Purchase/1688Purchase.xaml | 2 +- .../Controllers/PlatformSDKController.cs | 15 ++++- .../PlatformSDK/PlatformSDKBusiness.cs | 4 +- .../PlatformSDK/_1688Business.cs | 24 ++++++-- .../PurchaseOrder/PurchaseOrderBusiness.cs | 50 +++++++++++++--- .../OnlinePurchaseOrderSimpleResponse.cs | 59 +++++++++++++++++++ .../OnlinePurchase/OrderAmountResponse.cs | 25 -------- 8 files changed, 139 insertions(+), 42 deletions(-) create mode 100644 BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs delete mode 100644 BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs diff --git a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs index 61eb6f46..53a5d04f 100644 --- a/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs +++ b/BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs @@ -175,6 +175,8 @@ namespace BBWY.Client.ViewModels var jobject = response.Data; purchaserId = jobject["item"]["seller_info"].Value("user_num_id"); purchaserName = jobject["item"]["seller_info"].Value("title"); + if(string.IsNullOrEmpty(purchaserName)) + purchaserName = jobject["item"]["seller_info"].Value("shop_name"); purchaserLocation = jobject["item"].Value("location"); if (checkPurchaserFunc != null) { diff --git a/BBWY.Client/Views/Purchase/1688Purchase.xaml b/BBWY.Client/Views/Purchase/1688Purchase.xaml index 1defc6aa..80a1960f 100644 --- a/BBWY.Client/Views/Purchase/1688Purchase.xaml +++ b/BBWY.Client/Views/Purchase/1688Purchase.xaml @@ -88,7 +88,7 @@ Padding="3,5,0,0" TextWrapping="Wrap"/> - + diff --git a/BBWY.Server.API/Controllers/PlatformSDKController.cs b/BBWY.Server.API/Controllers/PlatformSDKController.cs index a48a7706..2598d376 100644 --- a/BBWY.Server.API/Controllers/PlatformSDKController.cs +++ b/BBWY.Server.API/Controllers/PlatformSDKController.cs @@ -126,7 +126,7 @@ namespace BBWY.Server.API.Controllers /// /// [HttpPost] - public void OutStock([FromBody]OutStockRequest outStockRequest) + public void OutStock([FromBody] OutStockRequest outStockRequest) { platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest); } @@ -137,9 +137,20 @@ namespace BBWY.Server.API.Controllers /// /// [HttpPost] - public PreviewOrderResponse PreviewOrder([FromBody]PreviewOrderReuqest previewOrderReuqest) + public PreviewOrderResponse PreviewOrder([FromBody] PreviewOrderReuqest previewOrderReuqest) { return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest); } + + /// + /// 获取订单简单信息 + /// + /// + /// + [HttpPost] + public OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo([FromBody] GetOrderInfoRequest getOrderInfoRequest) + { + return platformSDKBusinessList.FirstOrDefault(p => p.Platform == getOrderInfoRequest.Platform).GetOrderSimpleInfo(getOrderInfoRequest); + } } } diff --git a/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs b/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs index f3bbcffb..92ff17b7 100644 --- a/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs @@ -89,12 +89,12 @@ namespace BBWY.Server.Business } /// - /// 获取订单金额信息 + /// 获取订单简单信息 /// /// /// /// - public virtual OrderAmountResponse GetOrderAmountInfo(GetOrderInfoRequest getOrderInfoRequest) + public virtual OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest) { throw new NotImplementedException(); } diff --git a/BBWY.Server.Business/PlatformSDK/_1688Business.cs b/BBWY.Server.Business/PlatformSDK/_1688Business.cs index b8a26793..cf284494 100644 --- a/BBWY.Server.Business/PlatformSDK/_1688Business.cs +++ b/BBWY.Server.Business/PlatformSDK/_1688Business.cs @@ -234,11 +234,11 @@ namespace BBWY.Server.Business } /// - /// 获取订单金额 + /// 获取订单简单信息 /// /// /// - public override OrderAmountResponse GetOrderAmountInfo(GetOrderInfoRequest getOrderInfoRequest) + public override OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest) { var client = GetSyncAPIClient(getOrderInfoRequest.AppKey, getOrderInfoRequest.AppSecret); RequestPolicy reqPolicy = new RequestPolicy(); @@ -262,19 +262,33 @@ namespace BBWY.Server.Business { webSite = "1688", orderId = getOrderInfoRequest.OrderId, - includeFields = "baseInfo" + includeFields = "baseInfo,productItems" }; request.RequestEntity = param; if (!string.IsNullOrEmpty(getOrderInfoRequest.AppToken)) request.AccessToken = getOrderInfoRequest.AppToken; var result = client.NewRequest(request, reqPolicy); + if (getOrderInfoRequest.SaveResponseLog) + logger.Info(result.ToString()); if (result.Value("success") != true) throw new BusinessException(result.Value("errorMessage")) { Code = 0 }; - return new OrderAmountResponse() + return new OnlinePurchaseOrderSimpleResponse() { - + PurchaseOrderId = getOrderInfoRequest.OrderId, + FreightAmount = result["result"]["baseInfo"].Value("shippingFee"), + ProductAmount = result["result"]["baseInfo"].Value("totalAmount") - result["result"]["baseInfo"].Value("shippingFee"), + TotalAmount = result["result"]["baseInfo"].Value("totalAmount"), + ItemList = result["result"]["productItems"].Select(itemJToken => new OnlinePurchaseOrderSkuSimpleResponse() + { + ProductId = itemJToken.Value("productID"), + SkuId = itemJToken.Value("skuID"), + SpecId = itemJToken.Value("specId"), + ProductAmount = itemJToken.Value("itemAmount"), + Quantity = itemJToken.Value("quantity"), + Price = itemJToken.Value("price") + }).ToList() }; } } diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index e5cb120e..6836e598 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -104,7 +104,7 @@ namespace BBWY.Server.Business public void FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) { - if (createOnlinePurchaseOrderRequest.Platform != Model.Enums.Platform.阿里巴巴) + if (createOnlinePurchaseOrderRequest.Platform != Enums.Platform.阿里巴巴) throw new NotImplementedException(); var dbOrder = fsql.Select(createOnlinePurchaseOrderRequest.OrderId).ToOne(); if (dbOrder == null) @@ -403,13 +403,43 @@ namespace BBWY.Server.Business #region 查询订单Sku currentProgress = "查询订单Sku"; - var orderSku = fsql.Select().Where(osku => osku.OrderId == orderDropshipping.OrderId).ToOne(); - if (orderSku == null) + var orderSkuList = fsql.Select().Where(osku => osku.OrderId == orderDropshipping.OrderId).ToList(); + if (orderSkuList == null || orderSkuList.Count() == 0) throw new BusinessException("订单Sku不存在"); #endregion + #region 查询订单 + currentProgress = "查询订单"; + var dbOrder = fsql.Select(orderDropshipping.OrderId).ToOne(); + if (dbOrder == null) + throw new BusinessException("订单不存在"); + #endregion + + #region 查询采购单 + currentProgress = "查询采购单"; + var purchaseOrderList = fsql.Select().Where(po => po.PurchaseOrderId == purchaseOrderId && + po.PurchaseMethod == Enums.PurchaseMethod.线上采购).ToList(); + if (purchaseOrderList == null || purchaseOrderList.Count() == 0) + throw new BusinessException("采购单不存在"); + #endregion + + #region 查询成本明细 + currentProgress = "查询成本明细"; + var orderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == orderDropshipping.OrderId).ToList(); + if (orderCostDetailList == null || orderCostDetailList.Count() == 0) + throw new BusinessException("订单成本明细不存在"); + #endregion + + #region 查询订单成本 + currentProgress = "查询订单成本"; + var orderCost = fsql.Select(orderDropshipping.OrderId).ToOne(); + if (orderCost == null) + throw new BusinessException("订单成本不存在"); + #endregion + #region 查询改价后的订单金额 - var orderAmountResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == callbackPlatform).GetOrderAmountInfo(new GetOrderInfoRequest() + currentProgress = "查询改价后的订单金额"; + var purchaseOrderSimpleInfo = platformSDKBusinessList.FirstOrDefault(p => p.Platform == callbackPlatform).GetOrderSimpleInfo(new GetOrderInfoRequest() { AppKey = purchaseAccount.AppKey, AppSecret = purchaseAccount.AppSecret, @@ -419,11 +449,17 @@ namespace BBWY.Server.Business }); #endregion + foreach (var orderSku in orderSkuList) + { + var purchaseOrder = purchaseOrderList.FirstOrDefault(po => po.SkuId == orderSku.SkuId); + + } + fsql.Transaction(() => { - fsql.Update(purchaseOrderId).Set(po => po.SingleSkuAmount, orderAmountResponse.ProductAmount / orderSku.ItemTotal.Value) - .Set(po => po.SingleFreight, orderAmountResponse.FreightAmount / orderSku.ItemTotal.Value) - .ExecuteAffrows(); + //fsql.Update(purchaseOrderId).Set(po => po.SingleSkuAmount, orderAmountResponse.ProductAmount / orderSku.ItemTotal.Value) + // .Set(po => po.SingleFreight, orderAmountResponse.FreightAmount / orderSku.ItemTotal.Value) + // .ExecuteAffrows(); //fsql.Update().Where(ocd=>) }); diff --git a/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs new file mode 100644 index 00000000..0bbb1c31 --- /dev/null +++ b/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs @@ -0,0 +1,59 @@ +using System.Collections.Generic; + +namespace BBWY.Server.Model.Dto +{ + /// + /// 采购单简单信息 + /// + public class OnlinePurchaseOrderSimpleResponse + { + /// + /// 采购单号 + /// + public string PurchaseOrderId { get; set; } + + /// + /// 订单总额 + /// + public decimal TotalAmount { get; set; } + + /// + /// 货款总额 + /// + public decimal ProductAmount { get; set; } + + /// + /// 运费总额 + /// + public decimal FreightAmount { get; set; } + + /// + /// 采购单简单明细列表 + /// + public IList ItemList { get; set; } + } + + /// + /// 采购单简单明细 + /// + public class OnlinePurchaseOrderSkuSimpleResponse + { + public string ProductId { get; set; } + + public string SkuId { get; set; } + + public string SpecId { get; set; } + + /// + /// 货款金额 + /// + public decimal ProductAmount { get; set; } + + /// + /// 单价 + /// + public decimal Price { get; set; } + + public decimal Quantity { get; set; } + } +} diff --git a/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs deleted file mode 100644 index 5447caf6..00000000 --- a/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs +++ /dev/null @@ -1,25 +0,0 @@ -namespace BBWY.Server.Model.Dto -{ - public class OrderAmountResponse - { - /// - /// 采购单号 - /// - public string PurchaseOrderId { get; set; } - - /// - /// 订单总额 - /// - public decimal TotalAmount { get; set; } - - /// - /// 货款总额 - /// - public decimal ProductAmount { get; set; } - - /// - /// 运费总额 - /// - public decimal FreightAmount { get; set; } - } -}