Aslee преди 3 години
родител
ревизия
cde543fb14

+ 4 - 1
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -290,7 +290,7 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                             //凑单金额
                             AtomicReference<BigDecimal> poolAmount = new AtomicReference<>(BigDecimal.ZERO);
                             orderProducts.forEach(o -> {
-                                if (o.getDiscount() >= 100d && 0 == o.getSvipPriceFlag()) {
+                                if (o.getDiscount() >= 100d && (null == o.getSvipPriceFlag() || 0 == o.getSvipPriceFlag())) {
                                     CmPromotion cmPromotion = cmPromotionDao.findProductPromotion(o.getShopID().toString(), o.getProductID().longValue());
                                     if (cmPromotion != null && cmPromotion.getId().equals(promotion.getId())) {
                                         poolAmount.set(MathUtil.add(poolAmount, o.getTotalFee()));
@@ -456,6 +456,9 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                         if (orderProduct.getLadderPriceFlag() == null) {
                             orderProduct.setLadderPriceFlag(0);
                         }
+                        if (orderProduct.getSvipPriceFlag() == null) {
+                            orderProduct.setSvipPriceFlag(0);
+                        }
                         newOrderProductDao.insert(orderProduct);
                         //插入阶梯价格列表
                         insertLadderPrice(orderProduct);

+ 1 - 1
src/main/java/com/caimei/modules/order/utils/OrderUtil.java

@@ -99,7 +99,7 @@ public class OrderUtil {
                 shopOrder.setNeedPayAmount(o.getShouldPayFee());
                 shopOrder.setOutStoreNum(0);
                 // 计算超级会员优惠
-                if (1 == o.getSvipPriceFlag()) {
+                if (null != o.getSvipPriceFlag() && 1 == o.getSvipPriceFlag()) {
                     BigDecimal productTotalReduction = MathUtil.mul(o.getSvipReduction(), o.getNum(), 2);
                     shopOrder.setSvipShopReduction(MathUtil.add(shopOrder.getSvipShopReduction(), productTotalReduction).doubleValue());
                 } else {