From dd556df997e268153bf1a74616f49b25db11ed3f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 08 八月 2025 15:37:35 +0800
Subject: [PATCH] 赛事模块

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
index 94b57b0..d2fbb60 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/util/PayMoneyUtil.java
@@ -7,10 +7,7 @@
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
 import com.dsh.communityWorldCup.util.httpClinet.HttpClientUtil;
-import com.dsh.communityWorldCup.util.wx.PartnerAppPrepay;
-import com.dsh.communityWorldCup.util.wx.WXPayUtility;
-import com.dsh.communityWorldCup.util.wx.WeChatV3SignUtil;
-import com.dsh.communityWorldCup.util.wx.WxV3PayConfig;
+import com.dsh.communityWorldCup.util.wx.*;
 import org.apache.commons.collections.map.HashedMap;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.dom4j.Document;
@@ -101,7 +98,7 @@
         model.setSubMerchant(subMerchant);
         if (!smid.equals("2088330203191220")){
             ExtendParams extendParams = new ExtendParams();
-            extendParams.setRoyaltyFreeze("true");
+            extendParams.setRoyaltyFreeze("false");
             model.setExtendParams(extendParams);
         }
         request.setBizModel(model);
@@ -279,6 +276,9 @@
         settleDetailInfos0.setTransInType("defaultSettle");
         settleDetailInfos.add(settleDetailInfos0);
         settleInfo.setSettleDetailInfos(settleDetailInfos);
+        SettleConfirmExtendParams settleConfirmExtendParams = new SettleConfirmExtendParams();
+        settleConfirmExtendParams.setRoyaltyFreeze("false");
+        model.setExtendParams(settleConfirmExtendParams);
         model.setSettleInfo(settleInfo);
         request.setBizModel(model);
         System.err.println("结算金额"+amount);
@@ -726,6 +726,39 @@
         }
     }
 
+    public ResultUtil weixinRefundV3(String subMchid,String outRefundNo, String transactionId, String totalFee, String notifyUrl) throws Exception {
+        BigDecimal bigDecimal = new BigDecimal(totalFee);
+        int i = bigDecimal.multiply(new BigDecimal("100")).intValue();
+        // TODO: 请准备商户开发必要参数,参考:https://pay.weixin.qq.com/doc/v3/partner/4013080340
+        Create client = new Create(
+                "1681873607",                    // 商户号,是由微信支付系统生成并分配给每个商户的唯一标识符,商户号获取方式参考 https://pay.weixin.qq.com/doc/v3/merchant/4013070756
+                "55714944F7A7E52526F708280B176DCC838F371A",         // 商户API证书序列号,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013053053
+                "/usr/playpai/server/wxV3/1681873607_20250424_cert/apiclient_key.pem",    // 商户API证书私钥文件路径,本地文件路径
+                "PUB_KEY_ID_0116818736072025042400351694002605",      // 微信支付公钥ID,如何获取请参考 https://pay.weixin.qq.com/doc/v3/merchant/4013038816
+                "/usr/playpai/server/wxV3/pub_key.pem"        // 微信支付公钥文件路径,本地文件路径
+        );
+
+        Create.CreateRequest request = new Create.CreateRequest();
+        request.subMchid = subMchid;
+        request.transactionId = transactionId;
+        request.outRefundNo = outRefundNo;
+        request.reason = "退款";
+        request.notifyUrl = callbackPath+notifyUrl;
+        request.amount = new Create.AmountReq();
+        request.amount.refund = (long) i;
+        request.amount.total = (long) i;
+        request.amount.currency = "CNY";
+        try {
+            Create.Refund response = client.run(request);
+
+            // TODO: 请求成功,继续业务逻辑
+            System.out.println(response);
+        } catch (WXPayUtility.ApiException e) {
+            // TODO: 请求失败,根据状态码执行不同的逻辑
+            e.printStackTrace();
+        }
+        return ResultUtil.success();
+    }
 
     /**
      * 微信退款成功后的回调处理

--
Gitblit v1.7.1