浏览代码

关闭点播接口开发

gao.qiang 1 年之前
父节点
当前提交
15cd6fc403

+ 13 - 1
business-service/src/main/java/com/ozs/utils/CameraUtil.java

@@ -1037,6 +1037,18 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
         }
     }
 
+    public  String stopStream(String cameraIndexCode, String channel) {
+        try {
+            log.info("code---------->" + httpUrls + "/api/gateway/stop?streamPath=" + cameraIndexCode + "/" + channel);
+            String code = HttpUtils.sendGet(httpUrls + "/api/gateway/stop?stream=" + cameraIndexCode + "/" + channel);
+            log.info("code---------->" + code);
+            return code;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     /**
      * web页面实时流调用的远程天网接口
      *
@@ -1065,7 +1077,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
             String urls = data.getString("url");
             log.info("urls----->" + urls);
             try {
-                TimeUnit.SECONDS.sleep(3);
+                TimeUnit.SECONDS.sleep(2);
                 log.info("msg---------->" + httpUrl + "/rtsp/api/pull?target=" + urls + "&streamPath=" + camerasVo.getCameraIndexCode() + "/" + channel + "&save=0");
                 String msg = HttpUtils.sendGet(httpUrl + "/rtsp/api/pull?target=" + urls + "&streamPath=" + camerasVo.getCameraIndexCode() + "/" + channel + "&save=0");
                 log.info("msg---------->" + msg);

+ 47 - 0
vehicle-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -1076,6 +1076,53 @@ public class GeoHazardMonitorTokenController {
         }
     }
 
+    /**
+     * 关闭点播功能接口
+     * @param parameterVo
+     * @param request
+     * @return
+     */
+    @PostMapping("/api/close/camera/play")
+    public String closeCameraPlay(@RequestBody ParameterVo parameterVo, HttpServletRequest request) {
+        String token = apiTokenUtils.getGeoHazardMonitorToken(request);
+        log.info("token:{}", token);
+        log.info("parameter:{}", parameterVo);
+        JSONObject jsonObject = new JSONObject();
+        if (StringUtils.isNotEmpty(token)) {
+            String[] split = token.split("-");
+            String key = split[split.length - 1];
+            String s = SM4Utils.decryptData_ECB(parameterVo.getParameter(), key);
+            CameraPlayVo cameraPlayVo = JSON.parseObject(s, CameraPlayVo.class);
+            if (ObjectUtils.isEmpty(cameraPlayVo.getCameraCode())) {
+                jsonObject.put("resultCode", 0);
+                jsonObject.put("message", "失败");
+                jsonObject.put("data", "相机编码不能为空");
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
+            }
+            LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+            lw.eq(BaseCameraManagement::getCameraCode, cameraPlayVo.getCameraCode());
+            lw.eq(BaseCameraManagement::getEnableOrNot, 1);
+            lw.eq(BaseCameraManagement::getOnline,2);
+            BaseCameraManagement one = baseCameraManagementService.getOne(lw);
+            if (ObjectUtils.isEmpty(one)) {
+                jsonObject.put("resultCode", 0);
+                jsonObject.put("message", "失败");
+                jsonObject.put("data", "没有该相机编码的相机或已离线");
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
+            }
+            String code = cameraUtil.stopStream(one.getCameraCode(), one.getChannel());
+            log.info("---------------code------------->"+code);
+            jsonObject.put("resultCode", 1);
+            jsonObject.put("message", "ok");
+            return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), key);
+        } else {
+            jsonObject.put("resultCode", 2);
+            jsonObject.put("message", "失败");
+            jsonObject.put("data", "token验证失败");
+            return JSONObject.toJSONString(jsonObject);
+        }
+    }
+
 
     /**
      * 获取报警列表(已解除和未解除)