فهرست منبع

生物防控人员

523096025 1 سال پیش
والد
کامیت
e2c6a7d09d

+ 2 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/BaseSpecificVideoController.java

@@ -36,6 +36,7 @@ public class BaseSpecificVideoController {
         CameraBase byId = cameraService.getOne(new QueryWrapper<CameraBase>().eq("camera_uuid",baseFarmX.getVideoId()));
         baseFarmX.setVideoName(byId.getCameraName());
         baseFarmX.setVideoIds(byId.getId());
+        baseFarmX.setUrl(byId.getUrl());
         baseSpecificVideoService.save(baseFarmX);
         return new Result(ResultCode.SUCCESS);
     }
@@ -67,7 +68,7 @@ public class BaseSpecificVideoController {
 
     @GetMapping("/listSpecif")
     public Result listSpecif(@RequestParam(name = "farmId") Integer farmId,
-                             @RequestParam(name = "type") Integer type) {
+                             @RequestParam(name = "type") Integer type) throws Exception {
 
         return new Result(ResultCode.SUCCESS, baseSpecificVideoService.listSpecif(farmId, type));
     }

+ 1 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/BaseSpecificVideo.java

@@ -35,5 +35,6 @@ public class BaseSpecificVideo extends Model {
     private String videoName;
 
     private String selectVideo;
+    private String url;
 
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/service/IBaseSpecificVideoService.java

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface IBaseSpecificVideoService extends IService<BaseSpecificVideo> {
 
-    List listSpecif(Integer farmId, Integer type);
+    List listSpecif(Integer farmId, Integer type) throws Exception;
 }

+ 88 - 21
huimv-admin/src/main/java/com/huimv/admin/service/impl/BaseSpecificVideoServiceImpl.java

@@ -1,22 +1,28 @@
 package com.huimv.admin.service.impl;
 
+import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hikvision.artemis.sdk.ArtemisHttpUtil;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
 import com.huimv.admin.entity.BaseSpecificVideo;
 import com.huimv.admin.entity.CameraBase;
 import com.huimv.admin.entity.CameraBrand;
+import com.huimv.admin.entity.hkwsdto.HkvsPreviewDto;
 import com.huimv.admin.entity.vo.CameraVo;
 import com.huimv.admin.mapper.BaseSpecificVideoMapper;
 import com.huimv.admin.mapper.CameraAreaMapper;
 import com.huimv.admin.mapper.CameraBaseMapper;
 import com.huimv.admin.mapper.CameraBrandMapper;
 import com.huimv.admin.service.IBaseSpecificVideoService;
-import javafx.scene.Camera;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -34,11 +40,12 @@ public class BaseSpecificVideoServiceImpl extends ServiceImpl<BaseSpecificVideoM
     @Autowired
     private CameraAreaMapper cameraAreaMapper;
 
+
     @Autowired
     private CameraBrandMapper cameraBrandMapper;
 
     @Override
-    public List listSpecif(Integer farmId, Integer type) {
+    public List listSpecif(Integer farmId, Integer type) throws Exception {
         List<BaseSpecificVideo> list = this.list(new QueryWrapper<BaseSpecificVideo>().eq("farm_id", farmId).eq("type", type));
 
         List list1 = new ArrayList();
@@ -52,38 +59,98 @@ public class BaseSpecificVideoServiceImpl extends ServiceImpl<BaseSpecificVideoM
         return list1;
     }
 
-
-    public CameraVo getCameraVo(CameraBase camera) {
+    public CameraVo getCameraVo(CameraBase camera) throws Exception {
 
 
-        String cameraAccount = camera.getAccount();
-        String cameraPassword = camera.getPassword();
-        String camerIp = camera.getCameraIp();
         String cameraName = camera.getCameraName();
         String areaId = camera.getRegionUuid();
-        String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
 
-        String rtsp;
         CameraBrand cameraBrand = cameraBrandMapper.selectById(camera.getBrandId());
         Integer type = cameraBrand.getStreamType();
-        if (type == 0) {
-            rtsp = cameraBrand.getMainStream();
-        } else {
-            rtsp = cameraBrand.getAssistStream();
-        }
+
 
 
         CameraVo cameraVo = new CameraVo();
         cameraVo.setAreaId(areaId);
-        if (camera.getId() == 767){
-            cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
-            cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + "/cam/realmonitor?channel=2&subtype=0");
-        }else {
-            cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
-            cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
-        }
+
+        Integer id = camera.getId();
+        String cameraUuid = camera.getCameraUuid();
+        CameraBase cameraBase = cameraMapper.selectById(id);
+        String callPostApiGetPreviewURLs = callPostApiGetPreviewURLs(cameraUuid);
+        HkvsPreviewDto hkvsPreviewDto = JSONUtil.toBean(callPostApiGetPreviewURLs, HkvsPreviewDto.class);
+
+        String url = hkvsPreviewDto.getData().getUrl();
+        cameraBase.setUrl(url);
+        cameraMapper.updateById(cameraBase);
+
+
+        cameraVo.setWsUrl(url);
+//        if (camera.getId() == 767){
+//            cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
+//            cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + "/cam/realmonitor?channel=2&subtype=0");
+//        }else {
+//            cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
+//            cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
+//        }
 
         cameraVo.setCameraName(cameraName);
         return cameraVo;
     }
+
+    private static final String PREVIEW_PATH = "/api/video/v2/cameras/previewURLs";
+    /**
+     * API网关的后端服务上下文为:/artemis
+     */
+    private static final String ARTEMIS_PATH = "/artemis";
+
+    private static final String SUBREGIONS_PATH = "/api/resource/v2/regions/subRegions";
+
+    private static final String CAMERAS_PATH = "/api/resource/v2/camera/search";
+
+    private static final String NEW_APPKEY = "27546900";
+
+    private static final String NEW_SECRET = "S5qgrKdBd75M0NZRzGAh";
+
+    private static final String OPENAPI_IP = "61.153.248.109";
+
+    private static final String ZK_REGION = "500d8b6a-2554-43f3-bda7-e686577eb741";
+
+    private static final String PJ_REGION = "70405f14-1cb5-4413-8bef-38e4a365cbee";
+
+    private static final String XSD_REGION= "5c23fa9b-ee7e-4201-851d-340b0f6f320e";
+
+    private static final String PW_REGION = "66096289-bd19-4390-a5d5-71a31e970b0b";
+
+    private static final String DY_REGION = "a09ba2d8-8236-4de6-8e53-9008912d7b72";
+
+    private static final String TT_REGION = "d64e2029-75bb-4214-8cc4-e93deace9ea4";
+    public static String callPostApiGetPreviewURLs(String cameraIndexCode) throws Exception {
+        /**
+         * https://ip:port/artemis/api/video/v2/cameras/previewURLs
+         * 根据指定的区域编号获取该区域下的监控点列表信息,返回结果分页展示。
+         * 注:返回的监控点不包括下级区域的。
+         */
+        ArtemisConfig config = new ArtemisConfig();
+        config.setHost(OPENAPI_IP); // 代理API网关nginx服务器ip端口
+        config.setAppKey(NEW_APPKEY);  // 秘钥appkey
+        config.setAppSecret(NEW_SECRET);// 秘钥appSecret
+        final String getCamsApi = ARTEMIS_PATH + PREVIEW_PATH;
+        Map<String, Object> paramMap = new HashMap<String, Object>();// post请求Form表单参数
+        paramMap.put("cameraIndexCode",cameraIndexCode);
+        paramMap.put("streamType",0);
+        paramMap.put("protocol","ws");
+        paramMap.put("transmode",1);
+        paramMap.put("expand","streamform=rtp");
+        String body = JSON.toJSON(paramMap).toString();
+        Map<String, String> path = new HashMap<String, String>(2) {
+            {
+                put("https://", getCamsApi);
+            }
+        };
+        String s = ArtemisHttpUtil.doPostStringArtemis(config, path, body, null, null, "application/json");
+        System.out.println(s);
+
+        return s;
+    }
+
 }

+ 16 - 4
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyWarningThresholdServiceImpl.java

@@ -54,10 +54,13 @@ public class EnergyWarningThresholdServiceImpl extends ServiceImpl<EnergyWarning
 
         if (energyWarningThresholds.size() == 0) {
             JSONObject jsonObject = new JSONObject();
-            jsonObject.put("maxWater", 0);
-            jsonObject.put("maxElectricity", 0);
-            jsonObject.put("maxFeed", 0);
-            jsonObject.put("maxGas", 0);
+
+                jsonObject.put("renChen",    getData());
+                jsonObject.put("chanFang",    getData());
+                jsonObject.put("baoYu",    getData());
+                jsonObject.put("yuFei",    getData());
+                jsonObject.put("houBei",    getData());
+                jsonObject.put("geLi",    getData());
             return new Result(ResultCode.SUCCESS, jsonObject);
         } else {
             JSONObject jsonObject = new JSONObject();
@@ -82,6 +85,15 @@ public class EnergyWarningThresholdServiceImpl extends ServiceImpl<EnergyWarning
 
     }
 
+    private JSONObject getData() {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("maxWater", 0);
+        jsonObject.put("maxElectricity", 0);
+        jsonObject.put("maxFeed", 0);
+        jsonObject.put("maxGas", 0);
+        return jsonObject;
+    }
+
     @Override
     public Result add(HttpServletRequest httpServletRequest, List<EnergyWarningThreshold> energyWarningThresholds) {
         for (EnergyWarningThreshold energyWarningThreshold : energyWarningThresholds) {

+ 27 - 16
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProtThresholdServiceImpl.java

@@ -57,22 +57,12 @@ public class ProtThresholdServiceImpl extends ServiceImpl<ProtThresholdMapper, P
 
         if (protThresholdList.size() == 0) {
             JSONObject jsonObject = new JSONObject();
-            jsonObject.put("COD1", 0);
-            jsonObject.put("COD2", 0);
-            jsonObject.put("PH1", 0);
-            jsonObject.put("PH2", 0);
-            jsonObject.put("NH3N1", 0);
-            jsonObject.put("NH3N2", 0);
-            jsonObject.put("TP1", 0);
-            jsonObject.put("TP2", 0);
-            jsonObject.put("TN1", 0);
-            jsonObject.put("TN2", 0);
-            jsonObject.put("FLOW1", 0);
-            jsonObject.put("FLOW2", 0);
-            jsonObject.put("userIds", 0);
-            jsonObject.put("dataType", 0);
-            jsonObject.put("other2", 0);
-            jsonObject.put("other3", 0);
+
+                jsonObject.put("in", getProtThreshold());
+                jsonObject.put("deal", getProtThreshold());
+                jsonObject.put("out", getProtThreshold());
+                jsonObject.put("userIds", new ArrayList<>());
+
             return new Result(ResultCode.SUCCESS, jsonObject);
         } else {
             JSONObject jsonObject = new JSONObject();
@@ -91,6 +81,27 @@ public class ProtThresholdServiceImpl extends ServiceImpl<ProtThresholdMapper, P
 
     }
 
+    private JSONObject getProtThreshold() {
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("cod1", 0);
+        jsonObject.put("cod2", 0);
+        jsonObject.put("ph1", 0);
+        jsonObject.put("ph2", 0);
+        jsonObject.put("nh3n11", 0);
+        jsonObject.put("nh3n2", 0);
+        jsonObject.put("tp1", 0);
+        jsonObject.put("tp2", 0);
+        jsonObject.put("tn1", 0);
+        jsonObject.put("tn2", 0);
+        jsonObject.put("flow1", 0);
+        jsonObject.put("flow2", 0);
+        jsonObject.put("userIds", 0);
+        jsonObject.put("dataType", 0);
+        jsonObject.put("other2", 0);
+        jsonObject.put("other3", 0);
+        return jsonObject;
+    }
+
     @Override
     public Result add(HttpServletRequest httpServletRequest, List<ProtThreshold> protThresholds) {
         for (ProtThreshold protThreshold : protThresholds) {