Browse Source

计算运费bugfix

chao 3 years ago
parent
commit
2bb71c1914
1 changed files with 15 additions and 11 deletions
  1. 15 11
      src/main/java/com/caimei365/order/components/ProductService.java

+ 15 - 11
src/main/java/com/caimei365/order/components/ProductService.java

@@ -176,17 +176,21 @@ public class ProductService {
         postageMap.put("userBeans", userBeans);
         // 获取商品运费 (0包邮 1到付 2默认(遵循运费规则))
         List<ProductPostageVo> postageFlagList = baseMapper.getPostageFlagList(productIdList);
-        for (ProductPostageVo postageVo : postageFlagList){
-            // 是否是仪器 或 设置了运费到付
-            boolean flag = (2 == postageVo.getCommodityType() || (null != postageVo.getPostageFlag() && -1==postageVo.getPostageFlag()));
-            if (flag) {
-                // 到付
-                postageMap.put("postageFlag", -1);
-                postageMap.put("postage", 0.00d);
-                return postageMap;
-            } else if (null != postageVo.getPostageFlag() && 1==postageVo.getPostageFlag()) {
-                // 若有不包邮商品,则全部不包邮
-                postageFlag = 1;
+        if (null != postageFlagList && postageFlagList.size() > 0) {
+            for (ProductPostageVo postageVo : postageFlagList){
+                if (null != postageVo) {
+                    // 是否是仪器 或 设置了运费到付
+                    boolean flag = (2 == postageVo.getCommodityType() || (null != postageVo.getPostageFlag() && -1==postageVo.getPostageFlag()));
+                    if (flag) {
+                        // 到付
+                        postageMap.put("postageFlag", -1);
+                        postageMap.put("postage", 0.00d);
+                        return postageMap;
+                    } else if (null != postageVo.getPostageFlag() && 1==postageVo.getPostageFlag()) {
+                        // 若有不包邮商品,则全部不包邮
+                        postageFlag = 1;
+                    }
+                }
             }
         }
         // 是否首单(统计订单数)