From e030255c23c7ba3e2cbad1036a810d6d72fa864f Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期四, 26 十月 2023 18:04:58 +0800
Subject: [PATCH] 修改bug

---
 cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 7 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 ccf2f0f..915a855 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
@@ -7,8 +7,12 @@
 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.request.*;
 import com.alipay.api.response.*;
+import lombok.Synchronized;
 import org.apache.commons.collections.map.HashedMap;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.dom4j.Document;
@@ -19,6 +23,7 @@
 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;
@@ -68,9 +73,11 @@
 
 
 
+
     /**
      * 支付宝支付
      */
+
     public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl){
 //        //构造client
 //        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
@@ -139,12 +146,57 @@
         model.setPassbackParams(passbackParams);//自定义参数
         request.setBizModel(model);
         request.setNotifyUrl(callbackPath + notifyUrl);
+
+
+
+
+        //分账
+//        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.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID");
+        ExtendParams extendParams = new ExtendParams();
+        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("10");
+        List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>();
+
+
+
+
+        royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos);
+        model.setRoyaltyInfo(royaltyInfo);
+        System.err.println("========royaltyInfo=========="+royaltyInfo);
+
+
+
         try {
             //这里和普通的接口调用不同,使用的是sdkExecute
             AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
             Map<String, String> map = new HashMap<>();
             map.put("orderString", response.getBody());
-            System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。
+            System.err.println("========map=========="+map);//就是orderString 可以直接给客户端请求,无需再做处理。
+            map.put("siteBooking",passbackParams);
             return ResultUtil.success(map);
         } catch (AlipayApiException e) {
             e.printStackTrace();
@@ -255,11 +307,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(交易结束,不可退款)
@@ -372,6 +424,7 @@
                         String s1 = this.weixinSignature(map3);
                         map3.put("sign", s1);
                         System.err.println(map3);
+                        map3.put("siteBookingId",attach);
                         return ResultUtil.success(map3);
                 }
                 return null;
@@ -1107,10 +1160,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