From bda682cfed723ca3be4ff39ab1972b8a69197bfb Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 07 十月 2023 10:18:24 +0800
Subject: [PATCH] 取消mapper注解 HttpUtils替换RestTemplate 增加HttpUtils日志

---
 /dev/null                                                                |   21 --
 src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java          |    5 
 src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java |    8 
 src/main/java/com/ard/utils/Constants.java                               |  137 +++++++++++++++
 src/main/resources/logback-spring.xml                                    |   19 +
 src/main/java/com/ard/utils/http/HttpUtils.java                          |  276 ++++++++++++++++++++++++++++++
 src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java  |    1 
 src/main/java/com/ard/config/ApplicationConfig.java                      |   15 +
 src/main/resources/application-dev.yml                                   |    9 
 src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java        |    1 
 10 files changed, 455 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
index 08a2e51..7ed9bfe 100644
--- a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
+++ b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
@@ -1,9 +1,9 @@
 package com.ard.alarm.camera.mapper;
 
-import java.util.List;
+
 import com.ard.alarm.camera.domain.ArdCameras;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
+
 
 /**
  * 鐩告満璁惧Mapper鎺ュ彛
@@ -11,7 +11,6 @@
  * @author 鍒樿嫃涔�
  * @date 2023-02-11
  */
-@Mapper
 public interface ArdCamerasMapper extends BaseMapper<ArdCameras>
 {
 
diff --git a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
index af32b5c..fdeb27a 100644
--- a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
+++ b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
@@ -12,7 +12,6 @@
  * @author zj
  * @date 2023-03-13
  */
-@Mapper
 public interface ArdEquipExternalMapper extends BaseMapper<ArdEquipExternal>
 {
     ///**
diff --git a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
index adab6f0..c180cb4 100644
--- a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
+++ b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
@@ -11,7 +11,6 @@
  * @author zj
  * @date 2023-03-11
  */
-@Mapper
 public interface ArdEquipRadarMapper extends BaseMapper<ArdEquipRadar>
 {
 
diff --git a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
index 84bf9d4..ced8991 100644
--- a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
+++ b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java
@@ -3,14 +3,13 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.ard.alarm.stealelec.domain.ArdAlarmStealelec;
+import com.ard.utils.http.HttpUtils;
 import com.ard.utils.mqtt.MqttConsumer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
-
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
@@ -26,8 +25,7 @@
 @Slf4j(topic = "stealAlarm")
 @Service
 public class StealElecAlarmService {
-    @Resource
-    RestTemplate restTemplate;
+
     @Value("${spring.stealelec.url}")
     private String stealElecUrl;
     @Value("${spring.stealelec.enabled}")
@@ -49,7 +47,7 @@
             if (!enabled) {
                 return;
             }
-            String allAlarmData = restTemplate.getForObject(stealElecUrl, String.class);
+            String allAlarmData = HttpUtils.sendGet(stealElecUrl);
             //鍓旈櫎鎵�鏈塡绗﹀彿
             String message = allAlarmData.replaceAll("\\\\", "");
             //鍓旈櫎鏁翠釜瀛楃涓查灏惧弻寮曞彿
diff --git a/src/main/java/com/ard/config/ApplicationConfig.java b/src/main/java/com/ard/config/ApplicationConfig.java
new file mode 100644
index 0000000..bf500ea
--- /dev/null
+++ b/src/main/java/com/ard/config/ApplicationConfig.java
@@ -0,0 +1,15 @@
+package com.ard.config;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Description:
+ * @ClassName: ApplicationConfig
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�10鏈�07鏃�9:54:46
+ **/
+@Configuration
+@MapperScan("com.ard.**.mapper")
+public class ApplicationConfig {
+}
diff --git a/src/main/java/com/ard/config/RestTemplateConfig.java b/src/main/java/com/ard/config/RestTemplateConfig.java
deleted file mode 100644
index a070bd7..0000000
--- a/src/main/java/com/ard/config/RestTemplateConfig.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ard.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * @Description:
- * @ClassName: RestTemplateConfig
- * @Author: 鍒樿嫃涔�
- * @Date: 2023骞�06鏈�14鏃�9:32
- * @Version: 1.0
- **/
-@Configuration
-public class RestTemplateConfig {
-    @Bean
-    public RestTemplate restTemplate() {
-        return new RestTemplate();
-    }
-
-}
diff --git a/src/main/java/com/ard/utils/Constants.java b/src/main/java/com/ard/utils/Constants.java
new file mode 100644
index 0000000..0dd64db
--- /dev/null
+++ b/src/main/java/com/ard/utils/Constants.java
@@ -0,0 +1,137 @@
+package com.ard.utils;
+
+/**
+ * @Description: 閫氱敤甯搁噺淇℃伅
+ * @ClassName: Constants
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�10鏈�07鏃�10:04:02
+ **/
+public class Constants
+{
+    /**
+     * UTF-8 瀛楃闆�
+     */
+    public static final String UTF8 = "UTF-8";
+
+    /**
+     * GBK 瀛楃闆�
+     */
+    public static final String GBK = "GBK";
+
+    /**
+     * www涓诲煙
+     */
+    public static final String WWW = "www.";
+
+    /**
+     * http璇锋眰
+     */
+    public static final String HTTP = "http://";
+
+    /**
+     * https璇锋眰
+     */
+    public static final String HTTPS = "https://";
+
+    /**
+     * 閫氱敤鎴愬姛鏍囪瘑
+     */
+    public static final String SUCCESS = "0";
+
+    /**
+     * 閫氱敤澶辫触鏍囪瘑
+     */
+    public static final String FAIL = "1";
+
+    /**
+     * 鐧诲綍鎴愬姛
+     */
+    public static final String LOGIN_SUCCESS = "Success";
+
+    /**
+     * 娉ㄩ攢
+     */
+    public static final String LOGOUT = "Logout";
+
+    /**
+     * 娉ㄥ唽
+     */
+    public static final String REGISTER = "Register";
+
+    /**
+     * 鐧诲綍澶辫触
+     */
+    public static final String LOGIN_FAIL = "Error";
+
+    /**
+     * 楠岃瘉鐮佹湁鏁堟湡锛堝垎閽燂級
+     */
+    public static final Integer CAPTCHA_EXPIRATION = 2;
+
+    /**
+     * 浠ょ墝
+     */
+    public static final String TOKEN = "token";
+
+    /**
+     * 浠ょ墝鍓嶇紑
+     */
+    public static final String TOKEN_PREFIX = "Bearer ";
+
+    /**
+     * 浠ょ墝鍓嶇紑
+     */
+    public static final String LOGIN_USER_KEY = "login_user_key";
+
+    /**
+     * 鐢ㄦ埛ID
+     */
+    public static final String JWT_USERID = "userid";
+
+
+    /**
+     * 鐢ㄦ埛澶村儚
+     */
+    public static final String JWT_AVATAR = "avatar";
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    public static final String JWT_CREATED = "created";
+
+    /**
+     * 鐢ㄦ埛鏉冮檺
+     */
+    public static final String JWT_AUTHORITIES = "authorities";
+
+    /**
+     * 璧勬簮鏄犲皠璺緞 鍓嶇紑
+     */
+    public static final String RESOURCE_PREFIX = "/profile";
+
+    /**
+     * RMI 杩滅▼鏂规硶璋冪敤
+     */
+    public static final String LOOKUP_RMI = "rmi:";
+
+    /**
+     * LDAP 杩滅▼鏂规硶璋冪敤
+     */
+    public static final String LOOKUP_LDAP = "ldap:";
+
+    /**
+     * LDAPS 杩滅▼鏂规硶璋冪敤
+     */
+    public static final String LOOKUP_LDAPS = "ldaps:";
+
+    /**
+     * 瀹氭椂浠诲姟鐧藉悕鍗曢厤缃紙浠呭厑璁歌闂殑鍖呭悕锛屽鍏朵粬闇�瑕佸彲浠ヨ嚜琛屾坊鍔狅級
+     */
+    public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" };
+
+    /**
+     * 瀹氭椂浠诲姟杩濊鐨勫瓧绗�
+     */
+    public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
+            "org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" };
+}
diff --git a/src/main/java/com/ard/utils/http/HttpUtils.java b/src/main/java/com/ard/utils/http/HttpUtils.java
new file mode 100644
index 0000000..9787ae2
--- /dev/null
+++ b/src/main/java/com/ard/utils/http/HttpUtils.java
@@ -0,0 +1,276 @@
+package com.ard.utils.http;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.ConnectException;
+import java.net.SocketTimeoutException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
+import java.security.cert.X509Certificate;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
+import com.ard.utils.Constants;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 閫氱敤http鍙戦�佹柟娉�
+ * 
+ * @author ruoyi
+ */
+@Slf4j(topic = "httpUtils")
+public class HttpUtils
+{
+
+    /**
+     * 鍚戞寚瀹� URL 鍙戦�丟ET鏂规硶鐨勮姹�
+     *
+     * @param url 鍙戦�佽姹傜殑 URL
+     * @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
+     */
+    public static String sendGet(String url)
+    {
+        return sendGet(url, StringUtils.EMPTY);
+    }
+
+    /**
+     * 鍚戞寚瀹� URL 鍙戦�丟ET鏂规硶鐨勮姹�
+     *
+     * @param url 鍙戦�佽姹傜殑 URL
+     * @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
+     * @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
+     */
+    public static String sendGet(String url, String param)
+    {
+        return sendGet(url, param, Constants.UTF8);
+    }
+
+    /**
+     * 鍚戞寚瀹� URL 鍙戦�丟ET鏂规硶鐨勮姹�
+     *
+     * @param url 鍙戦�佽姹傜殑 URL
+     * @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
+     * @param contentType 缂栫爜绫诲瀷
+     * @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
+     */
+    public static String sendGet(String url, String param, String contentType)
+    {
+        StringBuilder result = new StringBuilder();
+        BufferedReader in = null;
+        try
+        {
+            String urlNameString = StringUtils.isNotBlank(param) ? url + "?" + param : url;
+            log.debug("sendGet - {}", urlNameString);
+            URL realUrl = new URL(urlNameString);
+            URLConnection connection = realUrl.openConnection();
+            connection.setRequestProperty("accept", "*/*");
+            connection.setRequestProperty("connection", "Keep-Alive");
+            connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            connection.connect();
+            in = new BufferedReader(new InputStreamReader(connection.getInputStream(), contentType));
+            String line;
+            while ((line = in.readLine()) != null)
+            {
+                result.append(line);
+            }
+            log.debug("recv - {}", result);
+        }
+        catch (ConnectException e)
+        {
+            log.error("璋冪敤HttpUtils.sendGet ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("璋冪敤HttpUtils.sendGet SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("璋冪敤HttpUtils.sendGet IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("璋冪敤HttpsUtil.sendGet Exception, url=" + url + ",param=" + param, e);
+        }
+        finally
+        {
+            try
+            {
+                if (in != null)
+                {
+                    in.close();
+                }
+            }
+            catch (Exception ex)
+            {
+                log.error("璋冪敤in.close Exception, url=" + url + ",param=" + param, ex);
+            }
+        }
+        return result.toString();
+    }
+
+    /**
+     * 鍚戞寚瀹� URL 鍙戦�丳OST鏂规硶鐨勮姹�
+     *
+     * @param url 鍙戦�佽姹傜殑 URL
+     * @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
+     * @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
+     */
+    public static String sendPost(String url, String param)
+    {
+        PrintWriter out = null;
+        BufferedReader in = null;
+        StringBuilder result = new StringBuilder();
+        try
+        {
+            log.debug("sendPost - {}", url);
+            URL realUrl = new URL(url);
+            URLConnection conn = realUrl.openConnection();
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Accept-Charset", "utf-8");
+            conn.setRequestProperty("contentType", "utf-8");
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            out = new PrintWriter(conn.getOutputStream());
+            out.print(param);
+            out.flush();
+            in = new BufferedReader(new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8));
+            String line;
+            while ((line = in.readLine()) != null)
+            {
+                result.append(line);
+            }
+            log.debug("recv - {}", result);
+        }
+        catch (ConnectException e)
+        {
+            log.error("璋冪敤HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("璋冪敤HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("璋冪敤HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("璋冪敤HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);
+        }
+        finally
+        {
+            try
+            {
+                if (out != null)
+                {
+                    out.close();
+                }
+                if (in != null)
+                {
+                    in.close();
+                }
+            }
+            catch (IOException ex)
+            {
+                log.error("璋冪敤in.close Exception, url=" + url + ",param=" + param, ex);
+            }
+        }
+        return result.toString();
+    }
+
+    public static String sendSSLPost(String url, String param)
+    {
+        StringBuilder result = new StringBuilder();
+        String urlNameString = url + "?" + param;
+        try
+        {
+            log.debug("sendSSLPost - {}", urlNameString);
+            SSLContext sc = SSLContext.getInstance("SSL");
+            sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom());
+            URL console = new URL(urlNameString);
+            HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Accept-Charset", "utf-8");
+            conn.setRequestProperty("contentType", "utf-8");
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+
+            conn.setSSLSocketFactory(sc.getSocketFactory());
+            conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
+            conn.connect();
+            InputStream is = conn.getInputStream();
+            BufferedReader br = new BufferedReader(new InputStreamReader(is));
+            String ret = "";
+            while ((ret = br.readLine()) != null)
+            {
+                if (ret != null && !"".equals(ret.trim()))
+                {
+                    result.append(new String(ret.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8));
+                }
+            }
+            log.debug("recv - {}", result);
+            conn.disconnect();
+            br.close();
+        }
+        catch (ConnectException e)
+        {
+            log.error("璋冪敤HttpUtils.sendSSLPost ConnectException, url=" + url + ",param=" + param, e);
+        }
+        catch (SocketTimeoutException e)
+        {
+            log.error("璋冪敤HttpUtils.sendSSLPost SocketTimeoutException, url=" + url + ",param=" + param, e);
+        }
+        catch (IOException e)
+        {
+            log.error("璋冪敤HttpUtils.sendSSLPost IOException, url=" + url + ",param=" + param, e);
+        }
+        catch (Exception e)
+        {
+            log.error("璋冪敤HttpsUtil.sendSSLPost Exception, url=" + url + ",param=" + param, e);
+        }
+        return result.toString();
+    }
+
+    private static class TrustAnyTrustManager implements X509TrustManager
+    {
+        @Override
+        public void checkClientTrusted(X509Certificate[] chain, String authType)
+        {
+        }
+
+        @Override
+        public void checkServerTrusted(X509Certificate[] chain, String authType)
+        {
+        }
+
+        @Override
+        public X509Certificate[] getAcceptedIssuers()
+        {
+            return new X509Certificate[] {};
+        }
+    }
+
+    private static class TrustAnyHostnameVerifier implements HostnameVerifier
+    {
+        @Override
+        public boolean verify(String hostname, SSLSession session)
+        {
+            return true;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index a2c8cdf..3d06baa 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -39,7 +39,7 @@
   # mqtt閰嶇疆
   mqtt:
     host: tcp://192.168.2.15:1883
-    clientId: cc3
+    clientId: c227
     username: admin
     password: admin
     topic: tube
@@ -48,7 +48,7 @@
     enabled: true
   # 鐩楃數鎺ュ彛鍦板潃
   stealelec:
-    enabled: false
+    enabled: true
     url: http://iot.zhdk.net:8090/Warning/GetWarning?userName=cy4oil
   # 涓夊巶鏁板瓧鍖栧湴鍧�
   digitization3:
@@ -65,11 +65,12 @@
 # 鏃ュ織绛夌骇閰嶇疆
 logging:
   level:
-    hikSdk: debug
+    hikSdk: info
     mqtt: info
-    netty: debug
+    netty: info
     external: info
     camera: info
     tube: info
     digitization3: info
     stealAlarm: info
+    httpUtils: info
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index 164d969..5336ba7 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -141,7 +141,19 @@
             <pattern>${log.pattern}</pattern>
         </encoder>
     </appender>
-
+    <!--httpUtils鏃ュ織杈撳嚭-->
+    <appender name="httpUtils" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}/httpUtils.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!--鎸夊ぉ鍥炴粴daily-->
+            <fileNamePattern>${log.path}/httpUtils.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!--鏃ュ織鏈�澶х殑鍘嗗彶60澶�-->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
     <root level="DEBUG">
         <appender-ref ref="console"/>
     </root>
@@ -182,6 +194,9 @@
     <logger name="stealAlarm" level="INFO">
         <appender-ref ref="stealAlarm"/>
     </logger>
-
+    <!--HttpUtils鎿嶄綔鏃ュ織-->
+    <logger name="httpUtils" level="INFO">
+        <appender-ref ref="httpUtils"/>
+    </logger>
 </configuration>
 

--
Gitblit v1.9.3