From 326f47b6b0c7a02685f514d4088e4070b8858ab4 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 25 七月 2025 14:51:52 +0800 Subject: [PATCH] 开放其他模块 --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java | 243 +++++++++++++++++++++++++++++++----------------- 1 files changed, 158 insertions(+), 85 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..bfd2a8d 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 @@ -22,16 +22,92 @@ 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("123456"); +// request.setCustomerId("11448156"); +// request.setDriverId("11448158"); +// request.setSupplierShopId("981100006005951"); +// request.setServiceType(1); +// String travelItinerary = createTravelItinerary(request); +// System.err.println(travelItinerary);//1948565171253956608 + + //修改行程状态 +// ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); +// request.setScene("TRAFFIC"); +// request.setPartnerId("522700"); +// request.setOrderId("1948565171253956608"); +// 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("1948565171253956608"); +// tradeOrderCreateData.setOrderNo("123456"); +// tradeOrderCreateData.setCustomerId("11448156"); +// tradeOrderCreateData.setPayPartnerId("5400004"); +// tradeOrderCreateData.setPartnerPayId("1948565171253956608"); +// tradeOrderCreateData.setCurrency("RMB"); +// tradeOrderCreateData.setTotalFee("1"); +// tradeOrderCreateData.setRetUrl("/home/"); +// tradeOrderCreateData.setClientIp("127.0.0.1"); +// tradeOrderCreateData.setNeedLoginFlag("N"); +// tradeOrderCreateData.setOrderDesc("出行订单支付"); +// tradeOrderCreateData.setAccessMode("H5"); +// +// List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); +// GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); +// goodsInfoRequest.setId("1"); +// goodsInfoRequest.setSubAppId(QianYunTongProperties.appId); +// goodsInfoRequest.setSubOpenId("oVLur6yFtED8ruXBWUFKXjzXJ_BQ"); +// goodsInfoRequest.setProfitSharing("1"); +// goodsInfo.add(goodsInfoRequest); +// tradeOrderCreateData.setGoodsInfo(goodsInfo); +// TradeOrderCreate tradeOrderCreate = tradeOrderCreate1(tradeOrderCreateData); +// System.err.println(tradeOrderCreate); +// //TradeOrderCreate(orderInfo=OrderInfo(orderId=1948565171253956608, status=null), payInfo=PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=5nUBXayFpfZz%2FXUZiMu9LyWg15VM5hbmhIjUt0hdmws%3D, payId=540000420250725000135518, status=null, payTime=null, payFee=null, paymentInfos=null), sign=ea01f3b186be02e43367b856fd2ec699)) + + //查询支付单信息 +// GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); +// getPaymentInfoDataRequest.setPartnerId("5400004"); +// getPaymentInfoDataRequest.setPartnerPayId("1948565171253956608"); +// GetPaymentInfo getPaymentInfo = paymentInfo(getPaymentInfoDataRequest); +// System.err.println(getPaymentInfo); + + //拉起支付 + TradePayOff1Data tradePayOff1Data = new TradePayOff1Data(); + tradePayOff1Data.setPartnerId("5400004"); + tradePayOff1Data.setScene("TRAFFIC"); + tradePayOff1Data.setPartnerPayId("1948565171253956608"); + tradePayOff1Data.setCurrency("RMB"); + tradePayOff1Data.setTotalFee("1"); + tradePayOff1Data.setRetUrl("/home/"); + tradePayOff1Data.setClientIp("127.0.0.1"); + tradePayOff1Data.setNeedLoginFlag("N"); + tradePayOff1Data.setOrderDesc("出行订单支付"); + tradePayOff1Data.setAccessMode("H5"); + List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); + GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); + goodsInfoRequest.setId("1"); + goodsInfoRequest.setSubAppId(QianYunTongProperties.appId); + goodsInfoRequest.setSubOpenId("oVLur6yFtED8ruXBWUFKXjzXJ_BQ"); + goodsInfoRequest.setProfitSharing("1"); + goodsInfo.add(goodsInfoRequest); + tradePayOff1Data.setGoodsInfo(goodsInfo); + PayInfo payInfo = tradePayOff1(tradePayOff1Data); + System.err.println(payInfo); + // CreateOrderRequest createOrderRequest = new CreateOrderRequest(); // createOrderRequest.setTreatShopId(""); @@ -48,22 +124,21 @@ } - - /** - * 订单创建 - * @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) { + 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,19 +156,19 @@ 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; } /** @@ -227,18 +302,16 @@ return listPage; } - - - /** * 订单创建及拉起支付 + * * @param tradeOrderCreateData * @return */ - public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData){ + public static TradeOrderCreate tradeOrderCreate1(TradeOrderCreateData tradeOrderCreateData) { 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 +341,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 +349,63 @@ return busiResp; } + /** + * 订单创建 + * + * @param createOrderRequest + * @return + */ + public static OrderInfo tradeOrderCreate(CreateOrderRequest createOrderRequest) { + 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) { TradeRequest request = new TradeRequest<TradePayOffData>(); request.setSceneId(QianYunTongProperties.sceneId); - request.setAppId(QianYunTongProperties.appId); + request.setAppId(QianYunTongProperties.appkey); request.setConfigVersion(1); request.setRequestId(UUIDUtil.getRandomCode()); request.setData(tradePayOffData); @@ -314,56 +434,9 @@ 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")); - } - JSONObject busiResp = jsonObject.getJSONObject("busiResp"); - PayInfo payInfo = busiResp.getObject("payInfo", PayInfo.class); - return payInfo; - } - - - /** - * 拉起支付 - * @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); -- Gitblit v1.7.1