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