From da5c2fa6a6f780e70111c148aa5e7a3fadf1479d Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 02 八月 2025 10:24:53 +0800 Subject: [PATCH] 新增加管理后台顺风车相关配置 --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java | 409 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 298 insertions(+), 111 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 c69197d..a329015 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 @@ -10,6 +10,7 @@ import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import lombok.extern.slf4j.Slf4j; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -22,48 +23,186 @@ public static void main(String[] args) { - CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); - request.setScene(QianYunTongProperties.sceneId); - request.setPartnerId("522700"); - request.setOrderNo("123456"); - request.setCustomerId("11448156"); - request.setDriverId("11448158"); - request.setSupplierShopId("981100006005951"); - request.setServiceType(1); - String travelItinerary = createTravelItinerary(request); - System.err.println(travelItinerary); - + //创建行程 +// CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); +// request.setScene("TRAFFIC"); +// request.setPartnerId("522700"); +// request.setOrderNo("3456789012345678"); +// request.setCustomerId("11448156"); +// request.setDriverId("11448158"); +// request.setSupplierShopId("981100006005951"); +// request.setServiceType(1); +// String travelItinerary = createTravelItinerary(request); +// System.err.println(travelItinerary);//1951088602595872768 + + //修改行程状态 +// ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); +// request.setScene("TRAFFIC"); +// request.setPartnerId("522700"); +// request.setOrderId("1951088602595872768"); +// request.setStatus(7); +// request.setDriverId("11448158"); +// request.setSupplierShopId("981100006005951"); +// Boolean aBoolean = modifyTravelItinerary(request); + + //订单创建及拉起支付 +// TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData(); +// tradeOrderCreateData.setScene("TRAFFIC"); +// tradeOrderCreateData.setPartnerId("522700"); +// tradeOrderCreateData.setTreatShopId("11448158"); +// tradeOrderCreateData.setOrderAppId("52270015"); +// tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"0\"}"); +// tradeOrderCreateData.setCharge(new BigDecimal("0.01")); +// tradeOrderCreateData.setChannelSource("GRJYCXWXXCX"); +// tradeOrderCreateData.setOrderId("1951088602595872768"); +// tradeOrderCreateData.setOrderNo("3456789012345678"); +// tradeOrderCreateData.setCustomerId("11448156"); +// tradeOrderCreateData.setPayPartnerId("5400004"); +// tradeOrderCreateData.setPartnerPayId("1951088602595872768"); +// tradeOrderCreateData.setCurrency("RMB"); +// tradeOrderCreateData.setTotalFee("1"); +// tradeOrderCreateData.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay"); +// tradeOrderCreateData.setClientIp("127.0.0.1"); +// tradeOrderCreateData.setNeedLoginFlag("N"); +// tradeOrderCreateData.setOrderDesc("出行订单支付"); +// tradeOrderCreateData.setAccessMode("APP"); +// +// List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); +// GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); +// goodsInfoRequest.setId("981100006005901"); +// goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); +// goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs"); +// goodsInfoRequest.setProfitSharing("1"); +// goodsInfoRequest.setAreaInfo("520100"); +// goodsInfoRequest.setPayType("0"); +// goodsInfoRequest.setBusinessType("10408"); +// goodsInfo.add(goodsInfoRequest); +// tradeOrderCreateData.setGoodsInfo(goodsInfo); +// TradeOrderCreate tradeOrderCreate = tradeOrderCreate1(tradeOrderCreateData); +// System.err.println(tradeOrderCreate); + //TradeOrderCreate(orderInfo=OrderInfo(orderId=1950072223939842048, status=null), payInfo=PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=It5FPM1DUjzwIAin7zwiHvUANWKC6I5USCLE8EKoRkg%3D, payId=540000420250729000135600, status=null, payTime=null, payFee=null, paymentInfos=null), sign=525cb843b1eeb5a0451eeb5fbbe02f0f)) + + //查询支付单信息 +// GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); +// getPaymentInfoDataRequest.setPartnerId("5400004"); +// getPaymentInfoDataRequest.setPartnerPayId("1948685426689200128"); +// GetPaymentInfo getPaymentInfo = paymentInfo(getPaymentInfoDataRequest); +// System.err.println(getPaymentInfo); + + //拉起支付 + TradePayOff1Data tradePayOff1Data = new TradePayOff1Data(); + tradePayOff1Data.setPartnerId("5400004"); + tradePayOff1Data.setScene("TRAFFIC"); + tradePayOff1Data.setPartnerPayId("1951088602595872768"); + tradePayOff1Data.setCurrency("RMB"); + tradePayOff1Data.setTotalFee("1"); + tradePayOff1Data.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay"); + tradePayOff1Data.setClientIp("127.0.0.1"); + tradePayOff1Data.setNeedLoginFlag("N"); + tradePayOff1Data.setOrderDesc("出行订单支付"); + tradePayOff1Data.setAccessMode("APP"); + List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); + GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); + goodsInfoRequest.setId("981100006005901"); + goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); + goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs"); + goodsInfoRequest.setProfitSharing("1"); + goodsInfoRequest.setAreaInfo("520100"); + goodsInfoRequest.setPayType("0"); + goodsInfoRequest.setBusinessType("10408"); + goodsInfo.add(goodsInfoRequest); + tradePayOff1Data.setGoodsInfo(goodsInfo); + PayInfo payInfo = tradePayOff1(tradePayOff1Data); + System.err.println(payInfo); + //PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=5nUBXayFpfZz%2FXUZiMu9LzeRXmqmlqaCS%2BHfu5udIt4%3D, payId=540000420250725000135549, status=null, payTime=null, payFee=null, paymentInfos=null), sign=8154ba2728280900b122c56352c1c7fe) + + + // (补偿单)拉起支付 +// TradePayOffData tradePayOffData = new TradePayOffData(); +// tradePayOffData.setPartnerId("5400004"); +// tradePayOffData.setScene("TRAFFIC"); +// tradePayOffData.setPartnerPayId("1948685426689200128"); +// tradePayOffData.setCurrency("RMB"); +// tradePayOffData.setTotalFee("1"); +// tradePayOffData.setRetUrl("/home/"); +// tradePayOffData.setClientIp("127.0.0.1"); +// tradePayOffData.setNeedLoginFlag("N"); +// tradePayOffData.setOrderDesc("出行订单支付"); +// tradePayOffData.setAccessMode("APP"); +// List<PaymentInfoRequest> paymentInfoRequests = new ArrayList<>(); +// PaymentInfoRequest paymentInfoRequest = new PaymentInfoRequest(); +// paymentInfoRequest.setPayModeId("501212"); +// paymentInfoRequests.add(paymentInfoRequest); +// tradePayOffData.setPaymentInfos(paymentInfoRequests); +// List<GoodsInfo> goodsInfo = new ArrayList<>(); +// GoodsInfo goodsInfo1 = new GoodsInfo(); +// goodsInfo1.setMerchantCode(""); +// goodsInfo1.setCustId(""); +// goodsInfo1.setCustName(""); +// goodsInfo1.setProfitSharing("1"); +// goodsInfo.add(goodsInfo1); +// tradePayOffData.setGoodsInfo(goodsInfo); +// PayInfo payInfo1 = tradePayOff(tradePayOffData); +// System.err.println(payInfo1); + + //订单创建 // CreateOrderRequest createOrderRequest = new CreateOrderRequest(); -// createOrderRequest.setTreatShopId(""); +// createOrderRequest.setTreatShopId("11448158"); // createOrderRequest.setOrderAppId("52270015"); // createOrderRequest.setScene("TRAFFIC"); // createOrderRequest.setPartnerId("522700"); -// createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); +// createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"0\"}"); // createOrderRequest.setCharge(new BigDecimal("0.01")); // createOrderRequest.setChannelSource("GRJYCXWXXCX"); -// createOrderRequest.setOrderId(""); -// createOrderRequest.setOrderNo(""); -// createOrderRequest.setCustomerId(""); +// createOrderRequest.setOrderId("1948685426689200128"); +// createOrderRequest.setOrderNo("0123456"); +// createOrderRequest.setCustomerId("11448156"); // OrderInfo orderInfo = tradeOrderCreate(createOrderRequest); +// System.err.println(orderInfo); + //行程单列表查询 +// GetTravelItineraryListRequest request = new GetTravelItineraryListRequest(); +// request.setScene("TRAFFIC"); +// request.setPartnerId("522700"); +// request.setCustomerId("11448156"); +// request.setOrderNo("0123456"); +// request.setDriverId("11448158"); +// ListPage<TravelItinerary> travelItineraryList = getTravelItineraryList(request); +// System.err.println(travelItineraryList); + } - - /** - * 订单创建 - * @param createOrderRequest + * 拉起支付 + * + * @param tradePayOff1Data * @return */ - public static OrderInfo tradeOrderCreate(CreateOrderRequest createOrderRequest){ - TradeRequest request = new TradeRequest<CreateOrderRequest>(); - request.setSceneId(QianYunTongProperties.sceneId); - request.setAppId(QianYunTongProperties.appId); + public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data) { + tradePayOff1Data.setPartnerId("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.setProfitSharing("1"); + goodsInfoRequest.setAreaInfo("520100"); + goodsInfoRequest.setPayType("0"); + goodsInfoRequest.setBusinessType("10408"); + }); + + + TradeRequest request = new TradeRequest<TradePayOff1Data>(); + request.setSceneId("1911676727023968256"); + request.setAppId(QianYunTongProperties.appkey); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); - request.setData(createOrderRequest); + request.setData(tradePayOff1Data); //请求路径 - String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradeOrderCreate"; + String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradePayOff"; //私钥文件 String skprivateKeyFile = QianYunTongProperties.privateKeyPath; //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 @@ -81,27 +220,28 @@ contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName); contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status); contentMap.put("content", new Gson().toJson(request)); - log.info("【订单创建】请求地址:" + url); - log.info("【订单创建】请求参数:" + JSON.toJSONString(contentMap)); + log.info("【拉起支付】请求地址:" + url); + log.info("【拉起支付】请求参数:" + JSON.toJSONString(contentMap)); String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); - log.info("【订单创建】请求结果:" + result); + log.info("【拉起支付】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ - log.error("【订单创建】失败:" + jsonObject.getString("resMsg")); - throw new RuntimeException("【订单创建】失败:" + jsonObject.getString("resMsg")); + if (!"000000".equals(resCode)) { + log.error("【拉起支付】失败:" + jsonObject.getString("resMsg")); + throw new RuntimeException("【拉起支付】失败:" + jsonObject.getString("resMsg")); } JSONObject busiResp = jsonObject.getJSONObject("busiResp"); - OrderInfo orderInfo = busiResp.getObject("orderInfo", OrderInfo.class); - return orderInfo; + PayInfo payInfo = busiResp.getObject("payInfo", PayInfo.class); + return payInfo; } /** * 创建行程单 + * * @param request * @return 行程单ID */ - public static String createTravelItinerary(CreateTravelItineraryRequest request){ + public static String createTravelItinerary(CreateTravelItineraryRequest request) { //请求路径 String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/createTravelItinerary"; //私钥文件 @@ -127,7 +267,7 @@ log.info("【创建行程单】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ + if (!"000000".equals(resCode)) { log.error("【创建行程单】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【创建行程单】失败:" + jsonObject.getString("resMsg")); } @@ -135,12 +275,14 @@ } - /** * 修改行程单 + * * @param request */ - public static Boolean modifyTravelItinerary(ModifyTravelItineraryRequest request){ + public static Boolean modifyTravelItinerary(ModifyTravelItineraryRequest request) { + request.setScene("TRAFFIC"); + request.setPartnerId("522700"); //请求路径 String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/modifyTravelItinerary"; //私钥文件 @@ -166,7 +308,7 @@ log.info("【修改行程单】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ + if (!"000000".equals(resCode)) { log.error("【修改行程单】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【修改行程单】失败:" + jsonObject.getString("resMsg")); } @@ -176,10 +318,14 @@ /** * 行程单列表查询 + * * @param request * @return */ - public static ListPage<TravelItinerary> getTravelItineraryList(GetTravelItineraryListRequest request){ + public static ListPage<List<TravelItinerary>> getTravelItineraryList(GetTravelItineraryListRequest request) { + request.setScene("TRAFFIC"); + request.setPartnerId("522700"); + //请求路径 String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/getTravelItineraryList"; //私钥文件 @@ -205,7 +351,7 @@ log.info("【行程单列表查询】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ + if (!"000000".equals(resCode)) { log.error("【行程单列表查询】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【行程单列表查询】失败:" + jsonObject.getString("resMsg")); } @@ -219,7 +365,7 @@ TravelItinerary object = list.getObject(i, TravelItinerary.class); travelItineraryList.add(object); } - ListPage listPage = new ListPage<TravelItinerary>(); + ListPage listPage = new ListPage<List<TravelItinerary>>(); listPage.setTotal(total); listPage.setPageNum(pageNum); listPage.setPageSize(pageSize); @@ -227,18 +373,35 @@ return listPage; } - - - /** * 订单创建及拉起支付 + * * @param tradeOrderCreateData * @return */ - public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData){ + public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData) { + tradeOrderCreateData.setScene("TRAFFIC"); + tradeOrderCreateData.setPartnerId("522700"); + tradeOrderCreateData.setTimeout("72H"); + tradeOrderCreateData.setOrderAppId("52270015"); + tradeOrderCreateData.setChannelSource("GRJYCXWXXCX"); + tradeOrderCreateData.setPayPartnerId("5400004"); + tradeOrderCreateData.setCurrency("RMB"); + tradeOrderCreateData.setNeedLoginFlag("N"); + tradeOrderCreateData.setAccessMode("APP"); + tradeOrderCreateData.getGoodsInfo().forEach(goodsInfoRequest -> { + goodsInfoRequest.setId("981100006005901"); + goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); + goodsInfoRequest.setProfitSharing("1"); + goodsInfoRequest.setAreaInfo("520100"); + goodsInfoRequest.setPayType("0"); + goodsInfoRequest.setBusinessType("10408"); + }); + + TradeRequest request = new TradeRequest<TradeOrderCreateData>(); - request.setSceneId(QianYunTongProperties.sceneId); - request.setAppId(QianYunTongProperties.appId); + request.setSceneId("1945688132719169536"); + request.setAppId(QianYunTongProperties.appkey); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(tradeOrderCreateData); @@ -268,7 +431,7 @@ log.info("【订单创建及拉起支付】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ + if (!"000000".equals(resCode)) { log.error("【订单创建及拉起支付】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【订单创建及拉起支付】失败:" + jsonObject.getString("resMsg")); } @@ -276,16 +439,91 @@ return busiResp; } + /** + * 订单创建 + * + * @param createOrderRequest + * @return + */ + public static OrderInfo tradeOrderCreate(CreateOrderRequest createOrderRequest) { + createOrderRequest.setOrderAppId("52270015"); + createOrderRequest.setScene("TRAFFIC"); + createOrderRequest.setPartnerId("522700"); + createOrderRequest.setChannelSource("GRJYCXWXXCX"); + + TradeRequest request = new TradeRequest<CreateOrderRequest>(); + request.setSceneId(QianYunTongProperties.sceneId); + request.setAppId(QianYunTongProperties.appkey); + request.setConfigVersion(1); + request.setRequestId(UUIDUtil.getRandomCode()); + request.setData(createOrderRequest); + //请求路径 + String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradeOrderCreate"; + //私钥文件 + String skprivateKeyFile = QianYunTongProperties.privateKeyPath; + //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 + String appKey = QianYunTongProperties.appkey;//appkey + Map<String, String> headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + Map<String, Object> contentMap = new HashMap<String, Object>(); + Date nowdate = new Date(); + SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); + + String timeStamp = date.format(nowdate); + 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("content", new Gson().toJson(request)); + log.info("【订单创建】请求地址:" + url); + log.info("【订单创建】请求参数:" + JSON.toJSONString(contentMap)); + String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); + log.info("【订单创建】请求结果:" + result); + JSONObject jsonObject = JSON.parseObject(result); + String resCode = jsonObject.getString("resCode"); + if (!"000000".equals(resCode)) { + log.error("【订单创建】失败:" + jsonObject.getString("resMsg")); + throw new RuntimeException("【订单创建】失败:" + jsonObject.getString("resMsg")); + } + JSONObject busiResp = jsonObject.getJSONObject("busiResp"); + OrderInfo orderInfo = busiResp.getObject("orderInfo", OrderInfo.class); + return orderInfo; + } /** * (补偿单)拉起支付 + * * @param tradePayOffData * @return */ - public static PayInfo tradePayOff(TradePayOffData tradePayOffData){ + public static PayInfo tradePayOff(TradePayOffData tradePayOffData) { + tradePayOffData.setPartnerId("5400004"); + tradePayOffData.setTimeout("72H"); + tradePayOffData.setScene("TRAFFIC"); + tradePayOffData.setCurrency("RMB"); + tradePayOffData.setRetUrl(""); + tradePayOffData.setClientIp(System.getProperty("http.remoteAddr")); + tradePayOffData.setNeedLoginFlag("N"); + tradePayOffData.setAccessMode("APP"); + List<PaymentInfoRequest> paymentInfoRequests = new ArrayList<>(); + PaymentInfoRequest paymentInfoRequest = new PaymentInfoRequest(); + paymentInfoRequest.setPayModeId("501212"); + paymentInfoRequests.add(paymentInfoRequest); + tradePayOffData.setPaymentInfos(paymentInfoRequests); + List<GoodsInfo> goodsInfo = new ArrayList<>(); + GoodsInfo goodsInfo1 = new GoodsInfo(); + goodsInfo1.setMerchantCode(":B00000872"); + goodsInfo1.setCustId("CB0000004686"); + goodsInfo1.setCustName("证联消费平台交易客户"); + goodsInfo1.setProfitSharing("1"); + goodsInfo.add(goodsInfo1); + tradePayOffData.setGoodsInfo(goodsInfo); + + TradeRequest request = new TradeRequest<TradePayOffData>(); - request.setSceneId(QianYunTongProperties.sceneId); - request.setAppId(QianYunTongProperties.appId); + request.setSceneId("1774717104844095488"); + request.setAppId(QianYunTongProperties.appkey); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(tradePayOffData); @@ -314,7 +552,7 @@ log.info("【(补偿单)拉起支付】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ + if (!"000000".equals(resCode)) { log.error("【(补偿单)拉起支付】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【(补偿单)拉起支付】失败:" + jsonObject.getString("resMsg")); } @@ -325,58 +563,12 @@ /** - * 拉起支付 - * @param tradePayOff1Data - * @return - */ - public static PayInfo tradePayOff1(TradePayOff1Data tradePayOff1Data){ - TradeRequest request = new TradeRequest<TradePayOff1Data>(); - request.setSceneId(QianYunTongProperties.sceneId); - request.setAppId(QianYunTongProperties.appId); - request.setConfigVersion(1); - request.setRequestId(UUIDUtil.getRandomCode()); - request.setData(tradePayOff1Data); - //请求路径 - String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/tradePayOff"; - //私钥文件 - String skprivateKeyFile = QianYunTongProperties.privateKeyPath; - //注意:私钥文件需要开发者手动新建.pem文件,将委办局提供的私钥串复制进文件里用于sign加密 - String appKey = QianYunTongProperties.appkey;//appkey - Map<String, String> headers = new HashMap<>(); - headers.put("Content-Type", "application/json"); - Map<String, Object> contentMap = new HashMap<String, Object>(); - Date nowdate = new Date(); - SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmmss"); - - String timeStamp = date.format(nowdate); - 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("content", new Gson().toJson(request)); - log.info("【拉起支付】请求地址:" + url); - log.info("【拉起支付】请求参数:" + JSON.toJSONString(contentMap)); - String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap); - log.info("【拉起支付】请求结果:" + result); - JSONObject jsonObject = JSON.parseObject(result); - String resCode = jsonObject.getString("resCode"); - if(!"000000".equals(resCode)){ - log.error("【拉起支付】失败:" + jsonObject.getString("resMsg")); - throw new RuntimeException("【拉起支付】失败:" + jsonObject.getString("resMsg")); - } - JSONObject busiResp = jsonObject.getJSONObject("busiResp"); - PayInfo payInfo = busiResp.getObject("payInfo", PayInfo.class); - return payInfo; - } - - - /** * 查询支付单信息 + * * @param getPaymentInfoDataRequest * @return */ - public static GetPaymentInfo paymentInfo(GetPaymentInfoDataRequest getPaymentInfoDataRequest){ + public static GetPaymentInfo paymentInfo(GetPaymentInfoDataRequest getPaymentInfoDataRequest) { GetPaymentInfoRequest request = new GetPaymentInfoRequest(); request.setRequstType("POST"); request.setBusType(1); @@ -407,13 +599,13 @@ log.info("【查询支付单信息】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("retCode"); - if(!"0".equals(resCode)){ + if (!"0".equals(resCode)) { log.error("【查询支付单信息】失败:" + jsonObject.getString("retMsg")); throw new RuntimeException("【查询支付单信息】失败:" + jsonObject.getString("retMsg")); } JSONObject object = jsonObject.getJSONObject("object"); String retCode = object.getString("retCode"); - if(!"000000".equals(retCode)){ + if (!"000000".equals(retCode)) { log.error("【查询支付单信息】失败:" + jsonObject.getString("retMsg")); throw new RuntimeException("【查询支付单信息】失败:" + jsonObject.getString("retMsg")); } @@ -424,10 +616,11 @@ /** * (补偿单)支付成功通知 + * * @param request * @return */ - public static OrderInfo paymentOrder(PaymentOrderRequest request){ + public static OrderInfo paymentOrder(PaymentOrderRequest request) { //请求路径 String url = QianYunTongProperties.apiUrl + "/openapi/rest/1.0/paymentOrder"; //私钥文件 @@ -453,19 +646,13 @@ log.info("【(补偿单)支付成功通知】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if(!"0".equals(resCode)){ + if (!"0".equals(resCode)) { log.error("【(补偿单)支付成功通知】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【(补偿单)支付成功通知】失败:" + jsonObject.getString("resMsg")); } OrderInfo orderInfo = jsonObject.getObject("busiResp", OrderInfo.class); return orderInfo; } - - - - - - } -- Gitblit v1.7.1