陈昶聿
16 小时以前 ebf4b72af820750b3207b7bee6881252b79eed31
【市一】微信公众号-增加中文乱码处理
已修改2个文件
已添加1个文件
63 ■■■■■ 文件已修改
.idea/inspectionProfiles/Project_Default.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.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>
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -332,4 +332,49 @@
        return "调用失败";
    }
    /**
     * å¯¹URL参数进行编码,处理中文乱码问题
     *
     * @param params å‚数字符串,格式:name1=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);
                        // å¯¹key和value都进行URL编码
                        encodedParams.append(URLEncoder.encode(key, charset))
                                .append("=")
                                .append(URLEncoder.encode(value, charset));
                    } else {
                        // æ²¡æœ‰ç­‰å·ï¼Œæ•´ä¸ªä½œä¸ºkey
                        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;
        }
    }
}
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);