src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/config/ApplicationConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/config/RestTemplateConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/utils/Constants.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ard/utils/http/HttpUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application-dev.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> { 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> { ///** 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> { 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("\\\\", ""); //å餿´ä¸ªå符串é¦å°¾åå¼å· 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 { } src/main/java/com/ard/config/RestTemplateConfig.java
ÎļþÒÑɾ³ý 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" }; } 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 åéGETæ¹æ³çè¯·æ± * * @param url åé请æ±ç URL * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ */ public static String sendGet(String url) { return sendGet(url, StringUtils.EMPTY); } /** * åæå® URL åéGETæ¹æ³çè¯·æ± * * @param url åé请æ±ç URL * @param param 请æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ */ public static String sendGet(String url, String param) { return sendGet(url, param, Constants.UTF8); } /** * åæå® URL åéGETæ¹æ³çè¯·æ± * * @param url åé请æ±ç URL * @param param 请æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã * @param contentType ç¼ç ç±»å * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ */ 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 åéPOSTæ¹æ³çè¯·æ± * * @param url åé请æ±ç URL * @param param 请æ±åæ°ï¼è¯·æ±åæ°åºè¯¥æ¯ name1=value1&name2=value2 çå½¢å¼ã * @return æä»£è¡¨è¿ç¨èµæºçååºç»æ */ 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; } } } 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 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>