From 53edcaffa2618e970d4634906a973a80bfec0fb8 Mon Sep 17 00:00:00 2001 From: OPGame <1242479791@qq.com> Date: Thu, 4 Jul 2019 14:07:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BB=A3=E7=A0=81=E9=87=8F/?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E5=88=86=E6=9E=90=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E5=90=AB=E6=9C=89=E5=9D=8F=E5=91=B3=E9=81=93?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/OrderController.java | 8 ++--- .../api/controller/PayNoticeController.java | 2 +- .../impl/TransportManagerServiceImpl.java | 36 ++++++++++++++----- 3 files changed, 32 insertions(+), 14 deletions(-) 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(); // 如果件数大于首件数量,则开始计算超出的运费