Browse Source

服务端总共耗损计算

AddValidOverTime
shanji 2 years ago
parent
commit
252e7a0b43
  1. 2
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  2. 107
      BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs

2
BBWY.Server.Business/Extensions/OrderCostExtension.cs

@ -1,8 +1,6 @@
using BBWY.Server.Model.Db; using BBWY.Server.Model.Db;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text;
namespace BBWY.Server.Business.Extensions namespace BBWY.Server.Business.Extensions
{ {

107
BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs

@ -58,6 +58,27 @@ namespace BBWY.Server.Business
ShopId = s.ShopId, ShopId = s.ShopId,
RenewalOrderId = s.RenewalOrderId, RenewalOrderId = s.RenewalOrderId,
ReturnCheckRemark = s.ReturnCheckRemark, 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, Title = osku.Title,
ItemTotal = osku.ItemTotal.Value, ItemTotal = osku.ItemTotal.Value,
@ -81,22 +102,84 @@ namespace BBWY.Server.Business
public void EditServiceOrder(EditQueryServiceOrderRequest request) public void EditServiceOrder(EditQueryServiceOrderRequest request)
{ {
var dbso = fsql.Select<ServiceOrder>(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;
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<OrderCostDetail>().Where(ocd => ocd.OrderId == request.OrderId &&
ocd.SkuId == dbso.SkuId &&
ocd.IsEnabled == true).ToOne();
if (dbOrderCostDetail != null)
{
var dbPurchaseOrder = dbOrderCostDetail != null ? fsql.Select<PurchaseOrder>(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.)
{
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.Transaction(() =>
{ {
fsql.Update<ServiceOrder>(request.ServicePId).Set(s => s.ServiceResult, request.ServiceResult) fsql.Update<ServiceOrder>().SetSource(dbso).ExecuteAffrows();
.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();
}); });
} }
} }

Loading…
Cancel
Save