ソースを参照

根据代码量/质量分析,修改可能含有坏味道的代码

OPGame 6 年 前
コミット
53edcaffa2

+ 4 - 4
yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java

@@ -281,14 +281,14 @@ public class OrderController {
             servletOutputStream = response.getOutputStream();
             writer.flush(servletOutputStream);
             servletOutputStream.flush();
-        } catch (IORuntimeException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
+        } catch (IORuntimeException | IOException e) {
             e.printStackTrace();
         } finally {
             writer.close();
             try {
-                servletOutputStream.close();
+                if (servletOutputStream != null) {
+                    servletOutputStream.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             }

+ 1 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java

@@ -36,7 +36,7 @@ public class PayNoticeController {
 
 
     @RequestMapping("/order")
-    public ResponseEntity<?> submit(@RequestBody String xmlData) throws WxPayException {
+    public ResponseEntity<Void> submit(@RequestBody String xmlData) throws WxPayException {
         WxPayOrderNotifyResult parseOrderNotifyResult = wxMiniPayService.parseOrderNotifyResult(xmlData);
 
         String payNo = parseOrderNotifyResult.getOutTradeNo();

+ 27 - 9
yami-shop-service/src/main/java/com/yami/shop/service/impl/TransportManagerServiceImpl.java

@@ -10,21 +10,34 @@
 
 package com.yami.shop.service.impl;
 
-import cn.hutool.core.collection.CollectionUtil;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.yami.shop.bean.app.dto.ProductItemDto;
 import com.yami.shop.bean.enums.TransportChargeType;
-import com.yami.shop.bean.model.*;
-import com.yami.shop.common.util.Arith;
 import com.yami.shop.common.util.Json;
-import com.yami.shop.service.ProductService;
-import com.yami.shop.service.SkuService;
-import com.yami.shop.service.TransportManagerService;
-import com.yami.shop.service.TransportService;
+import com.yami.shop.service.*;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.SpringApplication;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-import java.util.Objects;
+import com.yami.shop.bean.app.dto.OrderItemDto;
+import com.yami.shop.bean.model.Area;
+import com.yami.shop.bean.model.Product;
+import com.yami.shop.bean.model.Sku;
+import com.yami.shop.bean.model.Transfee;
+import com.yami.shop.bean.model.TransfeeFree;
+import com.yami.shop.bean.model.Transport;
+import com.yami.shop.bean.model.UserAddr;
+import com.yami.shop.common.util.Arith;
+
+import cn.hutool.core.collection.CollectionUtil;
 
 @Service
 public class TransportManagerServiceImpl implements TransportManagerService {
@@ -119,6 +132,11 @@ public class TransportManagerServiceImpl implements TransportManagerService {
             }
         }
 
+        // 如果无法获取到任何运费相关信息,则返回0运费
+        if (transfee == null) {
+            return 0.0;
+        }
+
         // 产品的运费
         Double fee = transfee.getFirstFee();
         // 如果件数大于首件数量,则开始计算超出的运费