/**
* 场景
有一天,产品经理韩梅梅找到李雷,给李雷提了这么个需求:
马上大促要来了,我们本次大促要做差异化询价。啥是差异化询价?就是说同一个商品,我通过在后台给它设置不同的价格类型,可以让它展示不同的价格。具体的逻辑如下:
当价格类型为“预售价”时,满 100 - 20,不满 100 打 9 折
当价格类型为“大促价”时,满 100 - 30,不满 100 打 8 折
当价格类型为“返场价”时,满 200 - 50,不叠加
当价格类型为“尝鲜价”时,直接打 5 折
*/
/**
预售价 - pre
大促价 - onSale
返场价 - back
尝鲜价 - fresh
*/
const priceProcessor = {
pre(originPrice) {
if (originPrice >= 100) {
return originPrice - 20
} else {
return originPrice * 0.9
}
},
onSale(originPrice) {
if (originPrice >= 100) {
return originPrice - 30
} else {
return originPrice * 0.8
}
},
back(originPrice) {
if (originPrice >= 200) {
return originPrice - 50
} else {
return originPrice
}
},
fresh(originPrice) {
return originPrice * 0.5;
},
}
function rePrice(tag, originPrice) {
return priceProcessor[tag](originPrice)
}
console.log(rePrice('pre', 120))
console