From f7e51fc7c91e474e5c0bcc79c47f074c0a59b5c3 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 11 十月 2023 20:03:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java |  348 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 268 insertions(+), 80 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
index 2d2a81b..65f604e 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -1,25 +1,43 @@
 package com.dsh.account.util;
 
+import cn.hutool.core.util.RandomUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alipay.api.AlipayApiException;
 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.*;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
+import com.dsh.account.dto.Receivers;
+import com.dsh.account.entity.OperatorUser;
+import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
+import com.dsh.account.feignclient.competition.model.PaymentCompetition;
+import com.dsh.account.feignclient.course.CoursePackageClient;
+import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
+import com.dsh.account.feignclient.other.SiteClient;
+import com.dsh.account.feignclient.other.model.SiteBooking;
+import com.dsh.account.mapper.RechargeRecordsMapper;
 import com.dsh.account.util.httpClinet.HttpClientUtil;
+//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingReceiver;
+//import com.github.binarywang.wxpay.bean.profitsharingV3.ProfitSharingRequest;
+//import com.github.binarywang.wxpay.service.ProfitSharingV3Service;
+//import com.github.binarywang.wxpay.service.WxPayService;
+
 import org.apache.commons.collections.map.HashedMap;
+import org.apache.http.client.methods.CloseableHttpResponse;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.dom4j.Document;
 import org.dom4j.DocumentException;
 import org.dom4j.Element;
 import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
 import javax.crypto.BadPaddingException;
 import javax.crypto.Cipher;
 import javax.crypto.IllegalBlockSizeException;
@@ -29,6 +47,7 @@
 import java.io.*;
 import java.math.BigDecimal;
 import java.net.InetAddress;
+import java.net.URLDecoder;
 import java.net.UnknownHostException;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
