diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index b474d384..ad1999bc 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -632,13 +632,13 @@ namespace BBWY.Server.Business var isDetailChanged = (dbOsku.ShouldPay == 0 || dbOsku.ShouldPay == null) && oskuCF != null && oskuCF.ShouldPay != 0; if (dbOsku.ProductId != wareId || isDetailChanged) { - var skuActualAmount = oskuCF.ShouldPay + - oskuCF.Balance + - oskuCF.PingTaiChengDanYouHuiQuan + - oskuCF.SuperRedEnvelope + - oskuCF.XianPinLeiDongQuan + - oskuCF.JingDou + - oskuCF.DongQuan; + var skuActualAmount = oskuCF?.ShouldPay ?? 0M + + oskuCF?.Balance ?? 0M + + oskuCF?.PingTaiChengDanYouHuiQuan ?? 0M + + oskuCF?.SuperRedEnvelope ?? 0M + + oskuCF?.XianPinLeiDongQuan ?? 0M + + oskuCF?.JingDou ?? 0M + + oskuCF?.DongQuan ?? 0M; var update = fsql.Update(dbOsku.Id) .SetIf(dbOsku.ProductId != wareId, osku => osku.ProductId, wareId) @@ -669,7 +669,7 @@ namespace BBWY.Server.Business .SetIf(isDetailChanged, osku => osku.XianPinLeiDongQuan, oskuCF?.XianPinLeiDongQuan) .SetIf(isDetailChanged, osku => osku.XianPinLeiJingQuan, oskuCF?.XianPinLeiJingQuan) .SetIf(isDetailChanged, osku => osku.ZhiFuYingXiaoYouHui, oskuCF?.ZhiFuYingXiaoYouHui) - .SetIf(isDetailChanged, osku => osku.ActualAmount, skuActualAmount); + .SetIf(isDetailChanged && skuActualAmount != 0, osku => osku.ActualAmount, skuActualAmount); ; updateOrderSkuDictionary.Add(skuUpdateKey, update); }