seatonwan9
2025-08-19 79111317e126d0ee92b7125dc41d71bb4038bd21
src/main/java/com/webmanage/service/impl/ProductPricingServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.webmanage.common.BusinessException;
import com.webmanage.emun.PriceTypeEnum;
import com.webmanage.entity.ProductPricing;
import com.webmanage.mapper.ProductPricingMapper;
import com.webmanage.service.ProductPricingService;
@@ -47,8 +48,11 @@
            if (!StringUtils.hasText(productPricing.getPriceType())) {
                throw new BusinessException("价格设置不能为空");
            }
            if (productPricing.getPrice() == null || productPricing.getPrice().doubleValue() < 0) {
                throw new BusinessException("价格值不能为空且不能为负数");
            if (productPricing.getPointsPrice() == null || productPricing.getPointsPrice().doubleValue() < 0) {
                throw new BusinessException("积分价格值不能为空且不能为负数");
            }
            if (productPricing.getCurrencyPrice()== null || productPricing.getCurrencyPrice().doubleValue() < 0) {
                throw new BusinessException("货币价格值不能为空且不能为负数");
            }
            if (productPricing.getProductId() == null) {
                throw new BusinessException("产品ID不能为空");
@@ -96,8 +100,17 @@
            if (!StringUtils.hasText(productPricing.getPriceType())) {
                throw new BusinessException("价格设置不能为空");
            }
            if (productPricing.getPrice() == null || productPricing.getPrice().doubleValue() < 0) {
                throw new BusinessException("价格值不能为空且不能为负数");
            if (productPricing.getPriceType().indexOf(PriceTypeEnum.POINTS.getName()) > -1
                    && productPricing.getPointsPrice() == null ||
                    productPricing.getPriceType().indexOf(PriceTypeEnum.POINTS.getName()) > -1
                            &&productPricing.getPointsPrice().doubleValue() < 0) {
                throw new BusinessException("积分价格值不能为空且不能为负数");
            }
            if (productPricing.getPriceType().indexOf(PriceTypeEnum.CURRENCY.getName()) > -1
                    && productPricing.getCurrencyPrice()== null ||
                    productPricing.getPriceType().indexOf(PriceTypeEnum.CURRENCY.getName()) > -1
                            && productPricing.getCurrencyPrice().doubleValue() < 0) {
                throw new BusinessException("货币价格值不能为空且不能为负数");
            }
            
            boolean result = updateById(productPricing);