Browse Source

修复优惠券问题

AddValidOverTime
shanji 2 years ago
parent
commit
682a22284a
  1. 64
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs

64
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -302,9 +302,9 @@ namespace BBWY.Server.Business
var storeOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty;
var storeId = orderJToken.Value<string>("storeId");
var storageType = ConvertStoreOrder(storeOrder);
var preferentialAmount = 0M;
if (dbOrder == null)
{
var preferentialAmount = 0M;
dbOrder = new Order()
{
Id = orderId,
@ -377,37 +377,10 @@ namespace BBWY.Server.Business
}
#endregion
#region 订单优惠
if (!dbOrderCouponList.Any(oc => oc.OrderId == orderId))
{
var orderCouponJArray = (JArray)orderJToken["couponDetailList"];
if (orderCouponJArray.HasValues)
{
foreach (var orderCouponJToken in orderCouponJArray)
{
var couponType = orderCouponJToken.Value<string>("couponType");
if (string.IsNullOrEmpty(couponType))
continue;
//dbOrder.PreferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
preferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
insertOrderCouponList.Add(new OrderCoupon()
{
Id = idGenerator.NewLong(),
SkuId = orderCouponJToken.Value<string>("skuId"),
OrderId = orderId,
CreateTime = DateTime.Now,
CouponType = couponType,
CouponPrice = orderCouponJToken.Value<decimal>("couponPrice")
});
}
dbOrder.PreferentialAmount = preferentialAmount;
}
}
#endregion
}
else
{
preferentialAmount = dbOrder.PreferentialAmount;
if (storageType != null && dbOrder.StorageType != storageType)
dbOrder.StorageType = storageType;
@ -447,6 +420,33 @@ namespace BBWY.Server.Business
}
#endregion
#region 订单优惠
if (!dbOrderCouponList.Any(oc => oc.OrderId == orderId))
{
var orderCouponJArray = (JArray)orderJToken["couponDetailList"];
if (orderCouponJArray.HasValues)
{
foreach (var orderCouponJToken in orderCouponJArray)
{
var couponType = orderCouponJToken.Value<string>("couponType");
if (string.IsNullOrEmpty(couponType))
continue;
//dbOrder.PreferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
preferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
insertOrderCouponList.Add(new OrderCoupon()
{
Id = idGenerator.NewLong(),
SkuId = orderCouponJToken.Value<string>("skuId"),
OrderId = orderId,
CreateTime = DateTime.Now,
CouponType = couponType,
CouponPrice = orderCouponJToken.Value<decimal>("couponPrice")
});
}
}
}
#endregion
#region 订单状态转换
var orderState = ConvertOrderState(orderJToken, dbOrder.StorageType);
#endregion
@ -490,7 +490,7 @@ namespace BBWY.Server.Business
{
OrderId = sDCalculationCostRequest.OrderId,
PlatformCommissionRatio = sDCalculationCostRequest.PlatformCommissionRatio,
PreferentialAmount = dbOrder.PreferentialAmount,
PreferentialAmount = preferentialAmount,
Profit = 0,
DeliveryExpressFreight = sDCalculationCostRequest.DeliveryExpressFreight,
CreateTime = DateTime.Now,
@ -509,7 +509,7 @@ namespace BBWY.Server.Business
var orderCostPurchaseAmount = 0M;
var orderDeliveryExpressFreight = 0M; //发货总运费,sku购买数量第二个开始半价
var avgPreferential = dbOrder.PreferentialAmount / orderSkuJArray.Count();
var avgPreferential = preferentialAmount / orderSkuJArray.Count();
#region 扣减库存
foreach (var orderSkuJToken in orderSkuJArray)
@ -605,6 +605,7 @@ namespace BBWY.Server.Business
if (isNewOrder)
{
dbOrder.OrderState = orderState;
dbOrder.PreferentialAmount = preferentialAmount;
}
else if ((orderState != null && orderState != dbOrder.OrderState) ||
buyerRemark != dbOrder.BuyerRemark ||
@ -619,6 +620,7 @@ namespace BBWY.Server.Business
(orderSellerPrice > 0M && dbOrder.IsGift) ||
orderTotalPrice != dbOrder.OrderTotalPrice ||
storeOrder != dbOrder.StoreOrder ||
//preferentialAmount != dbOrder.PreferentialAmount ||
storeId != dbOrder.StoreId)
{
var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState)

Loading…
Cancel
Save