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