Combined product Coupon amount calculating issue fixed

This commit is contained in:
Vion 2022-03-15 20:07:55 +08:00
parent 037201858f
commit cf90ce9009

View File

@ -306,9 +306,17 @@ export default {
let total = 0;
let couponUsed = false;
let tmpShoppingCartList = this.arrSort(this.goldmedal);
let qualifiedProductAmount = 0;
let skipQualifiedProductAmountCalculating = false;
for(let itemInCart of tmpShoppingCartList) {
if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) {
if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount);
}
}
for(let itemInCart of tmpShoppingCartList) {
if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed) {
if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) {
//Check minQuantity
total+=(itemInCart.buyCount * itemInCart.productPrice);
@ -319,6 +327,7 @@ export default {
//Into coupon discount calculation
switch(this.curCoupon.couponTypeId) {
case 1: //Amount deduct
/*
if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) {
total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount);
this.discountAmount = this.curCoupon.couponAmount;
@ -330,14 +339,16 @@ export default {
this.curCoupon = {couponName:'未能使用该优惠券'};
}
break;
*/
case 2: //Amount deduct with minPrice restriction
case 6:
if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) {
total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount;
if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= qualifiedProductAmount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
total = total + qualifiedProductAmount - this.curCoupon.couponAmount;
this.discountAmount = this.curCoupon.couponAmount;
this.discountedProductCode = itemInCart.productCode;
skipQualifiedProductAmountCalculating = true;
couponUsed=true;
} else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) {
} else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) {
total = total + itemInCart.productPrice * itemInCart.buyCount;
this.discountAmount = 0;
this.curCoupon = {couponName:'未能使用该优惠券'};
@ -356,10 +367,14 @@ export default {
}
//Into coupon discount calculation end
}
} else {
if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
} else {
total += itemInCart.productPrice * itemInCart.buyCount;
}
}
}
return total;
},
arrSort(arr) {