修复代客下单多个商品计算总金额错误的bug

This commit is contained in:
谭凯凯 2024-12-05 13:59:29 +08:00 committed by Tankaikai
parent df08828673
commit 11fd24f813
2 changed files with 7 additions and 7 deletions

View File

@ -15,16 +15,16 @@
*/
package cn.ysk.cashier.pojo.order;
import cn.ysk.cashier.mybatis.entity.TbActivateOutRecord;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.util.NumberUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
/**
@ -261,7 +261,7 @@ public class TbCashierCart implements Serializable {
}
if (isMember != null && isMember == 1 && memberPrice != null && memberPrice.compareTo(BigDecimal.ZERO) > 0) {
return num.multiply(memberPrice).multiply(discountRadio).add(packFee).setScale(2, RoundingMode.HALF_UP);
return num.multiply(memberPrice.subtract(NumberUtil.null2Zero(discountSaleAmount))).multiply(discountRadio).add(packFee).setScale(2, RoundingMode.HALF_UP);
}else {
return num.multiply(discountSaleAmount != null ? discountSaleAmount : salePrice).add(packFee).multiply(discountRadio).setScale(2, RoundingMode.HALF_UP);
}

View File

@ -580,7 +580,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
boolean isChoseGroup = TableConstant.Product.Type.PACKAGE.equalsVals(product.getType()) && product.getGroupType() == 1;
if (isChoseGroup && (addCartDTO.getGroupProductIdList() == null || addCartDTO.getGroupProductIdList().isEmpty())) {
throw new BadRequestException("可选套餐,先选择套餐商品");
throw new BadRequestException("可选套餐,先选择套餐商品");
}
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()