From 7b487d4c819bc67021cf224c5042066bf73df1e3 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期六, 28 十月 2023 17:01:00 +0800
Subject: [PATCH] 10.28。2
---
cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 63 +++++++++++++++++++++++++++++--
1 files changed, 59 insertions(+), 4 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 c957ee1..e9a7ebc 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();
@@ -254,18 +306,20 @@
* @return
* @throws Exception
*/
- public ResultUtil queryALIOrder(String out_trade_no) throws Exception{
+ public AlipayTradeQueryResponse 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");
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.setBizContent("{" +
" \"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(交易结束,不可退款)
- return ResultUtil.success(tradeStatus);
+ return response;
} else {
- return ResultUtil.error(response.getMsg());
+// return ResultUtil.error(response.getMsg());
+ return response;
}
}
@@ -372,6 +426,7 @@
String s1 = this.weixinSignature(map3);
map3.put("sign", s1);
System.err.println(map3);
+ map3.put("siteBookingId",attach);
return ResultUtil.success(map3);
}
return null;
--
Gitblit v1.7.1