@@ -41,13 +60,13 @@
  */
 @Component
 public class PayMoneyUtil {
-    private String aliAppid = "";//支付宝appid
+    private String aliAppid = "2021004105665036";//支付宝appid
 
-    private String appPrivateKey = "";//支付宝开发者应用私钥
+    private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
 
-    private String alipayPublicKey = "";//支付宝应用公钥
+    private String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouYvZ1v4RiydwNOnGcU0Hb4hQu0x6XUooaE2Bi6/atNOobtFdunnATGP6OMOW7yF9DpP8qH5mbFXAiaQD721y/7qlayI50UcV4mngRU4ZcaAVE3bp721Eg2H85RISa+Tb1CiOh+pc9p4l5UBseKsvB2ruHHForfZDPI8FL7AVUKBYCQPsa4zL6KAO2C6KULaTg/lCa+bYQKU0n9ca569VtdsqJUyxB9eSZjVd+9nKl62FLqp2NELGj7cXqiVBgDnBnVS5ZUO3mrBM5z/AxQbw3RwE3JqdkhzUA1BFjejAlT2zIGNOjUFagF8ao0wGElYfuk0bum6Hz5qWAt02QdNNwIDAQAB";//支付宝应用公钥
 
-    private String alipay_public_key = "";//支付宝支付公钥
+    private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥
 
     private String appid = "";//微信appid
 
@@ -73,83 +92,126 @@
      * 支付宝支付
      */
     public ResultUtil alipay(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");
-        //设置应用Id
-        certAlipayRequest.setAppId(aliAppid);
-        //设置应用私钥
-        certAlipayRequest.setPrivateKey(appPrivateKey);
-        //设置请求格式,固定值json
-        certAlipayRequest.setFormat("json");
-        //设置字符集
-        certAlipayRequest.setCharset("UTF-8");
-        //设置签名类型
-        certAlipayRequest.setSignType("RSA2");
-        //设置应用公钥证书路径
-        certAlipayRequest.setCertPath(app_cert_path);
-        //设置支付宝公钥证书路径
-        certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path);
-        //设置支付宝根证书路径
-        certAlipayRequest.setRootCertPath(alipay_root_cert_path);
-        //构造client
-        AlipayClient alipayClient = null;
-        try {
-            alipayClient = new DefaultAlipayClient(certAlipayRequest);
-        } catch (AlipayApiException e) {
-            e.printStackTrace();
-        }
-        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
-        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest ();
-        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
-        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
-        model.setBody(body);
-        model.setSubject (subject);
-        model.setOutTradeNo (outTradeNo);
-        model.setTimeoutExpress ("30m" );
-        model.setTotalAmount (amount);
-        model.setProductCode ( "QUICK_MSECURITY_PAY" );
-        model.setPassbackParams(passbackParams);//自定义参数
-        request.setBizModel ( model );
-        request.setNotifyUrl (callbackPath + notifyUrl);
-        try  {
-            //这里和普通的接口调用不同,使用的是sdkExecute
-            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
-            Map<String, String> map = new HashMap<>();
-            map.put("orderString", response.getBody());
-            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
-            return ResultUtil.success(map);
-        }  catch (AlipayApiException e ) {
-            e.printStackTrace();
-        }
-
-
-//        //实例化客户端
-//        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
-//        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
-//        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
-//        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
-//        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
-//        model.setBody(body);//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
-//        model.setSubject(subject);//商品的标题/交易标题/订单标题/订单关键字等。
-//        model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
-//        model.setTimeoutExpress("30m");
-//        model.setTotalAmount(amount);//付款金额
-//        model.setProductCode("QUICK_MSECURITY_PAY");
-//        model.setPassbackParams(passbackParams);//自定义参数
-//        request.setBizModel(model);
-//        request.setNotifyUrl(callbackPath + notifyUrl);
+//        //构造client
+//        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
+//        //设置网关地址
+//        certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do");
+//        //设置应用Id
+//        certAlipayRequest.setAppId(aliAppid);
+//        //设置应用私钥
+//        certAlipayRequest.setPrivateKey(appPrivateKey);
+//        //设置请求格式,固定值json
+//        certAlipayRequest.setFormat("json");
+//        //设置字符集
+//        certAlipayRequest.setCharset("UTF-8");
+//        //设置签名类型
+//        certAlipayRequest.setSignType("RSA2");
+//        //设置应用公钥证书路径
+//        certAlipayRequest.setCertPath(app_cert_path);
+//        //设置支付宝公钥证书路径
+//        certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path);
+//        //设置支付宝根证书路径
+//        certAlipayRequest.setRootCertPath(alipay_root_cert_path);
+//        //构造client
+//        AlipayClient alipayClient = null;
 //        try {
+//            alipayClient = new DefaultAlipayClient(certAlipayRequest);
+//        } catch (AlipayApiException e) {
+//            e.printStackTrace();
+//        }
+//        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
+//        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest ();
+//        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
+//        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
+//        model.setBody(body);
+//        model.setSubject (subject);
+//        model.setOutTradeNo (outTradeNo);
+//        model.setTimeoutExpress ("30m" );
+//        model.setTotalAmount (amount);
+//        model.setProductCode ( "QUICK_MSECURITY_PAY" );
+//        model.setPassbackParams(passbackParams);//自定义参数
+//        request.setBizModel ( model );
+//        request.setNotifyUrl (callbackPath + notifyUrl);
+//        try  {
 //            //这里和普通的接口调用不同,使用的是sdkExecute
 //            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
 //            Map<String, String> map = new HashMap<>();
 //            map.put("orderString", response.getBody());
 //            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
 //            return ResultUtil.success(map);
-//        } catch (AlipayApiException e) {
+//        }  catch (AlipayApiException e ) {
 //            e.printStackTrace();
 //        }
+
+
+        //实例化客户端
+        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
+        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
+        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
+        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
+        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
+        model.setBody(body);//对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
+        model.setSubject(subject);//商品的标题/交易标题/订单标题/订单关键字等。
+        model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
+        model.setTimeoutExpress("30m");
+        model.setTotalAmount(amount);//付款金额
+        model.setProductCode("QUICK_MSECURITY_PAY");
+        model.setPassbackParams(passbackParams);//自定义参数
+
+
+        //分账
+        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
+        Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
+        Integer siteBookings = siteClient.queryByCode(outTradeNo);
+        List<Integer> stores = new ArrayList<>();
+        stores.add(coursePackagePayments);
+        stores.add(paymentCompetitions);
+        stores.add(siteBookings);
+
+        OperatorUser operatorUser = siteClient.queryOperator(stores);
+
+        String alipayProportion = operatorUser.getAlipayProportion();
+        String alipayNum = operatorUser.getAlipayNum();
+
+        ExtendParams extendParams = new ExtendParams();
+//        extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID");
+        model.setExtendParams(extendParams);
+
+        RoyaltyInfo royaltyInfo = new RoyaltyInfo();
+//        royaltyInfo.setRoyaltyType("transfer");
+
+
+        RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos();
+        royaltyDetailInfo1.setTransOutType("userId");
+        royaltyDetailInfo1.setTransOut(aliAppid);
+        royaltyDetailInfo1.setTransInType("loginName");
+        royaltyDetailInfo1.setTransIn("18398968484");
+
+        royaltyDetailInfo1.setDesc("分账描述1");
+        royaltyDetailInfo1.setAmountPercentage(alipayProportion);
+        List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
+
+
+
+
+        royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos);
+        model.setRoyaltyInfo(royaltyInfo);
+        System.err.println("=================="+royaltyInfo);
+
+
+        //
+        request.setBizModel(model);
+        request.setNotifyUrl(callbackPath + notifyUrl);
+        try {
+            //这里和普通的接口调用不同,使用的是sdkExecute
+            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
+            Map<String, String> map = new HashMap<>();
+            map.put("orderString", response.getBody());
+            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
+            return ResultUtil.success(map);
+        } catch (AlipayApiException e) {
+            e.printStackTrace();
+        }
         return null;
     }
 
