From 5d5a187689e51a8a74f16b91d23d32a74b39e803 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期二, 06 五月 2025 18:48:51 +0800 Subject: [PATCH] feat: 新增回调手动重推 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java | 55 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 38 insertions(+), 17 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java index e0bafdf..cf5f262 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java @@ -8,8 +8,11 @@ import com.ruoyi.common.utils.http.HttpUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; import java.net.URLEncoder; @@ -19,9 +22,19 @@ /** * 姘戣埅鍖荤枟鎺ュ彛澶勭悊 */ +@Component public class ServiceOrderUtil { private static final Logger log = LoggerFactory.getLogger(ServiceOrderUtil.class); - public static String AddServiceOrederAPI = "http://localhost:8011/v1/"; + private static String addServiceOrederAPI; + + @Value("${min.apiUrl}") + public void setAddServiceOrederAPI(String apiUrl) { + ServiceOrderUtil.addServiceOrederAPI = apiUrl; + } + + public static String getAddServiceOrederAPI() { + return addServiceOrederAPI; + } /** * 鍒涘缓鏈嶅姟鍗� @@ -29,14 +42,16 @@ * @param model 鏈嶅姟鍗曞簲鐢ㄥ�煎璞� * @return 鏈嶅姟鍗曟帴鍙h皟鐢ㄧ粨鏋� */ - public static ServiceOrderAppResultVo CreateServiceOrder(ServiceOrderAppVo model) { - if (AddServiceOrederAPI.isEmpty()) { + public static ServiceOrderAppResultVo CreateServiceOrder(ServiceOrderAppVo model,String appSecret) { + if (addServiceOrederAPI.isEmpty()) { // log.info("AddServiceOrederAPI 鏈缃紝璇峰厛璁剧疆鎺ュ彛鍦板潃銆�"); return null; } + log.info("鎺ュ彛鍦板潃锛�"+addServiceOrederAPI); + //璁$畻鏃堕棿鎴冲拰绛惧悕 - long unixTime = System.currentTimeMillis() / 1000; // 鑾峰彇褰撳墠鏃堕棿鎴筹紙绉掞級 + long unixTime = System.currentTimeMillis() / 1000; // 鑾峰彇褰撳墠鏃堕棿鎴筹紙绉掞級 Long.valueOf("1746444543") ;// model.setUnixTime(unixTime); // 璁剧疆鏃堕棿鎴冲埌妯″瀷涓� // 灏� model 杞崲涓� Map<String, String> @@ -47,15 +62,18 @@ try { Object value = field.get(model); if (value != null) { - params.put(field.getName(), value.toString()); + params.put(field.getName(),URLEncoder.encode(value.toString(), StandardCharsets.UTF_8.toString())); } } catch (IllegalAccessException e) { // log.error("鑾峰彇瀵硅薄灞炴�у�兼椂鍑洪敊", e); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); } } - model.setSign(ServiceOrderSign.generateSign(params)); // 鐢熸垚绛惧悕骞惰缃埌妯″瀷涓� + model.setSign(ServiceOrderSign.generateSign(params,appSecret)); // 鐢熸垚绛惧悕骞惰缃埌妯″瀷涓� + log.info("Sign鍊�="+model.getSign()); // 鏇挎崲涓� StringBuilder formData = new StringBuilder(); @@ -71,16 +89,19 @@ // 灏嗗瓧娈靛悕棣栧瓧姣嶅ぇ鍐� String fieldName = field.getName(); String capitalizedFieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); + formData.append(capitalizedFieldName) - .append("=") - .append(value.toString()); + .append("=") + .append(URLEncoder.encode(value.toString(), StandardCharsets.UTF_8.toString())); } } catch (Exception e) { // log.error("鎷兼帴琛ㄥ崟鏁版嵁鏃跺嚭閿�", e); } } - String responseData = HttpUtils.sendPost(AddServiceOrederAPI, formData.toString(), "application/x-www-form-urlencoded"); + log.info("璇锋眰鍙傛暟="+formData.toString()); + + String responseData = HttpUtils.sendPost(addServiceOrederAPI, formData.toString(), "application/x-www-form-urlencoded"); if (responseData != null && !responseData.isEmpty()) { @@ -105,8 +126,8 @@ * @param model 鏈嶅姟璁㈠崟鍒犻櫎璇锋眰鍊煎璞� * @return 鏈嶅姟璁㈠崟鍒犻櫎鎺ュ彛璋冪敤缁撴灉 */ - public static ServiceOrderAppResultVo CancelServiceOrder(ServiceOrderDelVo model) { - if (AddServiceOrederAPI.isEmpty()) { + public static ServiceOrderAppResultVo CancelServiceOrder(ServiceOrderDelVo model,String appSecret) { + if (addServiceOrederAPI.isEmpty()) { // log.info("AddServiceOrederAPI 鏈缃紝璇峰厛璁剧疆鎺ュ彛鍦板潃銆�"); return null; } @@ -130,7 +151,7 @@ } } - model.setSign(ServiceOrderSign.generateSign(params)); + model.setSign(ServiceOrderSign.generateSign(params,appSecret)); // 鏋勫缓琛ㄥ崟鏁版嵁 StringBuilder formData = new StringBuilder(); @@ -147,14 +168,14 @@ String fieldName = field.getName(); formData.append(fieldName) .append("=") - .append(value.toString()); + .append(URLEncoder.encode(value.toString(), StandardCharsets.UTF_8.toString())); } } catch (Exception e) { // log.error("鎷兼帴琛ㄥ崟鏁版嵁鏃跺嚭閿�", e); } } - String responseData = HttpUtils.sendPost(AddServiceOrederAPI, formData.toString(), "application/x-www-form-urlencoded"); + String responseData = HttpUtils.sendPost(addServiceOrederAPI, formData.toString(), "application/x-www-form-urlencoded"); if (responseData != null && !responseData.isEmpty()) { // log.info("鎺ュ彛鍝嶅簲: " + responseData); @@ -188,8 +209,8 @@ model.setDELRemarks("娴嬭瘯"); // 璋冪敤 CancelServiceOrder 鏂规硶鍙栨秷鏈嶅姟鍗� - ServiceOrderAppResultVo result = CancelServiceOrder(model); - System.out.println("1"); +// ServiceOrderAppResultVo result = CancelServiceOrder(model); +// System.out.println("1"); } public static void test() @@ -224,7 +245,7 @@ model.setPayQRcodeURL("https://example.com/qrcode/" + (int) (Math.random() * 100)); // 闅忔満鐢熸垚澶栭儴鏀粯浜岀淮鐮侀摼鎺� // 璋冪敤 CreateServiceOrder 鏂规硶鍒涘缓鏈嶅姟鍗� - ServiceOrderAppResultVo result = CreateServiceOrder(model); +// ServiceOrderAppResultVo result = CreateServiceOrder(model); } } -- Gitblit v1.9.1