满减金额 增加餐位费和打包费
This commit is contained in:
@@ -473,7 +473,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
param.setNewCustomerDiscountAmount(BigDecimal.ZERO);
|
param.setNewCustomerDiscountAmount(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
//满减活动
|
//满减活动
|
||||||
BigDecimal discountActAmount = calculateDiscountActAmount(orderDetails, discountAct);
|
BigDecimal discountActAmount = calculateDiscountActAmount(orderDetails, discountAct, packAmount.getPrice(), orderInfo.getSeatAmount());
|
||||||
if (discountActAmount.compareTo(param.getDiscountActAmount()) != 0) {
|
if (discountActAmount.compareTo(param.getDiscountActAmount()) != 0) {
|
||||||
log.info("满减活动金额不正确:传递为:{},计算为:{}", param.getDiscountActAmount(), discountActAmount);
|
log.info("满减活动金额不正确:传递为:{},计算为:{}", param.getDiscountActAmount(), discountActAmount);
|
||||||
throw new ValidateException("生成支付订单失败,满减活动金额不正确");
|
throw new ValidateException("生成支付订单失败,满减活动金额不正确");
|
||||||
@@ -909,7 +909,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
/**
|
/**
|
||||||
* 满减活动 校验门槛获取减免金额
|
* 满减活动 校验门槛获取减免金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal calculateDiscountActAmount(List<OrderDetail> orderDetails, MkDiscountActivityDTO discountAct) {
|
private BigDecimal calculateDiscountActAmount(List<OrderDetail> orderDetails, MkDiscountActivityDTO discountAct, BigDecimal packPrice, BigDecimal seatPrice) {
|
||||||
if (discountAct == null) {
|
if (discountAct == null) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
@@ -920,7 +920,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
}
|
}
|
||||||
originalPrice = originalPrice.add(orderDetail.getPayAmount());
|
originalPrice = originalPrice.add(orderDetail.getPayAmount());
|
||||||
}
|
}
|
||||||
log.info("满减活动门槛金额计算为:{}", originalPrice);
|
originalPrice = originalPrice.add(packPrice).add(seatPrice);
|
||||||
for (MkDiscountThreshold threshold : discountAct.getThresholds()) {
|
for (MkDiscountThreshold threshold : discountAct.getThresholds()) {
|
||||||
if (originalPrice.compareTo(threshold.getFullAmount()) >= 0) {
|
if (originalPrice.compareTo(threshold.getFullAmount()) >= 0) {
|
||||||
return threshold.getDiscountAmount();
|
return threshold.getDiscountAmount();
|
||||||
|
|||||||
Reference in New Issue
Block a user