Browse Source

修复订单优惠券逻辑

AddValidOverTime
shanji 2 years ago
parent
commit
7d2fc29310
  1. 61
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs

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

@ -302,9 +302,9 @@ namespace BBWY.Server.Business
var storeOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty; var storeOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty;
var storeId = orderJToken.Value<string>("storeId"); var storeId = orderJToken.Value<string>("storeId");
var storageType = ConvertStoreOrder(storeOrder); var storageType = ConvertStoreOrder(storeOrder);
var preferentialAmount = 0M;
if (dbOrder == null) if (dbOrder == null)
{ {
var preferentialAmount = 0M;
dbOrder = new Order() dbOrder = new Order()
{ {
Id = orderId, Id = orderId,
@ -377,6 +377,34 @@ namespace BBWY.Server.Business
} }
#endregion #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 else
{ {
@ -419,33 +447,6 @@ namespace BBWY.Server.Business
} }
#endregion #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 订单状态转换 #region 订单状态转换
var orderState = ConvertOrderState(orderJToken, dbOrder.StorageType); var orderState = ConvertOrderState(orderJToken, dbOrder.StorageType);
#endregion #endregion
@ -604,7 +605,6 @@ namespace BBWY.Server.Business
if (isNewOrder) if (isNewOrder)
{ {
dbOrder.OrderState = orderState; dbOrder.OrderState = orderState;
dbOrder.PreferentialAmount = preferentialAmount;
} }
else if ((orderState != null && orderState != dbOrder.OrderState) || else if ((orderState != null && orderState != dbOrder.OrderState) ||
buyerRemark != dbOrder.BuyerRemark || buyerRemark != dbOrder.BuyerRemark ||
@ -619,7 +619,6 @@ namespace BBWY.Server.Business
(orderSellerPrice > 0M && dbOrder.IsGift) || (orderSellerPrice > 0M && dbOrder.IsGift) ||
orderTotalPrice != dbOrder.OrderTotalPrice || orderTotalPrice != dbOrder.OrderTotalPrice ||
storeOrder != dbOrder.StoreOrder || storeOrder != dbOrder.StoreOrder ||
preferentialAmount != dbOrder.PreferentialAmount ||
storeId != dbOrder.StoreId) storeId != dbOrder.StoreId)
{ {
var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState) var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState)
@ -636,7 +635,7 @@ namespace BBWY.Server.Business
.SetIf(orderSellerPrice > 0M && dbOrder.IsGift == true, o => o.IsGift, false) .SetIf(orderSellerPrice > 0M && dbOrder.IsGift == true, o => o.IsGift, false)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StoreOrder, storeOrder) .SetIf(storeOrder != dbOrder.StoreOrder, o => o.StoreOrder, storeOrder)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StorageType, storageType) .SetIf(storeOrder != dbOrder.StoreOrder, o => o.StorageType, storageType)
.SetIf(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount) //.SetIf(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount)
.SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId); .SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId);
updateOrderList.Add(updateSql); updateOrderList.Add(updateSql);
} }

Loading…
Cancel
Save