增加商品券限制,过滤不满足使用条件的商品券

This commit is contained in:
2024-11-12 09:49:05 +08:00
parent 7d39bc2bee
commit c41f78fca8
5 changed files with 66 additions and 39 deletions

View File

@@ -18,11 +18,11 @@ export function returnNewGoodsList(arr) {
let goodsMap={}
return arr.filter(v => !isTui(v))
}
//根据当前购物车商品以及数量,已选券对应商品数量,判断该券是否可用
//根据当前购物车商品以及数量,已选券对应商品数量,判断该商品券是否可用
export function returnCoupCanUse(goodsArr=[],coup,selCoupArr=[]) {
if(!coup.use){
return false
}
// if(!coup.use){
// return false
// }
const findGoods=goodsArr.filter(v=>v.productId==coup.proId)
if(!findGoods.length){
return false
@@ -36,10 +36,10 @@ export function returnCoupCanUse(goodsArr=[],coup,selCoupArr=[]) {
if(selCoupNumber>=findGoodsTotalNumber){
return false
}
return findGoodsTotalNumber<coup.num?false:true
return findGoodsTotalNumber<(coup.num+selCoupNumber)?false:true
}
//查找购物车商品根据购物车商品数据返回商品券信息(抵扣价格以及是否满足可用需求)
export function returnProductCoupon(coup, goodsArr, vipUser) {
export function returnProductCoupon(coup, goodsArr, vipUser,selCoupArr=[]) {
const newGoodsArr = returnNewGoodsList(goodsArr)
const item = newGoodsArr.find(v => v.productId == coup.proId);
if(!item){
@@ -49,7 +49,9 @@ export function returnProductCoupon(coup, goodsArr, vipUser) {
const price = item ? (vipUser.isVip ? memberPrice : item.price) : 0;
const discountAmount=(price*coup.num).toFixed(2)
console.log(discountAmount);
const canUse=!coup.use?false:(discountAmount>0)
const canUse=!coup.use?false:(discountAmount>0&&returnCoupCanUse(goodsArr,coup,selCoupArr))
// const canUse=discountAmount>0
return { ...coup, discountAmount: discountAmount,use:canUse}
}