From f72ae151cc12b219cb5f39eea3ec0ea089a6ef2a Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 27 八月 2025 23:53:05 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java | 148 ++++++++++++++++++++++++++---------------------- 1 files changed, 80 insertions(+), 68 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..26eb18f 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) { @@ -178,18 +181,23 @@ * 拉起支付 * * @param tradePayOff1Data + * @param recoveryOrder * @return */ - public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data) { - tradePayOff1Data.setPartnerId("5400004"); + public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data, Integer recoveryOrder) { + 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"); + if(0 == recoveryOrder){ + goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "9811000039358999" : "981100006005901"); + }else{ + goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "981100006228370" : "981100006005901"); + } + goodsInfoRequest.setSubAppId(qianYunTongConfig.getAppId()); goodsInfoRequest.setAreaInfo("520100"); goodsInfoRequest.setPayType("0"); @@ -198,17 +206,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 +227,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 +255,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 +270,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 +296,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 +311,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 +339,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 +354,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)); @@ -383,19 +391,23 @@ * @param tradeOrderCreateData * @return */ - public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData) { + public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData, Integer recoveryOrder) { tradeOrderCreateData.setScene("TRAFFIC"); tradeOrderCreateData.setPartnerId("522700"); 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"); + if(0 == recoveryOrder){ + goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "9811000039358999" : "981100006005901"); + }else{ + goodsInfoRequest.setId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "981100006228370" : "981100006005901"); + } + goodsInfoRequest.setSubAppId(qianYunTongConfig.getAppId()); goodsInfoRequest.setAreaInfo("520100"); goodsInfoRequest.setPayType("0"); goodsInfoRequest.setBusinessType("10408"); @@ -403,18 +415,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 +437,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 +467,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 +488,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 +513,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"); @@ -526,28 +538,28 @@ tradePayOffData.setPaymentInfos(paymentInfoRequests); List<GoodsInfo> goodsInfo = new ArrayList<>(); GoodsInfo goodsInfo1 = new GoodsInfo(); - goodsInfo1.setMerchantCode("B00000905"); - goodsInfo1.setCustId("CB0000004686"); - goodsInfo1.setCustName("证联消费平台交易客户"); + goodsInfo1.setMerchantCode("prod".equals(qianYunTongConfig.getActiveProfile()) ? "B00001404" : "B00000905"); + goodsInfo1.setCustId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "CB0000004853" : "CB0000004686"); + goodsInfo1.setCustName("prod".equals(qianYunTongConfig.getActiveProfile()) ? "黔南云码通数字产业运营有限公司" : "证联消费平台交易客户"); 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 +570,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)); @@ -584,7 +596,7 @@ * @return */ public static GetPaymentInfo paymentInfo(GetPaymentInfoDataRequest getPaymentInfoDataRequest) { - getPaymentInfoDataRequest.setPartnerId("5400004"); + getPaymentInfoDataRequest.setPartnerId("prod".equals(qianYunTongConfig.getActiveProfile()) ? "5401007" : "5400004"); GetPaymentInfoRequest request = new GetPaymentInfoRequest(); request.setRequstType("POST"); @@ -592,11 +604,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 +619,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 +656,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 +671,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