根据订单金额,用户积分,兑换比例计算
前端笔记 2022-05-06 19:18:20

 

 

JavaScript Code复制内容到剪贴板
  1. /** 
  2.  * @param {Object} orderPrice 订单金额,单位:元 
  3.  * @param {Object} userScore 用户现有积分,int类型 
  4.  * @param {Object} scale 比例,1积分抵多少现金 
  5.  */  
  6. getMaxAllowUseScore(orderPrice,userScore,scale){  
  7.     const originPrice = orderPrice  
  8.     userScore = parseFloat(userScore)  
  9.     scale = parseFloat(scale)  
  10.     orderPrice = parseFloat(orderPrice) / scale  
  11.     // console.log(orderPrice,userScore,scale)  
  12.     // console.log('1积分可兑换现金', scale)  
  13.     const allowMaxScore = Math.min(orderPrice, userScore)  
  14.     const scoreConvertMoney = allowMaxScore * scale  
  15.     const toPayMoney = originPrice - scoreConvertMoney  
  16.     console.log('最大可用积分',allowMaxScore,'积分抵扣金额',scoreConvertMoney,'剩余需支付金额',toPayMoney)  
  17.     return [allowMaxScore, scoreConvertMoney, toPayMoney]  
  18. }  

 

 

另一种公式,一样可以实现

积分抵扣金额=用户积分*兑换比例 >= 订单金额 ? 订单金额:用户积分*兑换比例

剩余支付金额=订单金额-积分抵扣金额

用户最多可用积分=积分抵扣金额/兑换比例

 

 

如:

订单金额:299

用户现有积分:5800

兑换比例:0.01,即1积分可抵0.01元

最后结果是:最大可用积分 5800,积分抵扣金额 58,剩余需支付金额 241

 

 

订单金额:10

用户现有积分:5800

兑换比例:0.01,即1积分可抵0.01元

最后结果是:最大可用积分 1000,积分抵扣金额 10,剩余需支付金额 0 

 

本文来自于:http://www.yoyo88.cn/note/frontend/619.html

Powered by yoyo苏ICP备15045725号