From 49bedcce2ac42fa34da012ee3fc8e9230886064a Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期五, 12 七月 2024 15:28:24 +0800
Subject: [PATCH] 优化:流媒体

---
 ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java |   72 +++++++++++++++++++++++++++++------
 1 files changed, 59 insertions(+), 13 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
index 8ff1f37..ba8493e 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -2,19 +2,25 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.common.constant.CameraConstants;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.domain.CameraCmd;
+import com.ruoyi.device.camera.domain.DeptAndCamerasDto;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.device.camera.service.ICameraSdkService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
+import com.ruoyi.utils.tools.ArdTool;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -61,6 +67,7 @@
         List<ArdCameras> list = ardCamerasService.selectArdCamerasList(ardCamera);
         return getDataTable(list);
     }
+
     /**
      * 鏌ヨ鐩告満璁惧鍒楄〃锛堜笉鏍¢獙鏉冮檺锛�
      */
@@ -71,6 +78,7 @@
         List<ArdCameras> list = ardCamerasService.selectArdCamerasList(ardCamera);
         return getDataTable(list);
     }
+
     /**
      * 瀵煎嚭鐩告満璁惧鍒楄〃
      */
@@ -102,16 +110,18 @@
     @Log(title = "鐩告満璁惧", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdCameras camera) {
-        if (CameraConstants.NOT_UNIQUE.equals(ardCamerasService.checkCameraIpAndPortUnique(camera)))
-        {
-            return error("鏂板鐩告満'" + camera.getIp()+":"+camera.getPort() + "'澶辫触锛岀浉鏈哄凡瀛樺湪");
+        if (CameraConstants.NOT_UNIQUE.equals(ardCamerasService.checkCameraIpAndPortUnique(camera))) {
+            return error("鏂板鐩告満'" + camera.getIp() + ":" + camera.getPort() + "'澶辫触锛岀浉鏈哄凡瀛樺湪");
         }
+        camera.setState("0");
         int i = ardCamerasService.insertArdCameras(camera);
         if (i > 0) {
             cameraSdkService.logout(camera.getId());
-            cameraSdkService.login(camera);
+            AjaxResult result = cameraSdkService.login(camera);
+            return success(result.get("msg"));
+        } else {
+            return error("鏂板鐩告満璁惧澶辫触");
         }
-        return toAjax(i);
     }
 
     /**
@@ -122,16 +132,21 @@
     @Log(title = "鐩告満璁惧", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdCameras camera) {
-        if (CameraConstants.NOT_UNIQUE.equals(ardCamerasService.checkCameraIpAndPortUnique(camera)))
-        {
-            return error("淇敼鐩告満'" + camera.getIp()+":"+camera.getPort() + "'澶辫触锛岀浉鏈哄凡瀛樺湪");
+        if (CameraConstants.NOT_UNIQUE.equals(ardCamerasService.checkCameraIpAndPortUnique(camera))) {
+            return error("淇敼鐩告満'" + camera.getIp() + ":" + camera.getPort() + "'澶辫触锛岀浉鏈哄凡瀛樺湪");
         }
+        ArdCameras cameraOld = ardCamerasService.selectArdCamerasById(camera.getId());
+        ArdTool.fillNullFields(cameraOld, camera);
+
+        camera.setState("0");
         int i = ardCamerasService.updateArdCameras(camera);
         if (i > 0) {
             cameraSdkService.logout(camera.getId());
-            cameraSdkService.login(camera);
+            AjaxResult result = cameraSdkService.login(camera);
+            return success(result.get("msg"));
+        } else {
+            return error("淇敼鐩告満璁惧澶辫触");
         }
-        return toAjax(i);
     }
 
     /**
@@ -168,12 +183,11 @@
     }
 
 
-
     @GetMapping("/options")
     @ApiOperation("閫夋嫨鐩告満鏁版嵁")
     public List options(ArdCameras ardCameras) {
         List<ArdCameras> list = ardCamerasService.findOptions(ardCameras);
-        System.out.println("list:"+list.size());
+        //System.out.println("list:"+list.size());
         List options = new ArrayList();
         for (ArdCameras item : list) {
             Map option = new HashMap();
@@ -194,10 +208,18 @@
         return AjaxResult.success(deptAndCamera);
     }
 
+    @GetMapping("/getDeptAndCameraByRole")
+    @ApiOperation("鑾峰彇閮ㄩ棬鍜岀浉鏈烘寜瑙掕壊")
+    public AjaxResult getDeptAndCameraByRole() {
+        List<DeptAndCamerasDto> deptAndCamera = ardCamerasService.getChildDeptAndCamera();
+        return AjaxResult.success(deptAndCamera);
+    }
+
     @GetMapping("/getDeptAndCameraWithCheckBox")
     @ApiOperation("鑾峰彇閮ㄩ棬鍜岀浉鏈�(寮�鍚閫夋)")
     public AjaxResult getDeptAndCameraWithCheckBox() {
-        Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(false);
+        //Map deptAndCamera = ardCamerasService.getChildDeptAndCamera(false);
+        List<Map<String, Object>> deptAndCamera = ardCamerasService.getChildDeptAndCameraOwn(false);
         return AjaxResult.success(deptAndCamera);
     }
 
@@ -208,4 +230,28 @@
         TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd);
         return AjaxResult.success(nearCamerasBycoordinate);
     }
+
+    @GetMapping("/getCamerasByDeptId")
+    @ApiOperation("鑾峰彇鏉冮檺鍙婁笅灞炴潈闄愪笅鐨勭浉鏈�")
+    public AjaxResult getCamerasByDeptId() {
+        Long deptId = SecurityUtils.getDeptId();
+        String userId = SecurityUtils.getUserId();
+        List<Map<String, Object>> camerasList = ardCamerasService.getCamerasByDeptId(deptId, userId);
+        return AjaxResult.success(camerasList);
+    }
+
+    @PostMapping("/getCameraOperationByCameraId")
+    @ApiOperation("鏌ョ湅鐩告満鍙惁鎿嶆帶")
+    public AjaxResult getCameraOperationByCameraId(@RequestBody Map<String, String> map) {
+        String userId = SecurityUtils.getUserId();
+        Boolean flag = ardCamerasService.getCameraOperationByCameraId(map.get("id"), userId);
+        return AjaxResult.success(flag);
+    }
+
+    @PostMapping("/getChannelByCameraId")
+    @ApiOperation("鑾峰彇鐩告満閫氶亾")
+    public AjaxResult getChannelByCameraId(@RequestBody Map<String, String> map) {
+        Map<String, Object> result = ardCamerasService.getChannelByCameraId(map.get("id"));
+        return AjaxResult.success(result);
+    }
 }

--
Gitblit v1.9.3