@@ -256,11 +318,11 @@
      * @throws Exception
      */
     public ResultUtil queryALIOrder(String out_trade_no) throws Exception{
-        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2");
+        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2");
         AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
         request.setBizContent("{" +
-                "\"out_trade_no\":" + out_trade_no +
-                "  }");
+                "  \"out_trade_no\":\"" + out_trade_no + "\"" +
+                "}");
         AlipayTradeQueryResponse response = alipayClient.execute(request);
         if(response.isSuccess()){
             String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)
@@ -341,6 +403,10 @@
             if("SUCCESS".equals(result_code)){
                 String type = map1.get("trade_type");
                 String prepay_id = map1.get("prepay_id");
+
+
+
+
                 switch (type){
                     case "JSAPI":
                         //重新进行签名后返回给前端
@@ -387,7 +453,8 @@
     }
 
 
-
+    @Resource
+    private RechargeRecordsMapper rereMapper;
 
 
     /**
@@ -412,6 +479,9 @@
                     map1.put("transaction_id", map.get("transaction_id"));//微信支付订单号
                     String result = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
                     map1.put("result", result);
+
+
+
                     return map1;
                 }else{
                     System.err.println(map.get("err_code_des"));
@@ -423,10 +493,120 @@
             e.printStackTrace();
         } catch (DocumentException e) {
             e.printStackTrace();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
         return null;
     }
 
+@Resource
+private CoursePackageClient coursePackageClient;
+    @Resource
+    private DeductionCompetitionsClient competitionsClient;
+
+    @Resource
+    private SiteClient siteClient;
+//    @Autowired
+//    private WxPayService wxPayService;
+    //分账
+//    public ResultUtil order(String code) throws Exception {
+//
+//
+//
+//                  Integer    coursePackagePayments = coursePackageClient.queryByCode(code);
+//                  Integer paymentCompetitions = competitionsClient.queryByCode(code);
+//                  Integer siteBookings = siteClient.queryByCode(code);
+//        List<Integer> stores = new ArrayList<>();
+//                stores.add(coursePackagePayments);
+//                stores.add(paymentCompetitions);
+//                stores.add(siteBookings);
+//
+//                OperatorUser operatorUser = siteClient.queryOperator(stores);
+//
+//
+////        WxPayService myWxPayService = wxPayService.switchoverTo("mch_id");
+////
+////        ProfitSharingV3Service profitSharingV3Service = myWxPayService.getProfitSharingV3Service();
+//
+//        String nonceStr = RandomUtil.randomString(32);
+//        String appId = "您的appid";
+//
+//
+//        //添加分账方
+//
+////        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
+////        profitSharingReceiver.setAccount("appid对应的openId");
+////        profitSharingReceiver.setAmount(1l);
+////        profitSharingReceiver.setAppid(appId);
+////        profitSharingReceiver.setType("PERSONAL_OPENID");
+////        profitSharingReceiver.setRelationType("PARTNER");
+////        profitSharingV3Service.addProfitSharingReceiver(profitSharingReceiver);
+//
+//        //分账
+//        ProfitSharingRequest profitSharingRequest = new ProfitSharingRequest();
+//        profitSharingRequest.setAppid(appId);
+//        profitSharingRequest.setTransactionId("微信支付订单号");
+//        profitSharingRequest.setOutOrderNo("业务系统唯一编号");
+//        //分账完成后,剩余金额自动解冻并返回给商户账号,默认false
+//        profitSharingRequest.setUnfreezeUnsplit(true);
+//        //待分账金额1元
+//        Long money = 1L;
+//        List<ProfitSharingReceiver> profitSharingReceivers = new ArrayList<>();
+//        ProfitSharingReceiver profitSharingReceiver = new ProfitSharingReceiver();
+//        profitSharingReceiver.setAccount("appid对应的openId,分账用户1");
+//
+//
+//        //分账百分之5
+//        profitSharingReceiver.setAmount(money * 100 / 5);
+//        profitSharingReceiver.setAppid(appId);
+//        profitSharingReceiver.setType("PERSONAL_OPENID");
+//        profitSharingReceiver.setRelationType("PARTNER");
+//        profitSharingReceiver.setDescription("test01");
+//        profitSharingReceivers.add(profitSharingReceiver);
+//
+//        ProfitSharingReceiver receiver = new ProfitSharingReceiver();
+//        receiver.setAccount("appid对应的openId,分账用户2");
+//        //百分之10
+//        receiver.setAmount(money * 100 / 10);
+//        receiver.setAppid(appId);
+//        receiver.setType("PERSONAL_OPENID");
+//        receiver.setRelationType("PARTNER");
+//        receiver.setDescription("test02");
+//        profitSharingReceivers.add(receiver);
+//
+//
+//        profitSharingRequest.setReceivers(profitSharingReceivers);
+//
+//        profitSharingV3Service.profitSharing(profitSharingRequest);
+//
+//
+//
+//
+////                    Map<String,String> headers = new HashMap<>();
+////                    headers.put("Authorization",map.get("sign"));
+////                    headers.put("Accept","application/json");
+////                    headers.put("Wechatpay-Serial",certPath);
+////
+////                    List<Receivers> receivers = new ArrayList<>();
+////
+////                    Map<String,Object> body = new HashMap<>();
+////                    body.put("appid",appid);
+////                    body.put("transaction_id",map.get("transaction_id"));
+////                    body.put("out_order_no",map.get("out_trade_no"));
+////                    body.put("receivers",receivers);
+////                    body.put("unfreeze_unsplit",true);
+//
+//                    //支付分账
+////                    String url ="https://api.mch.weixin.qq.com/v3/profitsharing/orders";
+////                    CloseableHttpResponse closeableHttpResponse = HttpClientUtil.setPostHttpRequset(url, body, headers, "application/json");
+////
+//
+//            return  null;
+//
+//
+//
+//
+//    }
 
     /**
      * 微信扫码收款
@@ -1108,10 +1288,18 @@
     }
 
 
-    public static void main(String[] ages){
+//    public static void main(String[] ages){
 //        PayMoneyUtil payMoneyUtil = new PayMoneyUtil();
-//        payMoneyUtil.weixinpay("测试", "123", "12.5", "");
-    }
+//        ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com");
+//        System.err.println(ce);
+//        ResultUtil resultUtil = null;
+//        try {
+//            resultUtil = payMoneyUtil.queryALIOrder("121456457");
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//        System.err.println(resultUtil);
+//    }
 
 
     /**

--
Gitblit v1.7.1