/// <summary> /// 有押金时计算支付的金额,-txy改动了。本来使用余额,且余额充足的时候,押金不扣的,现在扣了。 /// </summary> /// <param name="balance"></param> /// <param name="coupon"></param> /// <param name="sumMoney"></param> /// <param name="deposit"></param> /// <returns></returns> public PriceRes GetThreePriceWithDeposit(decimal balance, decimal coupon, decimal sumMoney, decimal deposit) { var discountTemp = new SettingRes().discount; var balanceTemp = balance > deposit ? balance - deposit : balance; var depositForPayMoney = balance > deposit ? 0 : deposit; var depositForUseBalance = balance > deposit ? deposit:0; var discount = Convert.ToDecimal(discountTemp) / 100; PriceRes res = new PriceRes(); var newCoupon = sumMoney * discount; res.useCoupon = newCoupon > coupon ? coupon : newCoupon; var newBalance = sumMoney - res.useCoupon; res.useBalance = (newBalance > balanceTemp ? balanceTemp : newBalance) + depositForUseBalance; var newPay = sumMoney - res.useBalance - res.useCoupon; if (newPay > 0) { res.payMoney = newPay + depositForPayMoney; } else { res.payMoney = 0; } res.payMoney = StringHelperHere.Instance.KeepDecimal(res.payMoney); res.useBalance = StringHelperHere.Instance.KeepDecimal(res.useBalance); return(res); }
/// <summary> /// 计算礼金券,余额,第三方支付金额 /// </summary> public PriceRes GetThreePrice(decimal balance, decimal coupon, decimal sumMoney) { var discount = new decimal(0.1); PriceRes res = new PriceRes(); var newCoupon = sumMoney * discount; res.useCoupon = newCoupon > coupon ? coupon : newCoupon; var newBalance = sumMoney - res.useCoupon; res.useBalance = newBalance > balance ? balance : newBalance; var newPay = sumMoney - res.useBalance - res.useCoupon; if (newPay > 0) { res.payMoney = newPay; } else { res.payMoney = 0; } return(res); }