From c3253952bd256b1d6dd5ffd1e823bad521364a0e Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期三, 07 五月 2025 17:50:26 +0800 Subject: [PATCH] feat: 优化接口 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/civilAviation/ServiceOrderUtil.java | 56 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 15 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 4e7498f..a41b868 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 @@ -4,12 +4,16 @@ import com.alibaba.fastjson2.JSON; import com.ruoyi.common.core.domain.entity.ServiceOrderAppVo; import com.ruoyi.common.core.domain.entity.ServiceOrderAppResultVo; +import com.ruoyi.common.core.domain.entity.ServiceOrderDelResultVo; import com.ruoyi.common.core.domain.entity.ServiceOrderDelVo; 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 +23,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; + } /** * 鍒涘缓鏈嶅姟鍗� @@ -30,13 +44,15 @@ * @return 鏈嶅姟鍗曟帴鍙h皟鐢ㄧ粨鏋� */ public static ServiceOrderAppResultVo CreateServiceOrder(ServiceOrderAppVo model,String appSecret) { - if (AddServiceOrederAPI.isEmpty()) { + 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 +63,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,appSecret)); // 鐢熸垚绛惧悕骞惰缃埌妯″瀷涓� + log.info("Sign鍊�="+model.getSign()); // 鏇挎崲涓� StringBuilder formData = new StringBuilder(); @@ -71,16 +90,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 +127,8 @@ * @param model 鏈嶅姟璁㈠崟鍒犻櫎璇锋眰鍊煎璞� * @return 鏈嶅姟璁㈠崟鍒犻櫎鎺ュ彛璋冪敤缁撴灉 */ - public static ServiceOrderAppResultVo CancelServiceOrder(ServiceOrderDelVo model,String appSecret) { - if (AddServiceOrederAPI.isEmpty()) { + public static ServiceOrderDelResultVo CancelServiceOrder(ServiceOrderDelVo model,String appSecret) { + if (addServiceOrederAPI.isEmpty()) { // log.info("AddServiceOrederAPI 鏈缃紝璇峰厛璁剧疆鎺ュ彛鍦板潃銆�"); return null; } @@ -123,10 +145,12 @@ 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); } } @@ -145,21 +169,23 @@ } // 灏嗗瓧娈靛悕棣栧瓧姣嶅ぇ鍐� String fieldName = field.getName(); - formData.append(fieldName) - .append("=") - .append(value.toString()); + String capitalizedFieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); + + formData.append(capitalizedFieldName) + .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"); + String responseData = HttpUtils.sendPost(addServiceOrederAPI, formData.toString(), "application/x-www-form-urlencoded"); if (responseData != null && !responseData.isEmpty()) { // log.info("鎺ュ彛鍝嶅簲: " + responseData); try { - return JSON.parseObject(responseData, ServiceOrderAppResultVo.class); + return JSON.parseObject(responseData, ServiceOrderDelResultVo.class); } catch (Exception e) { // log.info("瑙f瀽鎺ュ彛鍝嶅簲鏁版嵁澶辫触: " + e.getMessage()); } -- Gitblit v1.9.1