fix: 订单折扣金额保存不正确修复
This commit is contained in:
@@ -1218,11 +1218,20 @@ public class CartService {
|
|||||||
outRecords.add(tbActivateOutRecord);
|
outRecords.add(tbActivateOutRecord);
|
||||||
cashierCart.setUseCouponInfo(JSONObject.toJSONString(tbActivateOutRecord));
|
cashierCart.setUseCouponInfo(JSONObject.toJSONString(tbActivateOutRecord));
|
||||||
|
|
||||||
couponVo.setFinalDiscountAmount(discountAmount);
|
|
||||||
// 优惠券未消耗完毕
|
// 优惠券未消耗完毕
|
||||||
if (balanceCart != null && getCanUseCoupon(couponMap, balanceCart.getProductId()) != null) {
|
if (balanceCart != null && getCanUseCoupon(couponMap, balanceCart.getProductId()) != null) {
|
||||||
discountAmount = reduceProCoupon(couponMap, balanceCart, usedCouponMap, discountAmount, balanceCartList, outRecords, memberId);
|
// 递归调用并累加递归返回的折扣金额
|
||||||
|
discountAmount = discountAmount.add(reduceProCoupon(
|
||||||
|
couponMap,
|
||||||
|
balanceCart,
|
||||||
|
usedCouponMap,
|
||||||
|
BigDecimal.ZERO, // 避免重复累加,递归时传入新的初始值
|
||||||
|
balanceCartList,
|
||||||
|
outRecords,
|
||||||
|
memberId
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
couponVo.setFinalDiscountAmount(discountAmount);
|
||||||
return discountAmount;
|
return discountAmount;
|
||||||
}
|
}
|
||||||
return discountAmount;
|
return discountAmount;
|
||||||
@@ -1260,6 +1269,7 @@ public class CartService {
|
|||||||
resetCouponList.add(cashierCart);
|
resetCouponList.add(cashierCart);
|
||||||
cashierCart.setUserCouponId(null);
|
cashierCart.setUserCouponId(null);
|
||||||
}
|
}
|
||||||
|
cashierCart.resetTotalAmount();
|
||||||
discountAmount = reduceProCoupon(couponMap, cashierCart, usedCouponMap, discountAmount, balanceCartList, outRecords, memberId);
|
discountAmount = reduceProCoupon(couponMap, cashierCart, usedCouponMap, discountAmount, balanceCartList, outRecords, memberId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user