From 1d1dbcdb6382b6c09fa0cdb6b0fbcbbea9e43e85 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 19 八月 2025 19:03:31 +0800
Subject: [PATCH] 跨城推广

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java |  127 +++++++++++++++++++++--------------------
 1 files changed, 65 insertions(+), 62 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
index 9ccb662..67be182 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -6,6 +6,7 @@
 import com.google.gson.Gson;
 import com.open.common.util.OpenApiClient;
 import com.open.common.util.SystemParameterNames;
+import com.stylefeng.guns.modular.system.util.SpringContextsUtil;
 import com.stylefeng.guns.modular.system.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
 import lombok.extern.slf4j.Slf4j;
@@ -22,6 +23,8 @@
  */
 @Slf4j
 public class OrderUtil {
+	
+	private static QianYunTongConfig qianYunTongConfig = SpringContextsUtil.getBean(QianYunTongConfig.class).getQianYunTongConfig();
 	
 	
 	public static void main(String[] args) {
@@ -181,15 +184,15 @@
 	 * @return
 	 */
 	public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data) {
-		tradePayOff1Data.setPartnerId("5400004");
+		tradePayOff1Data.setPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004");
 		tradePayOff1Data.setTimeout("72H");
 		tradePayOff1Data.setScene("TRAFFIC");
 		tradePayOff1Data.setCurrency("RMB");
 		tradePayOff1Data.setNeedLoginFlag("N");
 		tradePayOff1Data.setAccessMode("APP");
 		tradePayOff1Data.getGoodsInfo().forEach(goodsInfoRequest -> {
-			goodsInfoRequest.setId("981100006005901");
-			goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+			goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "9811000039358999" : "981100006005901");
+			goodsInfoRequest.setSubAppId(qianYunTongConfig.getAppId());
 			
 			goodsInfoRequest.setAreaInfo("520100");
 			goodsInfoRequest.setPayType("0");
@@ -198,17 +201,17 @@
 		
 		
 		TradeRequest request = new TradeRequest<TradePayOff1Data>();
-		request.setSceneId("1911676727023968256");
-		request.setAppId(QianYunTongProperties.appkey);
+		request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954795404533583872" : "1911676727023968256");
+		request.setAppId(qianYunTongConfig.getAppkey());
 		request.setConfigVersion(1);
 		request.setRequestId(UUIDUtil.getRandomCode());
 		request.setData(tradePayOff1Data);
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradePayOff";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradePayOff";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -219,8 +222,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【拉起支付】请求地址:" + url);
 		log.info("【拉起支付】请求参数:" + JSON.toJSONString(contentMap));
@@ -247,11 +250,11 @@
 		request.setScene("TRAFFIC");
 		request.setPartnerId("522700");
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/createTravelItinerary";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/createTravelItinerary";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -262,8 +265,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【创建行程单】请求地址:" + url);
 		log.info("【创建行程单】请求参数:" + JSON.toJSONString(contentMap));
@@ -288,11 +291,11 @@
 		request.setScene("TRAFFIC");
 		request.setPartnerId("522700");
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/modifyTravelItinerary";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/modifyTravelItinerary";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -303,8 +306,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【修改行程单】请求地址:" + url);
 		log.info("【修改行程单】请求参数:" + JSON.toJSONString(contentMap));
@@ -331,11 +334,11 @@
 		request.setPartnerId("522700");
 		
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/getTravelItineraryList";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/getTravelItineraryList";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -346,8 +349,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【行程单列表查询】请求地址:" + url);
 		log.info("【行程单列表查询】请求参数:" + JSON.toJSONString(contentMap));
@@ -389,13 +392,13 @@
 		tradeOrderCreateData.setTimeout("72H");
 		tradeOrderCreateData.setOrderAppId("52270015");
 		tradeOrderCreateData.setChannelSource("GRJYCXWXXCX");
-		tradeOrderCreateData.setPayPartnerId("5400004");
+		tradeOrderCreateData.setPayPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004");
 		tradeOrderCreateData.setCurrency("RMB");
 		tradeOrderCreateData.setNeedLoginFlag("N");
 		tradeOrderCreateData.setAccessMode("APP");
 		tradeOrderCreateData.getGoodsInfo().forEach(goodsInfoRequest -> {
-			goodsInfoRequest.setId("981100006005901");
-			goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db");
+			goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "9811000039358999" : "981100006005901");
+			goodsInfoRequest.setSubAppId(qianYunTongConfig.getAppId());
 			goodsInfoRequest.setAreaInfo("520100");
 			goodsInfoRequest.setPayType("0");
 			goodsInfoRequest.setBusinessType("10408");
@@ -403,18 +406,18 @@
 		
 		
 		TradeRequest request = new TradeRequest<TradeOrderCreateData>();
-		request.setSceneId("1945688132719169536");
-		request.setAppId(QianYunTongProperties.appkey);
+		request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954793280550756352" : "1945688132719169536");
+		request.setAppId(qianYunTongConfig.getAppkey());
 		request.setConfigVersion(1);
 		request.setRequestId(UUIDUtil.getRandomCode());
 		request.setData(tradeOrderCreateData);
 		
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradeOrderCreate";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderCreate";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -425,8 +428,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【订单创建及拉起支付】请求地址:" + url);
 		log.info("【订单创建及拉起支付】请求参数:" + JSON.toJSONString(contentMap));
@@ -455,17 +458,17 @@
 		createOrderRequest.setChannelSource("GRJYCXWXXCX");
 		
 		TradeRequest request = new TradeRequest<CreateOrderRequest>();
-		request.setSceneId(QianYunTongProperties.sceneId);
-		request.setAppId(QianYunTongProperties.appkey);
+		request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954792737421942784" : "1948289607125864448");
+		request.setAppId(qianYunTongConfig.getAppkey());
 		request.setConfigVersion(1);
 		request.setRequestId(UUIDUtil.getRandomCode());
 		request.setData(createOrderRequest);
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradeOrderCreate";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradeOrderCreate";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -476,8 +479,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【订单创建】请求地址:" + url);
 		log.info("【订单创建】请求参数:" + JSON.toJSONString(contentMap));
@@ -501,7 +504,7 @@
 	 * @return
 	 */
 	public static PayInfo tradePayOff(TradePayOffData tradePayOffData) {
-		tradePayOffData.setPartnerId("5400005");
+		tradePayOffData.setPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401008" : "5400005");
 		tradePayOffData.setTimeout("72H");
 		tradePayOffData.setScene("TRAFFIC");
 		tradePayOffData.setCurrency("RMB");
@@ -530,24 +533,24 @@
 		goodsInfo1.setCustId("CB0000004686");
 		goodsInfo1.setCustName("证联消费平台交易客户");
 		goodsInfo1.setBusinessType("10408");
-		goodsInfo1.setAgreementNo("00000000468618354161754464398681");
+		goodsInfo1.setAgreementNo("prod".equals(qianYunTongConfig.getActiveProfile()) ? "00000402485377063581755054680461" : "00000000468618354161754464398681");
 		goodsInfo1.setProfitSharing("1");
 		goodsInfo.add(goodsInfo1);
 		tradePayOffData.setGoodsInfo(goodsInfo);
 		
 		
 		TradeRequest request = new TradeRequest<TradePayOffData>();
-		request.setSceneId("1774717104844095488");
-		request.setAppId(QianYunTongProperties.appkey);
-		request.setConfigVersion(2);
+		request.setSceneId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "1954794605782913024" : "1774717104844095488");
+		request.setAppId(qianYunTongConfig.getAppkey());
+		request.setConfigVersion("prod".equals(qianYunTongConfig.getActiveProfile()) ? 1 : 2);
 		request.setRequestId(UUIDUtil.getRandomCode());
 		request.setData(tradePayOffData);
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradePayOff";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/tradePayOff";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -558,8 +561,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【(补偿单)拉起支付】请求地址:" + url);
 		log.info("【(补偿单)拉起支付】请求参数:" + JSON.toJSONString(contentMap));
@@ -592,11 +595,11 @@
 		request.setData(getPaymentInfoDataRequest);
 		
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/paymentInfo";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/paymentInfo";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -607,8 +610,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【查询支付单信息】请求地址:" + url);
 		log.info("【查询支付单信息】请求参数:" + JSON.toJSONString(contentMap));
@@ -644,11 +647,11 @@
 		request.setPayChannel(6);
 		request.setIsCompensate(1);
 		//请求路径
-		String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/paymentOrder";
+		String url = qianYunTongConfig.getApiUrl() + "/openapi/rest/1.0/paymentOrder";
 		//私钥文件
-		String skprivateKeyFile = QianYunTongProperties.privateKeyPath;
+		String skprivateKeyFile = qianYunTongConfig.getPrivateKeyPath();
 		//注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密
-		String appKey = QianYunTongProperties.appkey;//appkey
+		String appKey = qianYunTongConfig.getAppkey();//appkey
 		Map<String, String> headers = new HashMap<>();
 		headers.put("Content-Type", "application/json");
 		Map<String, Object> contentMap = new HashMap<String, Object>();
@@ -659,8 +662,8 @@
 		String messageId = UUIDUtil.getRandomCode();
 		contentMap.put(SystemParameterNames.getAppKey(), appKey);
 		contentMap.put(SystemParameterNames.getMessage_id(), messageId);
-		contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
-		contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
+		contentMap.put(SystemParameterNames.getUserName(), qianYunTongConfig.getUserName());
+		contentMap.put(SystemParameterNames.getStatus(), qianYunTongConfig.getStatus());
 		contentMap.put("content", new Gson().toJson(request));
 		log.info("【(补偿单)支付成功通知】请求地址:" + url);
 		log.info("【(补偿单)支付成功通知】请求参数:" + JSON.toJSONString(contentMap));

--
Gitblit v1.7.1