Commit 799ed1cb authored by zhouts's avatar zhouts

更新rtsp 校验

parent d34943ec
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId> <artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -198,11 +198,41 @@ public class ExtController { ...@@ -198,11 +198,41 @@ public class ExtController {
public String getrtsp(HttpServletRequest request, public String getrtsp(HttpServletRequest request,
@RequestBody String rtspValue, @RequestBody String rtspValue,
@PathVariable("photonum") Integer photonum) { @PathVariable("photonum") Integer photonum) {
try {
//根据判断监控是否存在 //根据判断监控是否存在
List<Sbtdspsr> sbtdspsrs = sbtdspsrService.selectByRtsp(rtspValue); List<Sbtdspsr> sbtdspsrlist = sbtdspsrService.selectByRtsp(rtspValue);
if (sbtdspsrs.size() > 0) { if (sbtdspsrlist.size() == 0) {
Sbtdspsr sbtdspsr = sbtdspsrs.get(0); //可能rtsp地址已经变换,重新查询rtsp 地址
String[] codearray = rtspValue.split("\\?")[0].split("/");
if (codearray.length > 3) {
String devicecode = codearray[3].replace("_1", "");
Map<String, String> map = new HashMap<>();
map.put("deviceCode", devicecode);
ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://212.129.142.17:8281/gh/device/test?deviceCode={deviceCode}", String.class, map);
// ResponseEntity<String> exchange = restTemplate.exchange(getrtspbyurl + "?deviceCode={deviceCode}",
// HttpMethod.GET, null, String.class, map);
JSONObject json = JSONObject.parseObject(responseEntity.getBody());
if (null != json.getString("code") && json.getString("code").equals("0")) {
//返回rtsp 地址
if (null != json.get("obj") && !"".equals(json.get("obj"))) {
//更新sbtdspsr 地址
int result = sbtdspsrService.updateRecogByRtsp(String.valueOf(json.get("obj")), devicecode);
if (result > 0) {
logger.info("更新rtsp success");
} else {
logger.info("设备" + devicecode + "不存在");
return ResultUtil.success();
}
}
}
sbtdspsrlist = sbtdspsrService.selectByRtsp(String.valueOf(json.get("obj")));
}
}
if (sbtdspsrlist.size() == 0) {
ResultUtil.success();
} else {
try{
Sbtdspsr sbtdspsr = sbtdspsrlist.get(0);
//根据rtsp 进行图片获取及存储 //根据rtsp 进行图片获取及存储
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8); headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
...@@ -211,14 +241,16 @@ public class ExtController { ...@@ -211,14 +241,16 @@ public class ExtController {
maps.put("refresh", 1); maps.put("refresh", 1);
HttpEntity<String> formEntity = new HttpEntity<String>(null, headers); HttpEntity<String> formEntity = new HttpEntity<String>(null, headers);
TraffAlarmRecord record = new TraffAlarmRecord(); TraffAlarmRecord record = new TraffAlarmRecord();
Map<String, Object> transferRecordMap = new HashMap<>(); Map<String, Object> transferRecordMap = new HashMap<String, Object>();
List<String> imgUrls = new ArrayList<>(); List<String> imgUrls = new ArrayList<>();
TraffAlarmRecord traffAlarmRecord = new TraffAlarmRecord(); TraffAlarmRecord traffAlarmRecord = new TraffAlarmRecord();
traffAlarmRecord.setFdid(sbtdspsr.getSbbh()); traffAlarmRecord.setFdid(sbtdspsr.getSbbh());
traffAlarmRecord.setChannelid(Integer.parseInt(String.valueOf(sbtdspsr.getTdbh()))); traffAlarmRecord.setChannelid(Integer.parseInt(String.valueOf(sbtdspsr.getTdbh())));
traffAlarmRecord.setAreaid(Long.parseLong(sbtdspsr.getXzbh())); traffAlarmRecord.setAreaid(Long.parseLong(sbtdspsr.getXzbh()));
for (int i = 0; i < photonum; i++) {//photonum张图片,最多5张 for (int i = 0; i < photonum; i++) {//photonum张图片,最多5张
if (i > 4) break; if (i > 4) {
break;
}
ResponseEntity<String> exchange = restTemplate.exchange(rtspurl + "?url={rtspvalue}&refresh={refresh}", ResponseEntity<String> exchange = restTemplate.exchange(rtspurl + "?url={rtspvalue}&refresh={refresh}",
HttpMethod.GET, formEntity, String.class, maps); HttpMethod.GET, formEntity, String.class, maps);
String body = exchange.getBody(); String body = exchange.getBody();
...@@ -254,13 +286,11 @@ public class ExtController { ...@@ -254,13 +286,11 @@ public class ExtController {
//更新图片地址 //更新图片地址
traffAlarmRecordService.updateTraffAlarmRecordUrl(traffAlarmRecord); traffAlarmRecordService.updateTraffAlarmRecordUrl(traffAlarmRecord);
return ResultUtil.success(); return ResultUtil.success();
} catch(Exception e){
logger.error("ext/getRTSP-->" + e.toString());
} }
logger.error("rtsp 不存在-->");
return ResultUtil.fail();
} catch (Exception e) {
logger.error("ext/patrolCtrlRecord-->" + e.toString());
} }
return ResultUtil.fail(); return ResultUtil.success();
} }
@RequestMapping(value = "/getRecog", method = RequestMethod.POST) @RequestMapping(value = "/getRecog", method = RequestMethod.POST)
...@@ -308,7 +338,9 @@ public class ExtController { ...@@ -308,7 +338,9 @@ public class ExtController {
map.put("sbbh", videoid.split("_")[0]); map.put("sbbh", videoid.split("_")[0]);
map.put("tdbh", videoid.split("_")[1]); map.put("tdbh", videoid.split("_")[1]);
List<TraffAlarmRecord> traffalarmrecordlist = traffAlarmRecordService.getTraffAlarmRecordByProgress(map); List<TraffAlarmRecord> traffalarmrecordlist = traffAlarmRecordService.getTraffAlarmRecordByProgress(map);
if(traffalarmrecordlist.size()<1)return ResultUtil.success(); if(traffalarmrecordlist.size()<1) {
return ResultUtil.success();
}
BASE64Decoder base64Decoder = new BASE64Decoder(); BASE64Decoder base64Decoder = new BASE64Decoder();
int count = 0; int count = 0;
//开启多线程 //开启多线程
...@@ -320,9 +352,11 @@ public class ExtController { ...@@ -320,9 +352,11 @@ public class ExtController {
for (TraffAlarmRecord transferRecord : traffalarmrecordlist) { for (TraffAlarmRecord transferRecord : traffalarmrecordlist) {
count = 0; count = 0;
GoalStructureParam param = FileTransferManager.getGoalStructureParam(count,roiarray, GoalStructureParam param = FileTransferManager.getGoalStructureParam(count,roiarray,
Integer.parseInt(model == null ? "1" : model.equals("") ? "1" : model Integer.parseInt(model == null ? "1" : "".equals(model) ? "1" : model
), base64Encoder, transferRecord); ), base64Encoder, transferRecord);
if (param.getImageList().size() < 1) continue; // if (param.getImageList().size() < 1) {
// continue;
// }
requestEntity = new HttpEntity<>(JSONObject.toJSONString(param), headers); requestEntity = new HttpEntity<>(JSONObject.toJSONString(param), headers);
ResponseEntity<String> response = restTemplate.exchange(recogurl, HttpMethod.POST, requestEntity, String.class); ResponseEntity<String> response = restTemplate.exchange(recogurl, HttpMethod.POST, requestEntity, String.class);
String body = response.getBody(); String body = response.getBody();
...@@ -334,14 +368,18 @@ public class ExtController { ...@@ -334,14 +368,18 @@ public class ExtController {
//更新 recordalarm 为一分析 //更新 recordalarm 为一分析
traffAlarmRecordService.updateTraffAlarmRecordProcess(transferRecord); traffAlarmRecordService.updateTraffAlarmRecordProcess(transferRecord);
//判断是否统计结构化数据 //判断是否统计结构化数据
if(recordtype.equals("6")||recordtype.equals("2"))//结构化统计 if(recordtype.equals("6")||recordtype.equals("2"))//结构化统计
{ {
TraffpictureParam traffpictureParam=new TraffpictureParam(); TraffpictureParam traffpictureParam=new TraffpictureParam();
setTraffpictureParam(recordtype, base64Encoder, transferRecord, traffpictureParam); setTraffpictureParam(recordtype, base64Encoder, transferRecord, traffpictureParam);
traffpictureParam.setTargetnum(objectList.size()); traffpictureParam.setTargetnum(objectList.size());
traffPictureService.updateTraffpicture(traffpictureParam);} traffPictureService.updateTraffpicture(traffpictureParam);
WebSocket.GroupSending(JSONObject.toJSONString(traffpictureParam));
}
else { else {
for (TraffpictureParam traffpictureParam : objectList) { for (TraffpictureParam traffpictureParam : objectList) {
//根据imageid 获得 base64图片 //根据imageid 获得 base64图片
JSONObject metadata = JSONObject.parseObject(String.valueOf(traffpictureParam.getMetadata())); JSONObject metadata = JSONObject.parseObject(String.valueOf(traffpictureParam.getMetadata()));
if (null != metadata && metadata.get("Type").equals(model)) {//规定区域内出现告警对象 if (null != metadata && metadata.get("Type").equals(model)) {//规定区域内出现告警对象
...@@ -364,12 +402,13 @@ public class ExtController { ...@@ -364,12 +402,13 @@ public class ExtController {
meta.setId(traffpictureParam.getId()); meta.setId(traffpictureParam.getId());
//新增到车辆详情表 //新增到车辆详情表
trafficService.insertTraffic(meta); trafficService.insertTraffic(meta);
if (null != meta.getObjectBoundingBox()) if (null != meta.getObjectBoundingBox()) {
traffpictureParam.setObjx(meta.getObjectBoundingBox().getX()); traffpictureParam.setObjx(meta.getObjectBoundingBox().getX());
traffpictureParam.setObjy(meta.getObjectBoundingBox().getY()); traffpictureParam.setObjy(meta.getObjectBoundingBox().getY());
traffpictureParam.setObjw(meta.getObjectBoundingBox().getW()); traffpictureParam.setObjw(meta.getObjectBoundingBox().getW());
traffpictureParam.setObjh(meta.getObjectBoundingBox().getH()); traffpictureParam.setObjh(meta.getObjectBoundingBox().getH());
} else if (null != metadata && metadata.get("Type").equals("3")) { }
} else if (null != metadata && metadata.get("Type").equals("3")) {
Face meta = JSON.toJavaObject(metadata, Face.class); Face meta = JSON.toJavaObject(metadata, Face.class);
meta.setId(traffpictureParam.getId()); meta.setId(traffpictureParam.getId());
faceService.insertFace(meta); faceService.insertFace(meta);
...@@ -377,7 +416,8 @@ public class ExtController { ...@@ -377,7 +416,8 @@ public class ExtController {
traffpictureParam.setObjy(meta.getFaceBoundingBox().getY()); traffpictureParam.setObjy(meta.getFaceBoundingBox().getY());
traffpictureParam.setObjw(meta.getFaceBoundingBox().getW()); traffpictureParam.setObjw(meta.getFaceBoundingBox().getW());
traffpictureParam.setObjh(meta.getFaceBoundingBox().getH()); traffpictureParam.setObjh(meta.getFaceBoundingBox().getH());
} else if (null != metadata && metadata.get("Type").equals("4"))//人骑车 //人骑车
} else if (null != metadata && metadata.get("Type").equals("4"))
{ {
PeopleRideBicyc meta = JSON.toJavaObject(metadata, PeopleRideBicyc.class); PeopleRideBicyc meta = JSON.toJavaObject(metadata, PeopleRideBicyc.class);
meta.setId(traffpictureParam.getId()); meta.setId(traffpictureParam.getId());
......
...@@ -12,4 +12,6 @@ import java.util.Map; ...@@ -12,4 +12,6 @@ import java.util.Map;
public interface SbtdspsrMapper { public interface SbtdspsrMapper {
List<Sbtdspsr> selectByRtsp( String rtsp); List<Sbtdspsr> selectByRtsp( String rtsp);
List<Map> selectRecogByRtsp(String rtsp); List<Map> selectRecogByRtsp(String rtsp);
int updateRecogByRtsp(Map map);
} }
...@@ -6,4 +6,5 @@ import java.util.Map; ...@@ -6,4 +6,5 @@ import java.util.Map;
public interface SbtdspsrService { public interface SbtdspsrService {
List selectByRtsp( String rtsp); List selectByRtsp( String rtsp);
List<Map> selectRecogByRtsp(String rtsp); List<Map> selectRecogByRtsp(String rtsp);
int updateRecogByRtsp(String rtsp,String devicecode);
} }
...@@ -7,6 +7,7 @@ import com.cx.cn.cxquartz.vo.Sbtdspsr; ...@@ -7,6 +7,7 @@ import com.cx.cn.cxquartz.vo.Sbtdspsr;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -26,4 +27,12 @@ public class SbtdspsrImpl implements SbtdspsrService { ...@@ -26,4 +27,12 @@ public class SbtdspsrImpl implements SbtdspsrService {
return sbtdspsrMapper.selectRecogByRtsp(rtsp); return sbtdspsrMapper.selectRecogByRtsp(rtsp);
} }
@Override
public int updateRecogByRtsp(String rtsp, String devicecode) {
Map map =new HashMap();
map.put("rtsp",rtsp);
map.put("devicecode",devicecode);
return sbtdspsrMapper.updateRecogByRtsp(map);
}
} }
...@@ -68,12 +68,16 @@ public class FTPUtil { ...@@ -68,12 +68,16 @@ public class FTPUtil {
public static byte[] getFtpPicBytes(String path) { public static byte[] getFtpPicBytes(String path) {
URL url = null; URL url = null;
byte[] buffer = null;
try { try {
url = new URL(path); url = new URL(path);
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
log.error("FTP URL·������"+e.toString()); log.error("FTP URL·������"+e.toString());
return buffer;
} }
byte[] buffer = null;
try (InputStream is = url.openStream();ByteArrayOutputStream bos = new ByteArrayOutputStream(1000)){ try (InputStream is = url.openStream();ByteArrayOutputStream bos = new ByteArrayOutputStream(1000)){
byte[] b = new byte[1000]; byte[] b = new byte[1000];
int n; int n;
...@@ -84,6 +88,7 @@ public class FTPUtil { ...@@ -84,6 +88,7 @@ public class FTPUtil {
}catch (Exception e) { }catch (Exception e) {
log.error("FTP����ͼƬ����", e); log.error("FTP����ͼƬ����", e);
return buffer;
} }
return buffer; return buffer;
} }
......
...@@ -11,7 +11,7 @@ mybatis: ...@@ -11,7 +11,7 @@ mybatis:
spring: spring:
datasource: datasource:
url: jdbc:mysql://192.168.168.212:3306/imagepro?useUnicode=true&characterEncoding=utf-8&useSSL=false url: jdbc:mysql://localhost:3306/imagepro?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
#username: zn06 #username: zn06
#password: znznzn8 #password: znznzn8
# url: jdbc:mysql://172.16.24.153:3306/imagepro?useUnicode=true&characterEncoding=utf-8&useSSL=false # url: jdbc:mysql://172.16.24.153:3306/imagepro?useUnicode=true&characterEncoding=utf-8&useSSL=false
......
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
select distinct concat(videoid,'_0')videoid ,metatype,recordtype ,objectx,objecty,objectw,objecth from quartz_task_informations where rtsp=#{rtsp} select distinct concat(videoid,'_0')videoid ,metatype,recordtype ,objectx,objecty,objectw,objecth from quartz_task_informations where rtsp=#{rtsp}
</select> </select>
<update id="updateRecogByRtsp" parameterType="java.util.HashMap" >
update sbtdspsr set squrllj= #{rtsp} where sbbh=#{devicecode}
</update>
</mapper> </mapper>
package com.quartz.cn.com.cx.cn.cxquartz; //package com.quartz.cn.com.cx.cn.cxquartz;
//
import com.cx.cn.cxquartz.service.quartz.impl.SbtdspsrImpl; //import com.cx.cn.cxquartz.service.quartz.impl.SbtdspsrImpl;
import com.cx.cn.cxquartz.vo.Sbtdspsr; //import com.cx.cn.cxquartz.vo.Sbtdspsr;
import org.junit.Test; //import org.junit.Test;
import org.junit.runner.RunWith; //import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest; //import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
import org.springframework.test.context.junit4.SpringRunner; //import org.springframework.boot.test.context.SpringBootTest;
import sun.misc.BASE64Decoder; //import org.springframework.test.context.junit4.SpringRunner;
//import sun.misc.BASE64Decoder;
import java.util.List; //
//import java.util.List;
@RunWith(SpringRunner.class) //
@SpringBootTest //@RunWith(SpringRunner.class)
public class CXQuartzApplicationTests { //@SpringBootTest
// public class CXQuartzApplicationTests {
@Test //
public void contextLoads() { // @Test
BASE64Decoder decoder=new BASE64Decoder(); // public void contextLoads() {
// RedisProperties.Jedis jedis = new Jedis("192.168.10.1");
} // jedis.auth("ldd");
// jedis.set("age", "1");
} // System.out.println(jedis.get("age"));
// }
//
//}
//
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment