diff --git a/src/main/java/com/inspect/simulator/controller/InfraredController.java b/src/main/java/com/inspect/simulator/controller/InfraredController.java
index 30fe19d..592cfb9 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.*;
import com.inspect.simulator.hikVision.utils.StringUtils;
import com.inspect.simulator.service.HikVisionService;
import com.inspect.simulator.hikVision.utils.AjaxResult;
+import com.inspect.simulator.service.ResultAnalysisService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +13,7 @@ import org.springframework.core.io.InputStreamResource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
@@ -27,6 +29,9 @@ public class InfraredController {
@Autowired
private HikVisionService hikVisionService;
+ @Resource
+ private ResultAnalysisService resultAnnalysisService;
+
/**
* ----登录----
* nvrIp nvrIp
@@ -146,5 +151,9 @@ public class InfraredController {
response.put("close", 1);
return response;
}
+ @PostMapping("/ir/channelImg")
+ public String getChannelImg(@RequestParam("patrolPointId") String patrolPointId) {
+ return resultAnnalysisService.selectChannelImgByPatrolPointId(patrolPointId);
+ }
}
diff --git a/src/main/java/com/inspect/simulator/mapper/ResultAnalysisMapper.java b/src/main/java/com/inspect/simulator/mapper/ResultAnalysisMapper.java
new file mode 100644
index 0000000..ddd1f69
--- /dev/null
+++ b/src/main/java/com/inspect/simulator/mapper/ResultAnalysisMapper.java
@@ -0,0 +1,8 @@
+package com.inspect.simulator.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+@Mapper
+public interface ResultAnalysisMapper {
+ String selectChannelImgByPatrolPointId(String patrolPointId);
+
+}
diff --git a/src/main/java/com/inspect/simulator/service/ResultAnalysisService.java b/src/main/java/com/inspect/simulator/service/ResultAnalysisService.java
new file mode 100644
index 0000000..476ca2a
--- /dev/null
+++ b/src/main/java/com/inspect/simulator/service/ResultAnalysisService.java
@@ -0,0 +1,7 @@
+package com.inspect.simulator.service;
+
+
+public interface ResultAnalysisService {
+
+ String selectChannelImgByPatrolPointId(String patrolPointId);
+}
diff --git a/src/main/java/com/inspect/simulator/service/impl/ResultAnnalysisServiceImpl.java b/src/main/java/com/inspect/simulator/service/impl/ResultAnnalysisServiceImpl.java
new file mode 100644
index 0000000..57f23cd
--- /dev/null
+++ b/src/main/java/com/inspect/simulator/service/impl/ResultAnnalysisServiceImpl.java
@@ -0,0 +1,66 @@
+package com.inspect.simulator.service.impl;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.inspect.simulator.mapper.ResultAnalysisMapper;
+import com.inspect.simulator.service.ResultAnalysisService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+@Service
+public class ResultAnnalysisServiceImpl implements ResultAnalysisService {
+
+ @Resource
+ private ResultAnalysisMapper resultAnalysisMapper;
+
+ @Override
+ public String selectChannelImgByPatrolPointId(String patrolPointId) {
+ String resImageUrl=null;
+ String jsonStr = resultAnalysisMapper.selectChannelImgByPatrolPointId(patrolPointId);
+ resImageUrl = extractResImageUrl(jsonStr, patrolPointId);
+ if (resImageUrl==null){
+ try {
+ JSONObject jsonObject = JSONObject.parseObject(jsonStr);
+ resImageUrl = jsonObject.getString("resImageUrl");
+ } catch (Exception e) {
+ e.getMessage();
+ }
+ }
+ return resImageUrl != null ? resImageUrl : "Image URL not found";
+ }
+
+ public String extractResImageUrl(String jsonStr, String objectId) {
+ if (jsonStr == null || jsonStr.isEmpty()) {
+ return null;
+ }
+ try {
+ JSONObject json = JSONObject.parseObject(jsonStr);
+ String[] listKeys = {"resultList"};
+ for (String key : listKeys) {
+ if (json.containsKey(key)) {
+ JSONArray items = json.getJSONArray(key);
+ for (int i = 0; i < items.size(); i++) {
+ JSONObject item = items.getJSONObject(i);
+ if (objectId.equals(item.getString("objectId"))) {
+ JSONArray results = item.getJSONArray("results");
+ if (results != null && !results.isEmpty()) {
+ JSONObject firstResult = results.getJSONObject(0);
+ if (firstResult.containsKey("resImageUrl")) {
+ return firstResult.getString("resImageUrl");
+ }
+ }
+ }
+ }
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+}
diff --git a/src/main/resources/mapper/PatrolPresetPosMapper.xml b/src/main/resources/mapper/PatrolPresetPosMapper.xml
index 15ff9ac..fd666b0 100644
--- a/src/main/resources/mapper/PatrolPresetPosMapper.xml
+++ b/src/main/resources/mapper/PatrolPresetPosMapper.xml
@@ -93,7 +93,5 @@
where a.patrol_point_id = #{patrolPointId}
-
+
\ No newline at end of file
diff --git a/src/main/resources/mapper/ResultAnalysisMapper.xml b/src/main/resources/mapper/ResultAnalysisMapper.xml
new file mode 100644
index 0000000..1409935
--- /dev/null
+++ b/src/main/resources/mapper/ResultAnalysisMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file