Loading pom.xml +22 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,27 @@ </exclusions> </dependency> <!--http 基础包--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.9</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>com.dahuatech.icc</groupId> <artifactId>java-sdk-core</artifactId> Loading Loading @@ -114,6 +135,7 @@ <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.1.RELEASE</version> <!--<configuration> <mainClass>com.example.mykafkaproject.MyKafkaProjectApplication</mainClass> <skip>true</skip> Loading src/main/java/com/example/mykafkaproject/bean/IotWarnPushDto.java +9 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ public class IotWarnPushDto { private String grade_type_code; private String alarm_time; private String picture; private String video; private String belong; private String create_time; Loading Loading @@ -87,4 +88,12 @@ public class IotWarnPushDto { public void setGrade_type_code(String grade_type_code) { this.grade_type_code = grade_type_code; } public String getVideo() { return video; } public void setVideo(String video) { this.video = video; } } src/main/java/com/example/mykafkaproject/bean/WarnPushBase.java +10 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ public class WarnPushBase{ /** 摄像头Id */ private String channelId; private String alarmMsg; public Long getId() { return id; Loading Loading @@ -164,4 +166,12 @@ public class WarnPushBase{ public void setChannelId(String channelId) { this.channelId = channelId; } public String getAlarmMsg() { return alarmMsg; } public void setAlarmMsg(String alarmMsg) { this.alarmMsg = alarmMsg; } } src/main/java/com/example/mykafkaproject/server/WarnPushBaseServer.java +31 −22 Original line number Diff line number Diff line Loading @@ -10,9 +10,10 @@ import com.dahuatech.icc.oauth.http.DefaultClient; import com.dahuatech.icc.oauth.http.IClient; import com.dahuatech.icc.oauth.model.v202010.GeneralRequest; import com.dahuatech.icc.oauth.model.v202010.GeneralResponse; import com.example.mykafkaproject.bean.IotWarnPushDto; import com.example.mykafkaproject.bean.WarnPushBase; import com.example.mykafkaproject.mapper.WarnPushBaseMapper; import com.example.mykafkaproject.utils.HttpUtils; import com.example.mykafkaproject.utils.JsonUtil; import com.example.mykafkaproject.utils.PinYinUtil; import com.example.mykafkaproject.utils.RtspToMP4; import org.slf4j.Logger; Loading @@ -22,6 +23,8 @@ import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; @Service("WarnPushBaseServer") public class WarnPushBaseServer { Loading @@ -43,7 +46,8 @@ public class WarnPushBaseServer { //获取前后五秒时间戳 Date alarmTime = warnPushBase.getAlarmTime(); String video = getVideo(warnPushBase.getChannelId(), alarmTime.getTime() / 1000 - 5, alarmTime.getTime() / 1000 + 5); warnPushBase.setAlarmMsg(warnPushBase.getGradeType()); warnPushBase.setGradeType("摄像头预警"); warnPushBase.setVideo(video); warnPushBaseMapper.add(warnPushBase); Loading Loading @@ -111,23 +115,28 @@ public class WarnPushBaseServer { public void iotPush(WarnPushBase warnPushBase) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String url = "http://172.16.20.170:8089/api/v1/aqgl/warn"; IotWarnPushDto iotWarnPushDto = new IotWarnPushDto(); iotWarnPushDto.setOrder_name("智能安全系纺"); iotWarnPushDto.setAlarm_device_name(warnPushBase.getAlarmDeviceName()); iotWarnPushDto.setGrade_name(warnPushBase.getGradeName()); iotWarnPushDto.setGrade_type("摄像头预警"); iotWarnPushDto.setGrade_type_code(PinYinUtil.getPinYinHeadChar(iotWarnPushDto.getGrade_type())); iotWarnPushDto.setAlarm_time(simpleDateFormat.format(warnPushBase.getAlarmTime())); iotWarnPushDto.setPicture(warnPushBase.getPicture()); iotWarnPushDto.setBelong(warnPushBase.getBelong()); iotWarnPushDto.setCreate_time(simpleDateFormat.format(new Date())); String json = JSON.toJSONString(iotWarnPushDto); String result = HttpRequest.post(url) .body(json) .execute().body(); System.out.println("IOT返回结果:"+result); String url = "http://172.16.20.170:8089/api/v1"; String result_info = null; try { //同步IOT Map<String, String> bodys = new HashMap<>(); bodys.put("order_name", "AI预警平台"); bodys.put("alarm_device_name", warnPushBase.getAlarmDeviceName()); bodys.put("grade_name", warnPushBase.getGradeName()); bodys.put("grade_type", "摄像头预警"); bodys.put("grade_type_code", PinYinUtil.getPinYinHeadChar(warnPushBase.getGradeType())); bodys.put("alarm_time", simpleDateFormat.format(warnPushBase.getAlarmTime())); bodys.put("alarm_msg", warnPushBase.getAlarmMsg()); bodys.put("picture", warnPushBase.getPicture()); bodys.put("mine", warnPushBase.getBelong()); bodys.put("create_time", simpleDateFormat.format(new Date())); result_info = HttpUtils.doPostJson(url, null, JsonUtil.getObjectToString(bodys)); } catch (Exception e) { System.out.println("同步IOT出错!!!"); } System.out.println("IOT返回结果:" + result_info); } } Loading src/main/java/com/example/mykafkaproject/utils/HttpUtils.java 0 → 100644 +55 −0 Original line number Diff line number Diff line package com.example.mykafkaproject.utils; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.util.Iterator; import java.util.Map; public class HttpUtils { /** * Post请求传参 * @param url * @param headerMap * @param json * @return */ public static String doPostJson(String url, Map<String, String> headerMap, String json) { // 创建Httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; String resultString = ""; try { // 创建Http Post请求 HttpPost httpPost = new HttpPost(url); if (headerMap != null) { Iterator headerIterator = headerMap.entrySet().iterator(); //循环增加header while(headerIterator.hasNext()){ Map.Entry<String,String> elem = (Map.Entry<String, String>) headerIterator.next(); httpPost.addHeader(elem.getKey(),elem.getValue()); } } // 创建请求内容 StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(entity); // 执行http请求 response = httpClient.execute(httpPost); resultString = EntityUtils.toString(response.getEntity(), "UTF8"); } catch (Exception e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } return resultString; } } Loading
pom.xml +22 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,27 @@ </exclusions> </dependency> <!--http 基础包--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.9</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>com.dahuatech.icc</groupId> <artifactId>java-sdk-core</artifactId> Loading Loading @@ -114,6 +135,7 @@ <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.1.RELEASE</version> <!--<configuration> <mainClass>com.example.mykafkaproject.MyKafkaProjectApplication</mainClass> <skip>true</skip> Loading
src/main/java/com/example/mykafkaproject/bean/IotWarnPushDto.java +9 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ public class IotWarnPushDto { private String grade_type_code; private String alarm_time; private String picture; private String video; private String belong; private String create_time; Loading Loading @@ -87,4 +88,12 @@ public class IotWarnPushDto { public void setGrade_type_code(String grade_type_code) { this.grade_type_code = grade_type_code; } public String getVideo() { return video; } public void setVideo(String video) { this.video = video; } }
src/main/java/com/example/mykafkaproject/bean/WarnPushBase.java +10 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ public class WarnPushBase{ /** 摄像头Id */ private String channelId; private String alarmMsg; public Long getId() { return id; Loading Loading @@ -164,4 +166,12 @@ public class WarnPushBase{ public void setChannelId(String channelId) { this.channelId = channelId; } public String getAlarmMsg() { return alarmMsg; } public void setAlarmMsg(String alarmMsg) { this.alarmMsg = alarmMsg; } }
src/main/java/com/example/mykafkaproject/server/WarnPushBaseServer.java +31 −22 Original line number Diff line number Diff line Loading @@ -10,9 +10,10 @@ import com.dahuatech.icc.oauth.http.DefaultClient; import com.dahuatech.icc.oauth.http.IClient; import com.dahuatech.icc.oauth.model.v202010.GeneralRequest; import com.dahuatech.icc.oauth.model.v202010.GeneralResponse; import com.example.mykafkaproject.bean.IotWarnPushDto; import com.example.mykafkaproject.bean.WarnPushBase; import com.example.mykafkaproject.mapper.WarnPushBaseMapper; import com.example.mykafkaproject.utils.HttpUtils; import com.example.mykafkaproject.utils.JsonUtil; import com.example.mykafkaproject.utils.PinYinUtil; import com.example.mykafkaproject.utils.RtspToMP4; import org.slf4j.Logger; Loading @@ -22,6 +23,8 @@ import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; @Service("WarnPushBaseServer") public class WarnPushBaseServer { Loading @@ -43,7 +46,8 @@ public class WarnPushBaseServer { //获取前后五秒时间戳 Date alarmTime = warnPushBase.getAlarmTime(); String video = getVideo(warnPushBase.getChannelId(), alarmTime.getTime() / 1000 - 5, alarmTime.getTime() / 1000 + 5); warnPushBase.setAlarmMsg(warnPushBase.getGradeType()); warnPushBase.setGradeType("摄像头预警"); warnPushBase.setVideo(video); warnPushBaseMapper.add(warnPushBase); Loading Loading @@ -111,23 +115,28 @@ public class WarnPushBaseServer { public void iotPush(WarnPushBase warnPushBase) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String url = "http://172.16.20.170:8089/api/v1/aqgl/warn"; IotWarnPushDto iotWarnPushDto = new IotWarnPushDto(); iotWarnPushDto.setOrder_name("智能安全系纺"); iotWarnPushDto.setAlarm_device_name(warnPushBase.getAlarmDeviceName()); iotWarnPushDto.setGrade_name(warnPushBase.getGradeName()); iotWarnPushDto.setGrade_type("摄像头预警"); iotWarnPushDto.setGrade_type_code(PinYinUtil.getPinYinHeadChar(iotWarnPushDto.getGrade_type())); iotWarnPushDto.setAlarm_time(simpleDateFormat.format(warnPushBase.getAlarmTime())); iotWarnPushDto.setPicture(warnPushBase.getPicture()); iotWarnPushDto.setBelong(warnPushBase.getBelong()); iotWarnPushDto.setCreate_time(simpleDateFormat.format(new Date())); String json = JSON.toJSONString(iotWarnPushDto); String result = HttpRequest.post(url) .body(json) .execute().body(); System.out.println("IOT返回结果:"+result); String url = "http://172.16.20.170:8089/api/v1"; String result_info = null; try { //同步IOT Map<String, String> bodys = new HashMap<>(); bodys.put("order_name", "AI预警平台"); bodys.put("alarm_device_name", warnPushBase.getAlarmDeviceName()); bodys.put("grade_name", warnPushBase.getGradeName()); bodys.put("grade_type", "摄像头预警"); bodys.put("grade_type_code", PinYinUtil.getPinYinHeadChar(warnPushBase.getGradeType())); bodys.put("alarm_time", simpleDateFormat.format(warnPushBase.getAlarmTime())); bodys.put("alarm_msg", warnPushBase.getAlarmMsg()); bodys.put("picture", warnPushBase.getPicture()); bodys.put("mine", warnPushBase.getBelong()); bodys.put("create_time", simpleDateFormat.format(new Date())); result_info = HttpUtils.doPostJson(url, null, JsonUtil.getObjectToString(bodys)); } catch (Exception e) { System.out.println("同步IOT出错!!!"); } System.out.println("IOT返回结果:" + result_info); } } Loading
src/main/java/com/example/mykafkaproject/utils/HttpUtils.java 0 → 100644 +55 −0 Original line number Diff line number Diff line package com.example.mykafkaproject.utils; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.util.Iterator; import java.util.Map; public class HttpUtils { /** * Post请求传参 * @param url * @param headerMap * @param json * @return */ public static String doPostJson(String url, Map<String, String> headerMap, String json) { // 创建Httpclient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; String resultString = ""; try { // 创建Http Post请求 HttpPost httpPost = new HttpPost(url); if (headerMap != null) { Iterator headerIterator = headerMap.entrySet().iterator(); //循环增加header while(headerIterator.hasNext()){ Map.Entry<String,String> elem = (Map.Entry<String, String>) headerIterator.next(); httpPost.addHeader(elem.getKey(),elem.getValue()); } } // 创建请求内容 StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(entity); // 执行http请求 response = httpClient.execute(httpPost); resultString = EntityUtils.toString(response.getEntity(), "UTF8"); } catch (Exception e) { e.printStackTrace(); } finally { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } return resultString; } }