From ebf4b72af820750b3207b7bee6881252b79eed31 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 23 十二月 2025 11:25:52 +0800
Subject: [PATCH] 【市一】微信公众号-增加中文乱码处理

---
 .idea/inspectionProfiles/Project_Default.xml                          |    7 +++
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java          |   11 +++++
 ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java |   45 ++++++++++++++++++++++
 3 files changed, 62 insertions(+), 1 deletions(-)

diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..0104d19
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,7 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="MybatisXMapperMethodInspection" enabled="false" level="ERROR" enabled_by_default="false" />
+    <inspection_tool class="MybatisXMapperXmlInspection" enabled="false" level="ERROR" enabled_by_default="false" />
+  </profile>
+</component>
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index 90d8d52..ae8fe92 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -332,4 +332,49 @@
         return "璋冪敤澶辫触";
     }
 
+    /**
+     * 瀵筓RL鍙傛暟杩涜缂栫爜锛屽鐞嗕腑鏂囦贡鐮侀棶棰�
+     *
+     * @param params 鍙傛暟瀛楃涓诧紝鏍煎紡锛歯ame1=value1&name2=value2
+     * @param charset 缂栫爜鏍煎紡
+     * @return 缂栫爜鍚庣殑鍙傛暟瀛楃涓�
+     */
+    private static String encodeParams(String params, String charset) {
+        if (StringUtils.isBlank(params)) {
+            return params;
+        }
+
+        try {
+            StringBuilder encodedParams = new StringBuilder();
+            String[] pairs = params.split("&");
+
+            for (int i = 0; i < pairs.length; i++) {
+                String pair = pairs[i];
+                if (StringUtils.isNotBlank(pair)) {
+                    int idx = pair.indexOf("=");
+                    if (idx > 0) {
+                        String key = pair.substring(0, idx);
+                        String value = pair.substring(idx + 1);
+                        // 瀵筴ey鍜寁alue閮借繘琛孶RL缂栫爜
+                        encodedParams.append(URLEncoder.encode(key, charset))
+                                .append("=")
+                                .append(URLEncoder.encode(value, charset));
+                    } else {
+                        // 娌℃湁绛夊彿锛屾暣涓綔涓簁ey
+                        encodedParams.append(URLEncoder.encode(pair, charset));
+                    }
+
+                    if (i < pairs.length - 1) {
+                        encodedParams.append("&");
+                    }
+                }
+            }
+
+            return encodedParams.toString();
+        } catch (UnsupportedEncodingException e) {
+            log.error("URL鍙傛暟缂栫爜澶辫触", e);
+            return params;
+        }
+    }
+
 }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index c67a2ab..cc18bfe 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -781,7 +781,16 @@
                     }
                     String wxCode = "";
                     if (active.equals("hzszlyy")) {//甯備竴鍖婚櫌
-                        String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() + "&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&phone=" + patArchive.getTelcode() + "&url=" + url + "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
+                        //澶勭悊涓枃涔辩爜闂
+                        String title = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
+                        String content = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
+                        String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
+                        String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() +
+                                "&title=" + title +
+                                "&content=" + content +
+                                "&phone=" + patArchive.getTelcode() +
+                                "&url=" + encodedUrl +
+                                "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
                         HttpUtils.sendGet(urlTemp);
                     } else {
                         wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx);

--
Gitblit v1.9.3