|
|
@ -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) |
|
|
|