From 46a8faa3b27b30a04c40d3eb90d774429d8581f5 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期四, 05 九月 2024 16:14:16 +0800 Subject: [PATCH] 加价计算空指针 --- src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java b/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java index 5434873..3d630d4 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderItemSettlementService.java @@ -124,9 +124,13 @@ } else if (Constants.CHECK_TYPE.lack.name().equals(type)) { lackNum = num == null ? 0 : num; lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(lackNum)); - lackFeePartner = oi.getMarkupPartner().multiply(new BigDecimal(lackNum)); + + BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner(); + lackFeePartner = markupPartner.multiply(new BigDecimal(lackNum)); + + BigDecimal markupTwo = oi.getMarkupTwo() == null ? new BigDecimal(0) : oi.getMarkupTwo(); lackFeePlatform = oi.getMarkupOne().multiply(new BigDecimal(lackNum)); - lackFeePlatform = lackFeePlatform.add(oi.getMarkupTwo().multiply(new BigDecimal(lackNum))); + lackFeePlatform = lackFeePlatform.add(markupTwo.multiply(new BigDecimal(lackNum))); } else if (Constants.CHECK_TYPE.replace.name().equals(type)) { replaceNum = num == null ? 0 : num; replaceFee = amount == null ? new BigDecimal(0) : amount; @@ -218,7 +222,8 @@ private void setPartnerIncome(OrderItem oi, OrderItemSettlement ois){ //合伙人结算:合伙人加价-理赔-缺货扣款 = 结算金额 - BigDecimal totalAmount = oi.getMarkupPartner().multiply(new BigDecimal(oi.getNum())); + BigDecimal markupPartner = oi.getMarkupPartner() == null ? new BigDecimal(0) : oi.getMarkupPartner(); + BigDecimal totalAmount = markupPartner.multiply(new BigDecimal(oi.getNum())); BigDecimal settlementAmount = totalAmount.subtract(ois.getSalesFeePartner()).subtract(ois.getLackFeePartner());//结算金额 if(settlementAmount.doubleValue() < 0){ settlementAmount = new BigDecimal(0); -- Gitblit v1.9.3