根据订单金额,用户积分,兑换比例计算
JavaScript Code复制内容到剪贴板
- /**
- * @param {Object} orderPrice 订单金额,单位:元
- * @param {Object} userScore 用户现有积分,int类型
- * @param {Object} scale 比例,1积分抵多少现金
- */
- getMaxAllowUseScore(orderPrice,userScore,scale){
- const originPrice = orderPrice
- userScore = parseFloat(userScore)
- scale = parseFloat(scale)
- orderPrice = parseFloat(orderPrice) / scale
- // console.log(orderPrice,userScore,scale)
- // console.log('1积分可兑换现金', scale)
- const allowMaxScore = Math.min(orderPrice, userScore)
- const scoreConvertMoney = allowMaxScore * scale
- const toPayMoney = originPrice - scoreConvertMoney
- console.log('最大可用积分',allowMaxScore,'积分抵扣金额',scoreConvertMoney,'剩余需支付金额',toPayMoney)
- return [allowMaxScore, scoreConvertMoney, toPayMoney]
- }
另一种公式,一样可以实现
积分抵扣金额=用户积分*兑换比例 >= 订单金额 ? 订单金额:用户积分*兑换比例
剩余支付金额=订单金额-积分抵扣金额
用户最多可用积分=积分抵扣金额/兑换比例
如:
订单金额:299
用户现有积分:5800
兑换比例:0.01,即1积分可抵0.01元
最后结果是:最大可用积分 5800,积分抵扣金额 58,剩余需支付金额 241
订单金额:10
用户现有积分:5800
兑换比例:0.01,即1积分可抵0.01元
最后结果是:最大可用积分 1000,积分抵扣金额 10,剩余需支付金额 0
上一篇 node.js升级到最新版本
下一篇 根据key名获取树中的节点