From 537ed054fe1d9b40b4908cf41ce8c9a6a82d0df9 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 18 三月 2024 16:04:04 +0800
Subject: [PATCH] 部分bug修改

---
 cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java |   82 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 13 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
index fad56b9..c2aa6dd 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -6,10 +6,9 @@
 import com.alipay.api.AlipayClient;
 import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.AlipayTradeAppPayModel;
-import com.alipay.api.domain.ExtendParams;
-import com.alipay.api.domain.RoyaltyDetailInfos;
-import com.alipay.api.domain.RoyaltyInfo;
+import com.alipay.api.domain.*;
+import com.alipay.api.msg.AlipayMsgClient;
+import com.alipay.api.msg.MsgHandler;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
 import lombok.Synchronized;
@@ -53,13 +52,13 @@
 
     private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
 
-    private String appid = "";//微信appid
+    private String appid = "wx41d32f362ba0f911";//微信appid
 
-    private String appletsAppid = "";//微信小程序appid
+    private String appSecret = "cf0ebf950f5926a69041a0e2bbe20f3e";
 
-    private String mchId = "";//微信商户号
+    private String mchId = "1501481761";//微信商户号
 
-    private String key = "";//微信商户号
+    private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
 
     private String callbackPath = "http://8.137.22.229:56666/other";//支付回调网关地址
 
@@ -72,12 +71,54 @@
     private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书
 
 
+
+
+    public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) {
+
+        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
+                aliAppid,
+                appPrivateKey,
+                "json",
+                "GBK",
+                alipay_public_key,
+                "RSA2");
+        AlipayTradeSettleConfirmRequest request = new AlipayTradeSettleConfirmRequest();
+        request.setBizContent("{" +
+                "  \"out_request_no\":\""+code+"\"," +
+                "  \"trade_no\":\""+outTradeNo+"\"," +
+                "  \"settle_info\":{" +
+                "    \"settle_detail_infos\":[" +
+                "      {" +
+                "        \"trans_in_type\":\"defaultSettle\"," +
+                "        \"settle_entity_id\":\""+smid+"\"," +
+                "        \"settle_entity_type\":\"SecondMerchant\"," +
+                "        \"amount\":"+amount+"," +
+                "      }" +
+                "    ]" +
+                "  }," +
+                "  \"extend_params\":{" +
+                "    \"royalty_freeze\":\"true\"" +
+                "  }" +
+                "}");
+        AlipayTradeSettleConfirmResponse response = null;
+        try {
+            response = alipayClient.execute(request);
+        } catch (AlipayApiException e) {
+            e.printStackTrace();
+        }
+        if(response.isSuccess()){
+            System.out.println("调用成功");
+            return ResultUtil.success();
+        } else {
+            System.out.println("调用失败");
+            return ResultUtil.error("出现问题啦");
+        }
+    }
     /**
      * 支付宝支付
      */
-
-    public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
-//        //构造client
+    public ResultUtil alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
+////        //构造client
 //        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
 //        //设置网关地址
 //        certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
@@ -142,6 +183,21 @@
         model.setTotalAmount(amount);//付款金额
         model.setProductCode("QUICK_MSECURITY_PAY");
         model.setPassbackParams(passbackParams);//自定义参数
+        SettleInfo settleInfo = new SettleInfo();
+        settleInfo.setSettlePeriodTime("3d");
+        SettleDetailInfo settleDetailInfo = new SettleDetailInfo();
+        settleDetailInfo.setTransInType("defaultSettle");
+        settleDetailInfo.setAmount(amount);
+        List<SettleDetailInfo> settleDetailInfos = new ArrayList<>();
+        settleDetailInfos.add(settleDetailInfo);
+        settleInfo.setSettleDetailInfos(settleDetailInfos);
+        model.setSettleInfo(settleInfo);
+        SubMerchant subMerchant = new SubMerchant();
+        subMerchant.setMerchantId(smid);
+        model.setSubMerchant(subMerchant);
+        ExtendParams extendParams = new ExtendParams();
+        extendParams.setRoyaltyFreeze("true");// 冻结资金 用于后续分账处理
+        model.setExtendParams(extendParams);
         request.setBizModel(model);
         request.setNotifyUrl(callbackPath + notifyUrl);
 
@@ -344,7 +400,7 @@
         }
         String nonce_str = UUIDUtil.getRandomCode(16);
         Map<String, Object> map = new HashMap<>();
-        map.put("appid", "APP".equals(tradeType) ? appid : appletsAppid);
+        map.put("appid", appid);
         map.put("mch_id", mchId);
         map.put("nonce_str", nonce_str);
         map.put("body", body);
@@ -425,7 +481,7 @@
                         String s1 = this.weixinSignature(map3);
                         map3.put("sign", s1);
                         System.err.println(map3);
-                        map3.put("siteBookingId", attach);
+                        map3.put("siteBooking", attach);
                         return ResultUtil.success(map3);
                 }
                 return null;

--
Gitblit v1.7.1