Prechádzať zdrojové kódy

扣库存空指针异常处理

caotao 2 týždňov pred
rodič
commit
ec9ee274e1

+ 6 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/api/VoyageApiImpl.java

@@ -363,8 +363,12 @@ public class VoyageApiImpl implements VoyageApi {
                 if (list != null && !list.isEmpty()) {
                     list.forEach(item -> {
                         String key = item.getRoomModelId() + "_" + item.getFloor();
-                        item.setNum(item.getNum().add(totalNumMap.get(key)));
-                        item.setBookNum(item.getBookNum() == null ? BigDecimal.ZERO : item.getBookNum().subtract(totalNumMap.get(key)));
+                        BigDecimal totalNum = totalNumMap.get(key);
+                        if (totalNum == null) {
+                            totalNum = BigDecimal.ZERO;
+                        }
+                        item.setNum(item.getNum().add(totalNum));
+                        item.setBookNum(item.getBookNum() == null ? BigDecimal.ZERO : item.getBookNum().subtract(totalNum));
                     });
                     log.info("开始确定订单还库存:退还后分销商库存:{}", JSONObject.toJSONString(list));
                     voyageStockDistributeNewMapper.updateBatch(list);