!235 adding filter coupon logic

Merge pull request !235 from Admin/sit-Leung-v3
This commit is contained in:
Admin 2022-03-16 02:23:05 +00:00 committed by Gitee
commit 54dcb5edd3
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

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:'未能使用该优惠券'};
@ -357,7 +368,11 @@ export default {
//Into coupon discount calculation end
}
} else {
total += itemInCart.productPrice * itemInCart.buyCount;
if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
} else {
total += itemInCart.productPrice * itemInCart.buyCount;
}
}
}
return total;