修复代客下单多个商品计算总金额错误的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; package cn.ysk.cashier.pojo.order;
import cn.ysk.cashier.mybatis.entity.TbActivateOutRecord;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions; 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.persistence.*;
import javax.validation.constraints.*; import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode; 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) { 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 { }else {
return num.multiply(discountSaleAmount != null ? discountSaleAmount : salePrice).add(packFee).multiply(discountRadio).setScale(2, RoundingMode.HALF_UP); 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; boolean isChoseGroup = TableConstant.Product.Type.PACKAGE.equalsVals(product.getType()) && product.getGroupType() == 1;
if (isChoseGroup && (addCartDTO.getGroupProductIdList() == null || addCartDTO.getGroupProductIdList().isEmpty())) { if (isChoseGroup && (addCartDTO.getGroupProductIdList() == null || addCartDTO.getGroupProductIdList().isEmpty())) {
throw new BadRequestException("可选套餐,先选择套餐商品"); throw new BadRequestException("可选套餐,先选择套餐商品");
} }
LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> query = new LambdaQueryWrapper<TbCashierCart>()