浏览代码

增加相机录制控制

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

+ 64 - 47
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -8,6 +8,7 @@ import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.redis.RedisCache;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.exception.base.BaseException;
@@ -34,6 +35,7 @@ import com.ozs.service.service.BaseUserService;
 import com.ozs.service.service.MsgAlarmService;
 import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
+import com.ozs.system.service.ISysDictTypeService;
 import com.ozs.web.core.config.CaneraConfig;
 import com.ozs.web.core.util.CameraUtil;
 import io.swagger.annotations.ApiOperation;
@@ -97,6 +99,8 @@ public class BaseCameraManagementController extends BaseController {
     private BaseUserService baseUserService;
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private ISysDictTypeService dictTypeService;
 
 
     /**
@@ -328,12 +332,15 @@ public class BaseCameraManagementController extends BaseController {
             baseDynamicManagement.setCameraCode(baseCameraManagement.getCameraCode());
             baseDynamicManagement.setUpdateBy(getUserId());
             baseDynamicManagement.setCreateBy(getUserId());
-            String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
-            if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
-                baseCameraManagement.setStartRecording(1);
-                baseCameraManagement.setTaskId(start);
-            } else {
-                baseCameraManagement.setStartRecording(2);
+            List<SysDictData> data = dictTypeService.selectDictDataByType("management_transcribe_switch");
+            if (data.get(0).getDictValue().equals("true")) {
+                String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+                if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
+                    baseCameraManagement.setStartRecording(1);
+                    baseCameraManagement.setTaskId(start);
+                } else {
+                    baseCameraManagement.setStartRecording(2);
+                }
             }
             if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
                 return AjaxResult.success();
@@ -785,27 +792,32 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/endRecording/{id}")
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
     public AjaxResult endRecording(@PathVariable Long id) {
-        BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
-        if (ObjectUtils.isEmpty(baseCameraManagement)) {
-            return error("查不到该ID的相机台账数据!!!");
-        }
-        log.info("endRecording------------" + baseCameraManagement.getTaskId());
-        String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
-        log.info("endRecording------------" + start);
-        if ("success".equals(start)) {
-            baseCameraManagement.setStartRecording(2);
-            baseCameraManagement.setTaskId("");
-            baseCameraManagement.setUpdateBy(getUserId());
-        } else {
-            baseCameraManagement.setStartRecording(2);
-            baseCameraManagement.setTaskId("");
-            baseCameraManagement.setUpdateBy(getUserId());
-            log.error("关闭视频录制异常日志如下:" + start);
-        }
-        if (baseCameraManagementService.updateById(baseCameraManagement)) {
-            return success();
+        List<SysDictData> data = dictTypeService.selectDictDataByType("management_transcribe_switch");
+        if (data.get(0).getDictValue().equals("true")) {
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+            if (ObjectUtils.isEmpty(baseCameraManagement)) {
+                return error("查不到该ID的相机台账数据!!!");
+            }
+            log.info("endRecording------------" + baseCameraManagement.getTaskId());
+            String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+            log.info("endRecording------------" + start);
+            if ("success".equals(start)) {
+                baseCameraManagement.setStartRecording(2);
+                baseCameraManagement.setTaskId("");
+                baseCameraManagement.setUpdateBy(getUserId());
+            } else {
+                baseCameraManagement.setStartRecording(2);
+                baseCameraManagement.setTaskId("");
+                baseCameraManagement.setUpdateBy(getUserId());
+                log.error("关闭视频录制异常日志如下:" + start);
+            }
+            if (baseCameraManagementService.updateById(baseCameraManagement)) {
+                return success();
+            }
+            return error();
+        }else {
+            return error("已自动开启录制,关闭按钮已失效");
         }
-        return error();
     }
 
 
@@ -813,27 +825,32 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/startRecording/{id}")
     @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
     public AjaxResult startRecording(@PathVariable Long id) throws Exception {
-        BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
-        log.info("startRecording------CameraCode------" + baseCameraManagement.getCameraCode());
-        log.info("startRecording------Channel------" + baseCameraManagement.getChannel());
-        String start = HttpClientUtil.gets(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
-        log.info("startRecording------------" + start);
-        if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
-            log.info("startRecording 返回成功!!1");
-            baseCameraManagement.setStartRecording(1);
-            baseCameraManagement.setTaskId(start);
-            baseCameraManagement.setUpdateBy(getUserId());
-        } else if (start.startsWith("recorder")) {
-            baseCameraManagement.setStartRecording(1);
-            baseCameraManagement.setTaskId(baseCameraManagement.getCameraCode()+"/"+baseCameraManagement.getChannel()+"/flv");
-            baseCameraManagementService.updateById(baseCameraManagement);
-        } else if (start.startsWith("Stream")) {
-            return error("开启视频录制失败:流不存在");
-        }
-        if (baseCameraManagementService.updateById(baseCameraManagement)) {
-            return success();
-        } else {
-            return error("开启视频录制失败");
+        List<SysDictData> data = dictTypeService.selectDictDataByType("management_transcribe_switch");
+        if (data.get(0).getDictValue().equals("true")) {
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+            log.info("startRecording------CameraCode------" + baseCameraManagement.getCameraCode());
+            log.info("startRecording------Channel------" + baseCameraManagement.getChannel());
+            String start = HttpClientUtil.gets(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+            log.info("startRecording------------" + start);
+            if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
+                log.info("startRecording 返回成功!!1");
+                baseCameraManagement.setStartRecording(1);
+                baseCameraManagement.setTaskId(start);
+                baseCameraManagement.setUpdateBy(getUserId());
+            } else if (start.startsWith("recorder")) {
+                baseCameraManagement.setStartRecording(1);
+                baseCameraManagement.setTaskId(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel() + "/flv");
+                baseCameraManagementService.updateById(baseCameraManagement);
+            } else if (start.startsWith("Stream")) {
+                return error("开启视频录制失败:流不存在");
+            }
+            if (baseCameraManagementService.updateById(baseCameraManagement)) {
+                return success();
+            } else {
+                return error("开启视频录制失败");
+            }
+        }else {
+            return error("已自动开启录制,无需按钮再次开启录制");
         }
     }