From db79eca1d06cc0f3cfb5aae710262aedfb95577e Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期二, 22 三月 2022 14:35:22 +0800
Subject: [PATCH] c3m退款实现

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
index 23a1a8f..eb60f18 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/C3mOrderService.java
@@ -1,7 +1,9 @@
 package com.sandu.ximon.admin.service;
 
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.common.third.pay.wx.WxFastPayService;
+import com.sandu.ximon.admin.pay.wx.WxFastPayService;
+import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.utils.AliPayUtils;
 import com.sandu.ximon.dao.domain.C3mOrder;
 import com.sandu.ximon.dao.enums.OrderStatus;
@@ -24,8 +26,13 @@
     private final C3mOrderMapper c3mOrderMapper;
     private final WxFastPayService fastPayService;
 
-    public boolean orderRefund(String outTradeNo, Double refundAmount, Long userId, String username) {
+    public boolean orderRefund(String outTradeNo, Double refundAmount/*, Long userId, String username*/) {
+        Long userId = SecurityUtils.getUserId();
+        String username = SecurityUtils.getUsername();
         C3mOrder orderByOutTradeNo = c3mOrderMapper.getOrderByOutTradeNo(outTradeNo);
+        if (orderByOutTradeNo.getTotalAmount() < refundAmount) {
+            throw new BusinessException("閫�娆鹃噾棰濋敊璇�,涓嶈兘澶т簬浠樻閲戦");
+        }
         if (null == orderByOutTradeNo) {
             return false;
         } else {
@@ -47,12 +54,12 @@
                     C3mOrder.getRefundAmount());
         } else if (C3mOrder.getOrderType().equals(OrderType.WXPAY.getCode())) {
             //  杩涜寰俊閫�娆�
-//            b = WxPayUtils.getBean().wxRefund(
-//                    C3mOrder.getTotalAmount(),
-//                    C3mOrder.getRefundAmount(),
-//                    C3mOrder.getOutTradeNo(),
-//                    C3mOrder.getPoleId()
-//            );
+            b = fastPayService.refund(
+                    C3mOrder.getTotalAmount(),
+                    C3mOrder.getRefundAmount(),
+                    C3mOrder.getOutTradeNo(),
+                    C3mOrder.getPoleId()
+            );
         }
         C3mOrder.setRefundTimestamp(new Date().getTime());
         C3mOrder.setRefundMsg(msg);

--
Gitblit v1.9.3