From 252e7a0b43d92c694e0bfcdb9f07a174ce88ff0b Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 4 Aug 2023 11:45:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E6=80=BB=E5=85=B1?= =?UTF-8?q?=E8=80=97=E6=8D=9F=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/OrderCostExtension.cs | 2 - .../ServiceOrder/ServiceOrderBusiness.cs | 111 +++++++++++++++--- 2 files changed, 97 insertions(+), 16 deletions(-) diff --git a/BBWY.Server.Business/Extensions/OrderCostExtension.cs b/BBWY.Server.Business/Extensions/OrderCostExtension.cs index 2111990c..56fb2b72 100644 --- a/BBWY.Server.Business/Extensions/OrderCostExtension.cs +++ b/BBWY.Server.Business/Extensions/OrderCostExtension.cs @@ -1,8 +1,6 @@ using BBWY.Server.Model.Db; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; namespace BBWY.Server.Business.Extensions { diff --git a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs index 50a40375..44fd5375 100644 --- a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs +++ b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs @@ -58,6 +58,27 @@ namespace BBWY.Server.Business ShopId = s.ShopId, RenewalOrderId = s.RenewalOrderId, ReturnCheckRemark = s.ReturnCheckRemark, + AfterTotalCost = s.AfterTotalCost, + ConsumableAmount = s.ConsumableAmount, + DeliveryExpressFreight = s.DeliveryExpressFreight, + FirstFreight = s.FirstFreight, + InStorageAmount = s.InStorageAmount, + OutStorageAmount = s.OutStorageAmount, + PurchaseOrderPKId = s.PurchaseOrderPKId, + RefundAlipayOrderNo = s.RefundAlipayOrderNo, + RefundAmount = s.RefundAmount, + RefundInStorageAmount = s.RefundInStorageAmount, + RefundPurchaseAmount = s.RefundPurchaseAmount, + ReissueAfterSaleAmount = s.ReissueAfterSaleAmount, + StorageAmount = s.StorageAmount, + SDRefundFreight = s.SDRefundFreight, + RenewalType = s.RenewalType, + RenewalPurchasePlatform = s.RenewalPurchasePlatform, + RenewalPurchaseOrderId = s.RenewalPurchaseOrderId, + ReissueProductAmount = s.ReissueProductAmount, + ReissueFreight = s.ReissueFreight, + RefundTime = s.RefundTime, + RefundMerchantOrderNo = s.RefundMerchantOrderNo, Title = osku.Title, ItemTotal = osku.ItemTotal.Value, @@ -81,23 +102,85 @@ namespace BBWY.Server.Business public void EditServiceOrder(EditQueryServiceOrderRequest request) { + var dbso = fsql.Select(request.ServicePId).ToOne(); + if (dbso == null) + throw new BusinessException("服务端不存在"); + dbso.ServiceResult = request.ServiceResult; + dbso.ReturnDirection = request.ReturnDirection; + dbso.RenewalOrderId = request.RenewalOrderId; + dbso.ReturnCheckRemark = request.ReturnCheckRemark; + dbso.RenewalType = request.RenewalType; + dbso.RenewalPurchaseOrderId = request.RenewalPurchaseOrderId; + dbso.RenewalPurchasePlatform = request.RenewalPurchasePlatform; - fsql.Transaction(() => + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + dbso.ConsumableAmount = 0M; + dbso.DeliveryExpressFreight = 0M; + dbso.FirstFreight = 0M; + dbso.InStorageAmount = 0M; + dbso.OutStorageAmount = 0M; + dbso.RefundInStorageAmount = 0M; + dbso.ReissueFreight = 0M; + dbso.ReissueProductAmount = 0M; + dbso.StorageAmount = 0M; + dbso.AfterTotalCost = 0M; + dbso.SDRefundFreight = 0M; + + if (request.ServiceResult == Model.Enums.ServiceResult.退货 || + request.ServiceResult == Model.Enums.ServiceResult.原返 || + request.ServiceResult == Model.Enums.ServiceResult.线下换新 || + request.ServiceResult == Model.Enums.ServiceResult.仅退款) + { + //if(request.ReturnDirection == Model.Enums.ReturnDirection.退货仓) + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + } + else if (request.ServiceResult == Model.Enums.ServiceResult.换新) + { + var dbOrderCostDetail = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId && + ocd.SkuId == dbso.SkuId && + ocd.IsEnabled == true).ToOne(); + if (dbOrderCostDetail != null) + { + var dbPurchaseOrder = dbOrderCostDetail != null ? fsql.Select(dbOrderCostDetail.PurchaseOrderPKId).ToOne() : null; + dbso.ConsumableAmount = dbOrderCostDetail.ConsumableAmount; + dbso.DeliveryExpressFreight = dbOrderCostDetail.DeliveryExpressFreight; + dbso.FirstFreight = dbOrderCostDetail.FirstFreight; + dbso.ReissueProductAmount = dbOrderCostDetail.SkuAmount; + dbso.ReissueFreight = dbOrderCostDetail.PurchaseFreight; + dbso.StorageAmount = dbOrderCostDetail.StorageAmount; + dbso.InStorageAmount = dbOrderCostDetail.InStorageAmount; + dbso.OutStorageAmount = dbOrderCostDetail.OutStorageAmount; + } + } + else if (request.ServiceResult == Model.Enums.ServiceResult.商品补发) { - fsql.Update(request.ServicePId).Set(s => s.ServiceResult, request.ServiceResult) - .Set(s => s.SDRefundFreight, request.SDRefundFreight) - .Set(s => s.ReturnDirection, request.ReturnDirection) - .Set(s => s.RenewalOrderId, request.RenewalOrderId) - .Set(s => s.ReissueAfterSaleAmount, request.ReissueAfterSaleAmount) - .Set(s => s.ReturnCheckRemark, request.ReturnCheckRemark) - .Set(s => s.RenewalType, request.RenewalType) - .Set(s => s.RenewalPurchaseOrderId, request.RenewalPurchaseOrderId) - .Set(s => s.RenewalPurchasePlatform, request.RenewalPurchasePlatform) - .Set(s => s.ReissueFreight, request.ReissueFreight) - .Set(s => s.ReissueProductAmount, request.ReissueProductAmount) - .ExecuteAffrows(); - }); + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + dbso.ReissueProductAmount = request.ReissueProductAmount; + dbso.ReissueFreight = request.ReissueFreight; + } + else if (request.ServiceResult == Model.Enums.ServiceResult.SD退货) + { + dbso.ReissueAfterSaleAmount = 0M; + dbso.SDRefundFreight = request.SDRefundFreight; + } + dbso.AfterTotalCost = dbso.ReissueAfterSaleAmount + + dbso.ReissueFreight.Value + + dbso.ReissueProductAmount.Value + + dbso.ConsumableAmount.Value + + dbso.DeliveryExpressFreight.Value + + dbso.FirstFreight.Value + + dbso.InStorageAmount.Value + + dbso.OutStorageAmount.Value + + dbso.RefundInStorageAmount.Value + //退货入仓操作费 没有计算 + dbso.StorageAmount + + dbso.SDRefundFreight; + + + fsql.Transaction(() => + { + fsql.Update().SetSource(dbso).ExecuteAffrows(); + }); } } }