diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java index ea59b86..1050627 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/controller/OrderController.java +++ b/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(); } diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java index 0f8f1ae..ef14488 100644 --- a/yami-shop-api/src/main/java/com/yami/shop/api/controller/PayNoticeController.java +++ b/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 submit(@RequestBody String xmlData) throws WxPayException { WxPayOrderNotifyResult parseOrderNotifyResult = wxMiniPayService.parseOrderNotifyResult(xmlData); String payNo = parseOrderNotifyResult.getOutTradeNo(); diff --git a/yami-shop-service/src/main/java/com/yami/shop/service/impl/TransportManagerServiceImpl.java b/yami-shop-service/src/main/java/com/yami/shop/service/impl/TransportManagerServiceImpl.java index e2c4222..d8680d5 100644 --- a/yami-shop-service/src/main/java/com/yami/shop/service/impl/TransportManagerServiceImpl.java +++ b/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(); // 如果件数大于首件数量,则开始计算超出的运费