From 43992ee194ce9de7a9e4f78f3d8acc33922792d0 Mon Sep 17 00:00:00 2001
From: zhanglin8526 <852614290@qq.com>
Date: 星期六, 26 八月 2023 15:52:59 +0800
Subject: [PATCH] 支付调整

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 0971266..499a41c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3869,9 +3869,9 @@
     public void payBack(PartnerTransactionsResult transaction) {
 
         // Order order = this.getById(orderId);
-        // 更新订单状态 订单编号,就是 微信outTradeNo
-        String orderNo = transaction.getOutTradeNo();
-        Order order = this.getByOrderNo(orderNo);
+        // 更新订单状态 outTradeNo
+        String outTradeNo = transaction.getOutTradeNo();
+        Order order = this.getByOutTradeNo(outTradeNo);
         String orderId = order.getOrderId();
         order.setOrderStatus(2);
         order.setPayTime(new Date());
@@ -4009,6 +4009,14 @@
     public Order getByOrderNo(String orderNo) {
         LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(Order::getOrderNo, orderNo)
+                .last(" limit 1 ");
+        return this.getOne(queryWrapper);
+    }
+
+    @Override
+    public Order getByOutTradeNo(String outTradeNo) {
+        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(Order::getOutTradeNo, outTradeNo)
                 .last(" limit 1 ");
         return this.getOne(queryWrapper);
     }
@@ -4166,9 +4174,11 @@
             remoteActivityService.changeActivityTotal(activityTotalChangeDto);
         }
 
+        log.info("用户取消订单退款, 检查退款");
         // 用户取消订单退款
         BigDecimal onlinePayMoney = order.getOnlinePayMoney();
         if(BigDecimal.ZERO.compareTo(onlinePayMoney) < 0){
+            log.info("订单支付金额大于0,可发起退款");
             // 订单支付金额大于0,可发起退款
             orderWxApplyRefund(orderId, refundId, onlinePayMoney, orderRefund);
         }
@@ -4187,6 +4197,9 @@
             if (null == orderPayment) {
                 return;
             }
+
+            log.info("调用微信退款---发起退款");
+
             String subMchId = orderPayment.getSubMchId();
             WxPayConfig config = wxService.getConfig();
 
@@ -4197,7 +4210,8 @@
             request.setOutRefundNo(outRefundNo);
             request.setReason("用户取消订单");
             // 订单金额
-            int total = payMoney.multiply(new BigDecimal(100)).intValue();
+            int total = orderPayment.getPayMoney().multiply(new BigDecimal(100)).intValue();
+
             RefundsRequest.Amount amount = RefundsRequest.Amount.builder().refund(total).total(total).currency("CNY").build();
             request.setAmount(amount);
             request.setNotifyUrl(config.getNotifyUrl());
@@ -4213,6 +4227,8 @@
             // 返回参数
             String refundResponseJson = gson.toJson(result);
 
+            log.info("调用微信退款返回参数---{}", refundResponseJson);
+
             // 保存支付订单统一下单日志
             paymentMessageService.savePaymentMessage("3", orderId, refundRequestJson, refundResponseJson);
 

--
Gitblit v1.7.1