From a550e4051d5fc5ed4ef1a7cbf2a7c7b0b0259350 Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 27 Sep 2021 18:19:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=80=80=E6=AC=BE=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/order/service/OrderService.java | 10 +++++++- .../order/serviceimpl/OrderServiceImpl.java | 23 ++++++++++++------- .../kit/plugin/wechat/WechatPlugin.java | 8 ++++++- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java index 64817558..1e6d27da 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java @@ -215,7 +215,7 @@ public interface OrderService extends IService { /** * 获取待发货订单编号列表 * - * @param response 响应 + * @param response 响应 * @param logisticsName 店铺已选择物流公司列表 */ void getBatchDeliverList(HttpServletResponse response, List logisticsName); @@ -227,4 +227,12 @@ public interface OrderService extends IService { */ void batchDeliver(MultipartFile files); + + /** + * 获取订单实际支付的总金额 + * + * @param orderSn 订单sn + * @return 金额 + */ + Double getPaymentTotal(String orderSn); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index ae4587a1..8d3d890a 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -23,6 +23,7 @@ import cn.lili.modules.order.order.aop.OrderLogPoint; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderItem; import cn.lili.modules.order.order.entity.dos.Receipt; +import cn.lili.modules.order.order.entity.dos.Trade; import cn.lili.modules.order.order.entity.dto.OrderBatchDeliverDTO; import cn.lili.modules.order.order.entity.dto.OrderExportDTO; import cn.lili.modules.order.order.entity.dto.OrderMessage; @@ -33,10 +34,7 @@ import cn.lili.modules.order.order.entity.vo.OrderSimpleVO; import cn.lili.modules.order.order.entity.vo.OrderVO; import cn.lili.modules.order.order.mapper.OrderItemMapper; import cn.lili.modules.order.order.mapper.OrderMapper; -import cn.lili.modules.order.order.service.OrderItemService; -import cn.lili.modules.order.order.service.OrderService; -import cn.lili.modules.order.order.service.ReceiptService; -import cn.lili.modules.order.order.service.StoreFlowService; +import cn.lili.modules.order.order.service.*; import cn.lili.modules.order.trade.entity.dos.OrderLog; import cn.lili.modules.order.trade.service.OrderLogService; import cn.lili.modules.payment.kit.enums.PaymentMethodEnum; @@ -144,11 +142,9 @@ public class OrderServiceImpl extends ServiceImpl implements */ @Autowired private PintuanService pintuanService; - /** - * 规格商品 - */ + @Autowired - private GoodsSkuService goodsSkuService; + private TradeService tradeService; @Override public void intoDB(TradeDTO tradeDTO) { @@ -592,6 +588,17 @@ public class OrderServiceImpl extends ServiceImpl implements } } + + @Override + public Double getPaymentTotal(String orderSn) { + Order order = this.getBySn(orderSn); + Trade trade = tradeService.getBySn(order.getTradeSn()); + if (trade.getPayStatus().equals(PayStatusEnum.PAID.name())) { + return trade.getFlowPrice(); + } + return order.getFlowPrice(); + } + /** * 循环检查批量发货订单列表 * diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java index 54b0836b..96658630 100644 --- a/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java +++ b/framework/src/main/java/cn/lili/modules/payment/kit/plugin/wechat/WechatPlugin.java @@ -20,6 +20,7 @@ import cn.lili.common.enums.ClientTypeEnum; import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.service.ConnectService; +import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.payment.entity.RefundLog; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.Payment; @@ -100,6 +101,11 @@ public class WechatPlugin implements Payment { */ @Autowired private ConnectService connectService; + /** + * 联合登陆 + */ + @Autowired + private OrderService orderService; @Override @@ -497,7 +503,7 @@ public class WechatPlugin implements Payment { try { Amount amount = new Amount().setRefund(CurrencyUtil.fen(refundLog.getTotalAmount())) - .setTotal(CurrencyUtil.fen(refundLog.getPayPrice())); + .setTotal(CurrencyUtil.fen(orderService.getPaymentTotal(refundLog.getOrderSn()))); //退款参数准备 RefundModel refundModel = new RefundModel()