From 7f2749f8bb57290104636f50de4824ad1f13cdd5 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 08 十一月 2023 10:40:12 +0800
Subject: [PATCH] 111

---
 server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index e472eb2..aec7924 100644
--- a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -38,7 +38,7 @@
     private TransactionsMapper transactionsMapper;
 
 
-    @Transactional(rollbackFor = Exception.class)
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Refund wxRefund(RefundDTO refundDTO) {
         try {
             // 鍙戦�侀��娆捐姹�
@@ -46,8 +46,12 @@
             WxPayRefundRequest request = new WxPayRefundRequest();
             request.setOutTradeNo(refundDTO.getOrderId());
             request.setOutRefundNo(refNum);
-            request.setTotalFee(BaseWxPayRequest.yuanToFen(refundDTO.getTotalAmount().toString()));
-            request.setRefundFee(BaseWxPayRequest.yuanToFen(refundDTO.getRefundAmount().toString()));
+            request.setTotalFee(refundDTO.getTotalAmount().intValue());
+            request.setRefundFee(refundDTO.getRefundAmount().intValue());
+            System.out.println("瀹為檯鎬婚噾棰�" + refundDTO.getTotalAmount());
+            System.out.println("瀹為檯閫�娆鹃噾棰�" + refundDTO.getRefundAmount());
+//            request.setTotalFee(1);
+//            request.setRefundFee(1);
             WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
             if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
                 //瀛樺偍閫�娆捐褰� 涓� 娴佹按璁板綍
@@ -58,7 +62,9 @@
                 refund.setMoney(refundDTO.getRefundAmount());
                 refund.setOnlineOrderid(refNum);
                 refund.setPayWay(Constants.ZERO);
+                refund.setStatus(Constants.TWO);
                 refund.setDoneDate(new Date());
+                refund.setCreator(refundDTO.getCreator());
                 refund.setType(refundDTO.getType());
                 refund.setObjId(refundDTO.getOrderId());
                 refund.setReason(refundDTO.getReason());
@@ -72,12 +78,25 @@
                 transactions.setIsdeleted(Constants.ZERO);
                 transactions.setOrderId(refundDTO.getOrderId());
                 transactions.setMoney(refundDTO.getRefundAmount());
-                transactions.setType(refundDTO.getType()==Constants.TRANSACTIONS_TYPE.REFUND.getKey()?Constants.TRANSACTIONS_TYPE.PLATFORMREFUND.getKey():Constants.REFUND_TYPE.BACK.getKey());
                 transactions.setPreOrderid(refundDTO.getOrderId());
                 transactions.setOnlineOrderid(refNum);
                 transactions.setDoneDate(new Date());
-                transactions.setTitle(Constants.TRANSACTIONS_TYPE.get(transactions.getType()).getName());
-                transactions.setContent(Constants.TRANSACTIONS_TYPE.get(transactions.getType()).getInfo());
+                if(refund.getType().equals(Constants.REFUND_TYPE.PLAT_AUTO.getKey())||refund.getType().equals(Constants.REFUND_TYPE.PLAT_FORCE.getKey())){
+                    //骞冲彴鑷姩閫�娆� 鎴� 寮哄埗閫�娆�
+                    transactions.setType(Constants.TRANSACTIONS_TYPE.REFUND.getKey());
+                    transactions.setTitle(Constants.REFUND_TYPE.PLAT_AUTO.getInfo());
+                    transactions.setContent(Constants.REFUND_TYPE.PLAT_AUTO.getInfo());
+                }else if(refund.getType().equals(Constants.REFUND_TYPE.NORMAL.getKey())){
+                    //鐢ㄦ埛涓诲姩閫�娆�
+                    transactions.setType(Constants.TRANSACTIONS_TYPE.REFUND.getKey());
+                    transactions.setTitle(Constants.REFUND_TYPE.NORMAL.getInfo());
+                    transactions.setContent(Constants.REFUND_TYPE.NORMAL.getInfo());
+                }else if(refund.getType().equals(Constants.REFUND_TYPE.BACK.getKey())){
+                    //缁撶畻鍚庨��娆�
+                    transactions.setType(Constants.TRANSACTIONS_TYPE.REFUND.getKey());
+                    transactions.setTitle(Constants.REFUND_TYPE.BACK.getInfo());
+                    transactions.setContent(Constants.REFUND_TYPE.BACK.getInfo());
+                }
                 transactions.setBalance(BigDecimal.ZERO);
                 transactions.setObjId(refund.getId());
                 transactions.setObjType(Constants.ONE);

--
Gitblit v1.9.3