diff --git a/src/main/java/com/inspect/simulator/controller/InfraredController.java b/src/main/java/com/inspect/simulator/controller/InfraredController.java index 6f9988a..bae9bda 100644 --- a/src/main/java/com/inspect/simulator/controller/InfraredController.java +++ b/src/main/java/com/inspect/simulator/controller/InfraredController.java @@ -5,6 +5,7 @@ import com.inspect.simulator.domain.Infrared.InfraPictureInfo; import com.inspect.simulator.domain.Infrared.InfraredBox; import com.inspect.simulator.domain.Infrared.TemperatureData; import com.inspect.simulator.domain.assistant.Session; +import com.inspect.simulator.domain.result.BasedataPatrolPoint; import com.inspect.simulator.hikVision.utils.AjaxResult; import com.inspect.simulator.hikVision.utils.StringUtils; import com.inspect.simulator.service.HikVisionService; @@ -67,8 +68,8 @@ public class InfraredController { // } @PostMapping("/hw/cameraHong") @ResponseBody - public TemperatureData cameraHongWaiHk() { - return hikVisionService.TemperatureMeasurement(); + public TemperatureData cameraHongWaiHk(@RequestBody BasedataPatrolPoint basedataPatrolPoint) { + return hikVisionService.TemperatureMeasurement(basedataPatrolPoint); } //图谱解析 diff --git a/src/main/java/com/inspect/simulator/domain/basedata/BasedataEqpBookChannel.java b/src/main/java/com/inspect/simulator/domain/basedata/BasedataEqpBookChannel.java index e144deb..abbffeb 100644 --- a/src/main/java/com/inspect/simulator/domain/basedata/BasedataEqpBookChannel.java +++ b/src/main/java/com/inspect/simulator/domain/basedata/BasedataEqpBookChannel.java @@ -41,6 +41,7 @@ public class BasedataEqpBookChannel extends BaseEntity { private String password; private String deviceSource; + private String presetPosCode; @Override public String toString() { @@ -63,6 +64,7 @@ public class BasedataEqpBookChannel extends BaseEntity { ", username='" + username + '\'' + ", password='" + password + '\'' + ", deviceSource='" + deviceSource + '\'' + + ", presetPosCode='" + presetPosCode + '\'' + '}'; } } diff --git a/src/main/java/com/inspect/simulator/mapper/BasedataEqpBookChannelMapper.java b/src/main/java/com/inspect/simulator/mapper/BasedataEqpBookChannelMapper.java index 99921d4..8ffc268 100644 --- a/src/main/java/com/inspect/simulator/mapper/BasedataEqpBookChannelMapper.java +++ b/src/main/java/com/inspect/simulator/mapper/BasedataEqpBookChannelMapper.java @@ -3,6 +3,7 @@ package com.inspect.simulator.mapper; import com.inspect.simulator.domain.basedata.BasedataEqpBook; import com.inspect.simulator.domain.basedata.BasedataEqpBookChannel; +import com.inspect.simulator.domain.result.BasedataPatrolPoint; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -23,4 +24,6 @@ public interface BasedataEqpBookChannelMapper { List getChannelByEqpBookCode(BasedataEqpBook eqpBook); + BasedataEqpBookChannel getChannelByPatrolPointId(BasedataPatrolPoint basedataPatrolPoint); + } diff --git a/src/main/java/com/inspect/simulator/service/HikVisionService.java b/src/main/java/com/inspect/simulator/service/HikVisionService.java index 7a49708..6d305fa 100644 --- a/src/main/java/com/inspect/simulator/service/HikVisionService.java +++ b/src/main/java/com/inspect/simulator/service/HikVisionService.java @@ -1,6 +1,7 @@ package com.inspect.simulator.service; import com.inspect.simulator.domain.Infrared.*; +import com.inspect.simulator.domain.result.BasedataPatrolPoint; import com.inspect.simulator.hikVision.utils.AjaxResult; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestBody; @@ -25,7 +26,7 @@ public interface HikVisionService { //图谱解析 ResponseEntity irPicAnalyse(String analyseRequest); - InfraredInfo calculatePicture(InfraPictureInfo infraPictureInfo,String picData); + InfraredInfo calculatePicture(InfraPictureInfo infraPictureInfo,String picData,BasedataPatrolPoint basedataPatrolPoint); InputStream downloadCsv(String filePath); @@ -35,5 +36,5 @@ public interface HikVisionService { List selectInfraredBoxListByImgName(String imgName); - public TemperatureData TemperatureMeasurement(); + public TemperatureData TemperatureMeasurement(BasedataPatrolPoint basedataPatrolPoint); } diff --git a/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java index 5455133..51da083 100644 --- a/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java +++ b/src/main/java/com/inspect/simulator/service/impl/AlgorithmServiceImpl.java @@ -258,7 +258,7 @@ public class AlgorithmServiceImpl implements AlgorithmService { InfraPictureInfo infraPictureInfo = new InfraPictureInfo(); infraPictureInfo.setImgType(typeListImg[0]); infraPictureInfo.setFilePath(imageUrlList[0]); - InfraredInfo infraredInfo = hikVisionService.calculatePicture(infraPictureInfo, infraFrameContent); + InfraredInfo infraredInfo = hikVisionService.calculatePicture(infraPictureInfo, infraFrameContent,basedataPatrolPoint2); final String feedBackHostIp = analyseRequest.getRequestHostIp(); final String feedBackPort = analyseRequest.getRequestHostPort(); diff --git a/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java index 1d2ab0e..52e0f82 100644 --- a/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java +++ b/src/main/java/com/inspect/simulator/service/impl/HikVisionServiceImpl.java @@ -3,6 +3,7 @@ package com.inspect.simulator.service.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; @@ -50,9 +51,7 @@ import java.nio.ByteOrder; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; +import java.util.*; import java.util.List; import java.util.concurrent.TimeUnit; @@ -116,6 +115,7 @@ public class HikVisionServiceImpl implements HikVisionService { @Autowired private BasedataPatrolPointMapper basedataPatrolPointMapper; + // @Override // public AjaxResult login(NvrInfo nvrInfo) { // return login_V40(nvrInfo); @@ -1349,7 +1349,7 @@ public class HikVisionServiceImpl implements HikVisionService { // infraPictureInfo.setChannelId(); infraPictureInfo.setImgType(typeListImg[0]); infraPictureInfo.setFilePath(imageUrlList[0]); - InfraredInfo infraredInfo = calculatePicture(infraPictureInfo, "1,1,639,511,640,512"); + InfraredInfo infraredInfo = calculatePicture(infraPictureInfo, "1,1,639,511,640,512",new BasedataPatrolPoint()); AnalyseResult analyseResult = new AnalyseResult(); @@ -1389,7 +1389,7 @@ public class HikVisionServiceImpl implements HikVisionService { return ResponseEntity.ok().body("{\"code\":\"200\"}"); } - public InfraredInfo calculatePicture(InfraPictureInfo infraPictureInfo, String picData) { + public InfraredInfo calculatePicture(InfraPictureInfo infraPictureInfo, String picData,BasedataPatrolPoint basedataPatrolPoint) { log.info("进入红外图片接口!"); @@ -1451,7 +1451,7 @@ public class HikVisionServiceImpl implements HikVisionService { //调取实时测温温度 //传值,相机 ip - TemperatureData temperatureData = TemperatureMeasurement(); + TemperatureData temperatureData = TemperatureMeasurement(basedataPatrolPoint); String minTemperature = temperatureData.getMinTemperature(); String maxTemperature = temperatureData.getMaxTemperature(); @@ -1565,10 +1565,7 @@ public class HikVisionServiceImpl implements HikVisionService { return infraredInfo; } - public TemperatureData TemperatureMeasurement() { - - - + public TemperatureData TemperatureMeasurement(BasedataPatrolPoint basedataPatrolPoint) { TemperatureData temperatureData = new TemperatureData(); OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(5, TimeUnit.SECONDS) // 连接超时5秒 @@ -1576,12 +1573,38 @@ public class HikVisionServiceImpl implements HikVisionService { .writeTimeout(5, TimeUnit.SECONDS) // 写入超时5秒 .retryOnConnectionFailure(false) // 禁用自动重试 .build(); + //获取通道信息,用于后续获取测温数据时使用。 + BasedataEqpBookChannel eqpchannel = basedataEqpBookChannelMapper.getChannelByPatrolPointId(basedataPatrolPoint); // 构造 JSON 请求体 MediaType JSON = MediaType.parse("application/json; charset=utf-8"); - String jsonBody = "{\"ip\":\"192.168.12.11\",\"port\":\"8000\",\"userName\":\"admin\",\"password\":\"sshw1234\"}"; - log.info("JSON 请求体: " +jsonBody); + log.info("eqpchannel{}",eqpchannel); + log.info("eqpchannel-address{}",eqpchannel.getAddress()); + String[] eqpAddress = eqpchannel.getAddress().split(":"); + ObjectMapper req_mapper = new ObjectMapper(); + Map requestBody = new HashMap<>(); + requestBody.put("ip", eqpAddress[7]); + requestBody.put("port", eqpAddress[8]); + requestBody.put("channel", eqpAddress[9]); + requestBody.put("presetId", eqpchannel.getPresetPosCode()); + requestBody.put("cameraType", eqpAddress[4]); + requestBody.put("userName", eqpAddress[5]); + requestBody.put("password", eqpAddress[6]); + log.info("requestBody 请求体: " +requestBody.toString()); + + String jsonBody = null; + try { + jsonBody = req_mapper.writeValueAsString(requestBody); + log.info("JSON 请求体: " +jsonBody); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } RequestBody body = RequestBody.create(JSON, jsonBody); + +// String jsonBody = "{\"ip\":\"192.168.12.11\",\"port\":\"8000\",\"userName\":\"admin\",\"password\":\"sshw1234\",\"cameraType\":\"0\"}"; +// log.info("JSON 请求体: " +jsonBody); +// RequestBody body = RequestBody.create(JSON, requestBody.toString()); + try { // 构建 multipart 请求体 // RequestBody requestBody = new MultipartBody.Builder() @@ -1594,7 +1617,7 @@ public class HikVisionServiceImpl implements HikVisionService { // 构建请求 Request request = new Request.Builder() - .url("http://172.21.101.111:8080/hw/cameraHong") + .url("http://172.21.101.79:8080/hw/cameraHong") .post(body) .addHeader("Content-Type", "application/json") .build(); @@ -1631,6 +1654,8 @@ public class HikVisionServiceImpl implements HikVisionService { return temperatureData; } + + @Override public InputStream downloadCsv(String filePath) { log.info("解析csv图片地址" + filePath); diff --git a/src/main/resources/mapper/metadata/BasedataEqpBookChannelMapper.xml b/src/main/resources/mapper/metadata/BasedataEqpBookChannelMapper.xml index c395efd..e454251 100644 --- a/src/main/resources/mapper/metadata/BasedataEqpBookChannelMapper.xml +++ b/src/main/resources/mapper/metadata/BasedataEqpBookChannelMapper.xml @@ -26,6 +26,7 @@ + @@ -189,4 +190,12 @@ a.eqp_book_id = b.eqp_book_id AND a.patrol_device_code = #{patrolDeviceCode} + + \ No newline at end of file