From 74b0af6814b96378201ea27d205e054bf01d0306 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 21 四月 2026 14:20:22 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/config/alipay/AlipayFundTransUniTransfer.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 145 insertions(+), 22 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/config/alipay/AlipayFundTransUniTransfer.java b/server/services/src/main/java/com/doumee/config/alipay/AlipayFundTransUniTransfer.java
index b182a56..be51792 100644
--- a/server/services/src/main/java/com/doumee/config/alipay/AlipayFundTransUniTransfer.java
+++ b/server/services/src/main/java/com/doumee/config/alipay/AlipayFundTransUniTransfer.java
@@ -7,15 +7,57 @@
import com.alipay.v3.Configuration;
import com.alipay.v3.api.AlipayFundTransUniApi;
import com.alipay.v3.model.*;
+import com.doumee.config.mybatis.SpringUtils;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.dto.AlipayTransferDTO;
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import com.wechat.pay.java.core.http.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.annotation.PostConstruct;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Slf4j
+@org.springframework.context.annotation.Configuration
public class AlipayFundTransUniTransfer {
+
+ @Autowired
+ private AlipayProperties alipayProperties;
+
+ private static AlipayConfig alipayConfig;
+
+ public static AlipayFundTransUniTransfer me() {
+ return SpringUtils.get().getBean(AlipayFundTransUniTransfer.class);
+ }
+
+ @PostConstruct
+ void init() {
+ this.loadAlipayConfig();
+ }
+
+ public void loadAlipayConfig() {
+ try {
+ AlipayConfig config = new AlipayConfig();
+ config.setServerUrl("https://openapi.alipay.com");
+ config.setAppId("2021006147660139");
+ String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEeqqkZztBHfK+vpyBi6ejgDTHZuZ3yiuXds+lRBbMo/g24F5trH+oLHW0gMhSxihFfQBBIpVBXDsPQK4ZkhDWTaOBktnU1UMRoOEiaaZU6EiWy10ePFUmpdXpkCQEp7rc88OwI90p58S3+L+Ckak60WqNwJBdB5YGBaUunryBA78U4zW1KNY7JvoRnZDcFMQiczikwUzhO7EAi0yVrVpsVsc9s87mcS4uOJKx4qb2E83r9RJ1z30db+cIIZRiLP2oNZBLYzgKpOouE+uIgxhQzlh6cOASNZQulXuUjoT/+Y9w4njfl4TmKIXWcJFKIMc6kMiux9tTncpp0TqRwk1tAgMBAAECggEALkSYtJheusnbpRFr95G0i2sggqh3s1PXihZ/dXKgT9Z5GCsj8X3Cng7CNRxykBN73kk+axhCv56Bhej8Vqcv8ddcnqG/TEBgR+Fzws/QTIRau6/uILWic7RvuE2qPbJl7aw1s9/uL/UVPSGFr7CvgltYVUM4e7/Sk1529JCK4XJfoXP5tKJ3OaXssvaFnCKEU8IGQkjRG+lUZJhAHVtClGHtgrhevgRhy2zre5wp2qSa8d/MqrPruSYS02hn9b5Nl6i2PlUS6dGlJ4lrxYTG22ukYYoxAPNPS7gnvmveXonWP7b5tPhKRpZjnoySojz3WECUlhz/v8wM1cDrpq+GQQKBgQDsc7y2rlx4f77a7ORfb5/qWHCOJs1cIzggj0kJ7TgFGe71kbCQ5nywD/Fe5V9OwbW+DCxOME+SrrHeiK4axWiu5si/1JlurJoxNy+4k4ywk3ZA3Nv2aBhlPqfkwDhJ0z7Mgsq2c/YgnVddmSvKZoC39wA77ovks4GDxaBOt8N7PQKBgQDUuPGgzkwcgb60UdaxfMbacrPsW26vDxaE4ceuXo2m8KDiCIqkF2y9r6AdWMTgGGSJwOsk7+FP+21VdRivCg9HcOLWngveUc6xDIuqKHVpemMo3SdCF4Wqf96rRc3VOBr5cfIdWxeorZf5umMyKnIAjAFETOOrK7eLTTmjyLD98QKBgB82S+Plcklpu3zUpnS+nGJn2Du7fYI7F+6cW2zXBn0N5lA+Mgt+kVkAUcFQD9uqkF4M51BO6kIXk10nt6vLAT2NM1S3MKW+XQBAI6l+uKSaYpK/VL3bEdVThwAYK5X7L5/5Z97bwdKeUmkFjhVCoJ0oGrzOiWLgGymUzct2UHSVAoGBAMb+7Cs+Ub0pMrmFBY6r52pbey1Uq0pglvRgMmhQU7sjx50r2GaA81zPer15WVM5/nNPYaoALYqg7jrPe/PjOT/fvpR+7SNg7DZ8QftANfYiY7jKifst/gDt9ePLPS6FedZ4XcJQgOVu34jicAFx64vPbS/zrddm4iEScSVijRBBAoGAXCheERsx8+n16Us/DttXFUa1nc7+D8WR6buM1QMZgQCVF2qp3XtM+FusCKL4+q1+dtag8svLjJFp9QbaAXqX8Zk7rn8wUHbDloPTPy9XWgrPowyL9MPU+e/Rq8Hr6TWPDBd4TU64YzIEfBQYpJXfZbXhVYmK3o7xHXKB1x4vvEM=";
+ config.setPrivateKey(privateKey);
+ config.setAppCertPath("pay/pro/appCertPublicKey.crt");
+ config.setAlipayPublicCertPath("pay/pro/alipayCertPublicKey_RSA2.crt");
+ config.setRootCertPath("pay/pro/alipayRootCert.crt");
+ alipayConfig = config;
+ log.info("鏀粯瀹濋厤缃垵濮嬪寲鎴愬姛, appId={}", config.getAppId());
+ } catch (Exception e) {
+ log.error("鏀粯瀹濋厤缃垵濮嬪寲澶辫触: {}", e.getMessage(), e);
+ }
+ }
+
public static void main(String[] args) throws ApiException {
downLoadCertificates();
@@ -60,45 +102,120 @@
}
}
- public static void testTransger( ) throws ApiException {
+// public static void testTransger( ) throws ApiException {
+//
+// // 鍒濆鍖朣DK
+// ApiClient defaultClient = Configuration.getDefaultApiClient();
+// // 鍒濆鍖朼lipay鍙傛暟锛堝叏灞�璁剧疆涓�娆★級
+// defaultClient.setAlipayConfig(getAlipayConfig());
+// // 鏋勯�犺姹傚弬鏁颁互璋冪敤鎺ュ彛
+// AlipayFundTransUniApi api = new AlipayFundTransUniApi();
+// AlipayFundTransUniTransferModel data = new AlipayFundTransUniTransferModel();
+// // 璁剧疆鍟嗗渚у敮涓�璁㈠崟鍙�
+// data.setOutBizNo("202606300001");
+// // 璁剧疆璁㈠崟鎬婚噾棰�
+// data.setTransAmount("1");
+// // 璁剧疆鎻忚堪鐗瑰畾鐨勪笟鍔″満鏅�
+// data.setBizScene("DIRECT_TRANSFER");
+// // 璁剧疆涓氬姟浜у搧鐮�
+// data.setProductCode("TRANS_ACCOUNT_NO_PWD");
+// // 璁剧疆杞处涓氬姟鐨勬爣棰�
+// data.setOrderTitle("201905浠e彂");
+// // 璁剧疆鍘熸敮浠樺疂涓氬姟鍗曞彿
+// data.setOriginalOrderId("20190620110075000006640000063056");
+// // 璁剧疆鏀舵鏂逛俊鎭�
+// Participant payeeInfo = new Participant();
+// payeeInfo.setIdentity("15345690849");
+// payeeInfo.setName("姹熻悕");
+// payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
+// data.setPayeeInfo(payeeInfo);
+// // 璁剧疆涓氬姟澶囨敞
+// data.setRemark("201905浠e彂");
+// // 璁剧疆杞处鍦烘櫙鍚嶇О
+// data.setTransferSceneName("浣i噾鎶ラ叕");
+//
+// // 璁剧疆杞处鍦烘櫙涓婃姤淇℃伅
+// List<TransferSceneReportInfo> transferSceneReportInfos = new ArrayList<TransferSceneReportInfo>();
+// TransferSceneReportInfo transferSceneReportInfos0 = new TransferSceneReportInfo();
+// transferSceneReportInfos0.setInfoType("浣i噾鎶ラ叕璇存槑");
+// transferSceneReportInfos0.setInfoContent("3鏈堝鏀挎湇鍔℃姤閰�");
+// transferSceneReportInfos.add(transferSceneReportInfos0);
+// data.setTransferSceneReportInfos(transferSceneReportInfos);
+//
+// // 璁剧疆杞处涓氬姟璇锋眰鐨勬墿灞曞弬鏁�
+// data.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
+//
+// /* // 璁剧疆绛惧悕淇℃伅
+// SignData signData = new SignData();
+// signData.setOriSign("EqHFP0z4a9iaQ1ep==");
+// signData.setPartnerId("绛惧悕琚巿鏉冩柟鏀粯瀹濊处鍙稩D");
+// signData.setOriAppId("2021000185629012");
+// signData.setOriOutBizNo("鍟嗘埛璁㈠崟鍙�");
+// signData.setOriSignType("RSA2");
+// signData.setOriCharSet("UTF-8");
+// data.setSignData(signData);
+//*/
+// try {
+// AlipayFundTransUniTransferResponseModel response = api.transfer(data);
+// } catch (ApiException e) {
+// AlipayFundTransUniTransferDefaultResponse errorObject = (AlipayFundTransUniTransferDefaultResponse) e.getErrorObject();
+// System.out.println("璋冪敤澶辫触:" + errorObject);
+// }
+// }
- // 鍒濆鍖朣DK
+ /**
+ * 鍗曠瑪杞处鍒版敮浠樺疂璐︽埛
+ *
+ * @param dto 杞处鍙傛暟
+ * @return 鏀粯瀹濊浆璐﹀崟鍙�
+ */
+ public static String transfer(AlipayTransferDTO dto) throws ApiException {
ApiClient defaultClient = Configuration.getDefaultApiClient();
- // 鍒濆鍖朼lipay鍙傛暟锛堝叏灞�璁剧疆涓�娆★級
- defaultClient.setAlipayConfig(getAlipayConfig());
// 鏋勯�犺姹傚弬鏁颁互璋冪敤鎺ュ彛
+ defaultClient.setAlipayConfig(alipayConfig);
AlipayFundTransUniApi api = new AlipayFundTransUniApi();
AlipayFundTransUniTransferModel data = new AlipayFundTransUniTransferModel();
// 璁剧疆鍟嗗渚у敮涓�璁㈠崟鍙�
- data.setOutBizNo("202606300001");
+ data.setOutBizNo(dto.getOutBizNo());
// 璁剧疆璁㈠崟鎬婚噾棰�
data.setTransAmount("1");
// 璁剧疆鎻忚堪鐗瑰畾鐨勪笟鍔″満鏅�
+ data.setOutBizNo(dto.getOutBizNo());
+ data.setTransAmount(dto.getTransAmount().setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
data.setBizScene("DIRECT_TRANSFER");
// 璁剧疆涓氬姟浜у搧鐮�
data.setProductCode("TRANS_ACCOUNT_NO_PWD");
// 璁剧疆杞处涓氬姟鐨勬爣棰�
- data.setOrderTitle("201905浠e彂");
+ data.setOrderTitle("浣i噾鎶ラ叕");
// 璁剧疆鍘熸敮浠樺疂涓氬姟鍗曞彿
data.setOriginalOrderId("20190620110075000006640000063056");
// 璁剧疆鏀舵鏂逛俊鎭�
+ data.setOrderTitle("浣i噾鎶ラ叕");
Participant payeeInfo = new Participant();
- payeeInfo.setIdentity("15345690849");
- payeeInfo.setName("姹熻悕");
+ payeeInfo.setIdentity(dto.getPayeeAccount());
+ payeeInfo.setName(dto.getPayeeName());
+ payeeInfo.setIdentity(dto.getPayeeAccount());
+ payeeInfo.setName(dto.getPayeeName());
payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
data.setPayeeInfo(payeeInfo);
// 璁剧疆涓氬姟澶囨敞
- data.setRemark("201905浠e彂");
+ data.setRemark("浣i噾鎶ラ叕");
// 璁剧疆杞处鍦烘櫙鍚嶇О
+ data.setRemark(dto.getRemark());
data.setTransferSceneName("浣i噾鎶ラ叕");
-
// 璁剧疆杞处鍦烘櫙涓婃姤淇℃伅
List<TransferSceneReportInfo> transferSceneReportInfos = new ArrayList<TransferSceneReportInfo>();
TransferSceneReportInfo transferSceneReportInfos0 = new TransferSceneReportInfo();
transferSceneReportInfos0.setInfoType("浣i噾鎶ラ叕璇存槑");
- transferSceneReportInfos0.setInfoContent("3鏈堝鏀挎湇鍔℃姤閰�");
+ transferSceneReportInfos0.setInfoContent("浣i噾鎶ラ叕");
transferSceneReportInfos.add(transferSceneReportInfos0);
data.setTransferSceneReportInfos(transferSceneReportInfos);
+ List<TransferSceneReportInfo> reportInfos = new ArrayList<>();
+ TransferSceneReportInfo reportInfo = new TransferSceneReportInfo();
+ reportInfo.setInfoType("浣i噾鎶ラ叕璇存槑");
+ reportInfo.setInfoContent("浣i噾鎶ラ叕");
+ reportInfos.add(reportInfo);
+ data.setTransferSceneReportInfos(reportInfos);
// 璁剧疆杞处涓氬姟璇锋眰鐨勬墿灞曞弬鏁�
data.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
@@ -115,22 +232,28 @@
*/
try {
AlipayFundTransUniTransferResponseModel response = api.transfer(data);
+ log.info("鏀粯瀹濊浆璐︽垚鍔�, outBizNo={}, orderId={}", dto.getOutBizNo(), response.getOrderId());
+ return response.getOrderId();
} catch (ApiException e) {
AlipayFundTransUniTransferDefaultResponse errorObject = (AlipayFundTransUniTransferDefaultResponse) e.getErrorObject();
System.out.println("璋冪敤澶辫触:" + errorObject);
+ log.error("鏀粯瀹濊浆璐﹀け璐�, outBizNo={}, error={}", dto.getOutBizNo(), errorObject);
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),
+ "杞处澶辫触锛�" + (errorObject != null ? errorObject.toString() : e.getMessage()));
}
}
- private static AlipayConfig getAlipayConfig() {
- AlipayConfig alipayConfig = new AlipayConfig();
- alipayConfig.setServerUrl("https://openapi.alipay.com");
- alipayConfig.setAppId("2021006147660139");
- String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEeqqkZztBHfK+vpyBi6ejgDTHZuZ3yiuXds+lRBbMo/g24F5trH+oLHW0gMhSxihFfQBBIpVBXDsPQK4ZkhDWTaOBktnU1UMRoOEiaaZU6EiWy10ePFUmpdXpkCQEp7rc88OwI90p58S3+L+Ckak60WqNwJBdB5YGBaUunryBA78U4zW1KNY7JvoRnZDcFMQiczikwUzhO7EAi0yVrVpsVsc9s87mcS4uOJKx4qb2E83r9RJ1z30db+cIIZRiLP2oNZBLYzgKpOouE+uIgxhQzlh6cOASNZQulXuUjoT/+Y9w4njfl4TmKIXWcJFKIMc6kMiux9tTncpp0TqRwk1tAgMBAAECggEALkSYtJheusnbpRFr95G0i2sggqh3s1PXihZ/dXKgT9Z5GCsj8X3Cng7CNRxykBN73kk+axhCv56Bhej8Vqcv8ddcnqG/TEBgR+Fzws/QTIRau6/uILWic7RvuE2qPbJl7aw1s9/uL/UVPSGFr7CvgltYVUM4e7/Sk1529JCK4XJfoXP5tKJ3OaXssvaFnCKEU8IGQkjRG+lUZJhAHVtClGHtgrhevgRhy2zre5wp2qSa8d/MqrPruSYS02hn9b5Nl6i2PlUS6dGlJ4lrxYTG22ukYYoxAPNPS7gnvmveXonWP7b5tPhKRpZjnoySojz3WECUlhz/v8wM1cDrpq+GQQKBgQDsc7y2rlx4f77a7ORfb5/qWHCOJs1cIzggj0kJ7TgFGe71kbCQ5nywD/Fe5V9OwbW+DCxOME+SrrHeiK4axWiu5si/1JlurJoxNy+4k4ywk3ZA3Nv2aBhlPqfkwDhJ0z7Mgsq2c/YgnVddmSvKZoC39wA77ovks4GDxaBOt8N7PQKBgQDUuPGgzkwcgb60UdaxfMbacrPsW26vDxaE4ceuXo2m8KDiCIqkF2y9r6AdWMTgGGSJwOsk7+FP+21VdRivCg9HcOLWngveUc6xDIuqKHVpemMo3SdCF4Wqf96rRc3VOBr5cfIdWxeorZf5umMyKnIAjAFETOOrK7eLTTmjyLD98QKBgB82S+Plcklpu3zUpnS+nGJn2Du7fYI7F+6cW2zXBn0N5lA+Mgt+kVkAUcFQD9uqkF4M51BO6kIXk10nt6vLAT2NM1S3MKW+XQBAI6l+uKSaYpK/VL3bEdVThwAYK5X7L5/5Z97bwdKeUmkFjhVCoJ0oGrzOiWLgGymUzct2UHSVAoGBAMb+7Cs+Ub0pMrmFBY6r52pbey1Uq0pglvRgMmhQU7sjx50r2GaA81zPer15WVM5/nNPYaoALYqg7jrPe/PjOT/fvpR+7SNg7DZ8QftANfYiY7jKifst/gDt9ePLPS6FedZ4XcJQgOVu34jicAFx64vPbS/zrddm4iEScSVijRBBAoGAXCheERsx8+n16Us/DttXFUa1nc7+D8WR6buM1QMZgQCVF2qp3XtM+FusCKL4+q1+dtag8svLjJFp9QbaAXqX8Zk7rn8wUHbDloPTPy9XWgrPowyL9MPU+e/Rq8Hr6TWPDBd4TU64YzIEfBQYpJXfZbXhVYmK3o7xHXKB1x4vvEM=";
- alipayConfig.setPrivateKey(privateKey);
- alipayConfig.setAppCertPath("pay/pro/appCertPublicKey.crt");
- alipayConfig.setAlipayPublicCertPath("pay/pro/alipayCertPublicKey_RSA2.crt");
- alipayConfig.setRootCertPath("pay/pro/alipayRootCert.crt");
- return alipayConfig;
- }
+// private static AlipayConfig getAlipayConfig() {
+// AlipayConfig alipayConfig = new AlipayConfig();
+// alipayConfig.setServerUrl("https://openapi.alipay.com");
+// alipayConfig.setAppId("2021006147660139");
+// String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEeqqkZztBHfK+vpyBi6ejgDTHZuZ3yiuXds+lRBbMo/g24F5trH+oLHW0gMhSxihFfQBBIpVBXDsPQK4ZkhDWTaOBktnU1UMRoOEiaaZU6EiWy10ePFUmpdXpkCQEp7rc88OwI90p58S3+L+Ckak60WqNwJBdB5YGBaUunryBA78U4zW1KNY7JvoRnZDcFMQiczikwUzhO7EAi0yVrVpsVsc9s87mcS4uOJKx4qb2E83r9RJ1z30db+cIIZRiLP2oNZBLYzgKpOouE+uIgxhQzlh6cOASNZQulXuUjoT/+Y9w4njfl4TmKIXWcJFKIMc6kMiux9tTncpp0TqRwk1tAgMBAAECggEALkSYtJheusnbpRFr95G0i2sggqh3s1PXihZ/dXKgT9Z5GCsj8X3Cng7CNRxykBN73kk+axhCv56Bhej8Vqcv8ddcnqG/TEBgR+Fzws/QTIRau6/uILWic7RvuE2qPbJl7aw1s9/uL/UVPSGFr7CvgltYVUM4e7/Sk1529JCK4XJfoXP5tKJ3OaXssvaFnCKEU8IGQkjRG+lUZJhAHVtClGHtgrhevgRhy2zre5wp2qSa8d/MqrPruSYS02hn9b5Nl6i2PlUS6dGlJ4lrxYTG22ukYYoxAPNPS7gnvmveXonWP7b5tPhKRpZjnoySojz3WECUlhz/v8wM1cDrpq+GQQKBgQDsc7y2rlx4f77a7ORfb5/qWHCOJs1cIzggj0kJ7TgFGe71kbCQ5nywD/Fe5V9OwbW+DCxOME+SrrHeiK4axWiu5si/1JlurJoxNy+4k4ywk3ZA3Nv2aBhlPqfkwDhJ0z7Mgsq2c/YgnVddmSvKZoC39wA77ovks4GDxaBOt8N7PQKBgQDUuPGgzkwcgb60UdaxfMbacrPsW26vDxaE4ceuXo2m8KDiCIqkF2y9r6AdWMTgGGSJwOsk7+FP+21VdRivCg9HcOLWngveUc6xDIuqKHVpemMo3SdCF4Wqf96rRc3VOBr5cfIdWxeorZf5umMyKnIAjAFETOOrK7eLTTmjyLD98QKBgB82S+Plcklpu3zUpnS+nGJn2Du7fYI7F+6cW2zXBn0N5lA+Mgt+kVkAUcFQD9uqkF4M51BO6kIXk10nt6vLAT2NM1S3MKW+XQBAI6l+uKSaYpK/VL3bEdVThwAYK5X7L5/5Z97bwdKeUmkFjhVCoJ0oGrzOiWLgGymUzct2UHSVAoGBAMb+7Cs+Ub0pMrmFBY6r52pbey1Uq0pglvRgMmhQU7sjx50r2GaA81zPer15WVM5/nNPYaoALYqg7jrPe/PjOT/fvpR+7SNg7DZ8QftANfYiY7jKifst/gDt9ePLPS6FedZ4XcJQgOVu34jicAFx64vPbS/zrddm4iEScSVijRBBAoGAXCheERsx8+n16Us/DttXFUa1nc7+D8WR6buM1QMZgQCVF2qp3XtM+FusCKL4+q1+dtag8svLjJFp9QbaAXqX8Zk7rn8wUHbDloPTPy9XWgrPowyL9MPU+e/Rq8Hr6TWPDBd4TU64YzIEfBQYpJXfZbXhVYmK3o7xHXKB1x4vvEM=";
+// alipayConfig.setPrivateKey(privateKey);
+// alipayConfig.setAppCertPath("pay/pro/appCertPublicKey.crt");
+// alipayConfig.setAlipayPublicCertPath("pay/pro/alipayCertPublicKey_RSA2.crt");
+// alipayConfig.setRootCertPath("pay/pro/alipayRootCert.crt");
+//
+// return alipayConfig;
+// }
}
\ No newline at end of file
--
Gitblit v1.9.3