From 51faf3e9c3c613e7fb12db6c88356946f2429e0c Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 12 十二月 2025 17:35:30 +0800
Subject: [PATCH] 调整安防视频页面及逻辑

---
 fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java |  180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 179 insertions(+), 1 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
index 6b07a28..037aa65 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
@@ -1,8 +1,24 @@
 package com.fzzy.sys.controller.security;
 
+import com.fzzy.igds.constant.CameraPlayType;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.sys.manager.security.SecManager;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import lombok.extern.slf4j.Slf4j;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @Description 瀹夐槻controller灞�
@@ -11,15 +27,177 @@
  */
 @Slf4j
 @Controller
-@RequestMapping("/security")
+@RequestMapping("security")
 public class SecurityController {
 
     private static final String prefix = "security";
 
+    @Resource
+    private SecManager secManager;
+    @Resource
+    private CoreDeptService deptService;
+
+    /**
+     * 搴撳尯瀹夐槻椤甸潰
+     * @param type 1.琛ㄧず2.5D楦熺灠鍥鹃〉闈㈤瑙堬紱2.琛ㄧず鍒楄〃棰勮椤甸潰
+     * @param view
+     * @return
+     */
+    @RequestMapping("/video-dept")
+    public String videoDept(@RequestParam(value = "type", required = false) String type,
+                              ModelMap view) {
+
+        if (StringUtils.isBlank(type)) {
+            type = "2";
+        }
+
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
+
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("deptId", deptId);
+
+        List<Camera> listCamera = secManager.listCamera(deptId, user.getCompanyId());
+        view.put("listCamera", listCamera);
+
+        //榛樿鐩戞帶鍒楄〃椤甸潰
+        String viewUrl = prefix + "/video-list-dept";
+
+        if("1".equals(type)){
+            viewUrl = prefix + "/video-aerial-dept";
+
+            //楦熺灠鍥�
+            Dept dept = deptService.getDeptById(deptId);
+            if (dept != null && StringUtils.isNotEmpty(dept.getImgPath())) {
+                view.put("backgroundImg", dept.getImgPath());
+            }
+        }
+        if("2".equals(type)){
+            viewUrl = prefix + "/video-list-dept";
+        }
+
+        return viewUrl;
+    }
+
+    /**
+     * 鐩戠瀹夐槻椤甸潰
+     * @param type 1.琛ㄧず2.5D楦熺灠鍥鹃〉闈㈤瑙堬紱2.琛ㄧず鍒楄〃棰勮椤甸潰
+     * @param view
+     * @return
+     */
+    @RequestMapping("/video-super")
+    public String videoSuper(@RequestParam(value = "type", required = false) String type,
+                             ModelMap view) {
+
+        if (StringUtils.isBlank(type)) {
+            type = "2";
+        }
+
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
+
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("deptId", deptId);
+
+        List<Camera> listCamera = secManager.listCamera(deptId, user.getCompanyId());
+        view.put("listCamera", listCamera);
+
+        //榛樿鐩戞帶鍒楄〃椤甸潰
+        String viewUrl = prefix + "/video-list-dept";
+
+        if("1".equals(type)){
+            viewUrl = prefix + "/video-aerial-dept";
+
+            //楦熺灠鍥�
+            Dept dept = deptService.getDeptById(deptId);
+            if (dept != null && StringUtils.isNotEmpty(dept.getImgPath())) {
+                view.put("backgroundImg", dept.getImgPath());
+            }
+        }
+        if("2".equals(type)){
+            viewUrl = prefix + "/video-list-dept";
+        }
+
+        return viewUrl;
+    }
+
+    /**
+     * 楦熺灠鍥鹃〉闈� -- 瑙嗛鎾斁锛岄�氳繃鎾斁鍙傛暟涓嶅悓璺宠浆涓嶅悓椤甸潰鎾斁
+     *
+     * @param cameraId 鎽勫儚鏈虹郴缁烮D
+     * @param playType 閰嶇疆鐨勬挱鏀炬柟寮�
+     * @param time     鏃堕棿鍙傛暟锛屾棤鍏蜂綋鍚箟
+     * @return
+     */
+    @RequestMapping("/video-play")
+    public String play(@RequestParam(value = "cameraId", required = true) String cameraId,
+                       @RequestParam(value = "playType", required = false) String playType,
+                       @RequestParam(value = "time", required = false) String time,
+                       ModelMap view) {
+
+        SysUser user = ContextUtil.getLoginUser();
+
+        // 璁剧疆榛樿鎾斁鏂瑰紡
+        if (org.apache.commons.lang3.StringUtils.isEmpty(playType)) {
+            playType = CameraPlayType.PLAY_TYPE_VLC.getCode();
+        }
+
+        // 璁剧疆鎽勫儚澶翠俊鎭�
+        Camera camera = secManager.getCameraById(null, cameraId);
+        if (camera == null) {
+            view.put("errorMsg", "鑾峰彇瑙嗛璁惧鍑洪敊锛岃鍏堝埛鏂扮紦瀛橈紒");
+        }
+        view.put("cameraData", camera);
+
+        String viewUrl = prefix + "/video-webrtc";
+
+        //WEB-RTC鎾斁
+        if (CameraPlayType.PLAY_TYPE_WEB_RTC.getCode().equals(playType)) {
+            viewUrl = prefix + "/video-webrtc";
+        }
+
+        return viewUrl;
+    }
+
+    /***
+     * 瑙嗛楦熺灠鍥句腑鏇存敼鎽勫儚澶翠綅缃�
+     *
+     * @param params
+     * @return
+     */
+    @RequestMapping("/update-pos")
+    @ResponseBody
+    public PageResponse<String> updatePos(
+            @RequestBody List<Camera> params) {
+        return secManager.updatePos(params);
+    }
 
 
 
+    /**
+     * 棣栭〉鎬昏
+     *
+     * @return
+     */
+    @RequestMapping("/quantity")
+    public String infrared(
+            @RequestParam(value = "type", required = false) String type,
+            ModelMap view) {
 
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
 
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("deptId", deptId);
+//        List<InfraredCamera> listCamera = infraredManager.listCamera(deptId, user.getCompanyId());
+//
+//        if(null == listCamera){
+//            listCamera = new ArrayList<>();
+//            listCamera.add(new InfraredCamera());
+//        }
+//        view.put("listCamera", listCamera);
+
+        return prefix + "/quantity";
+    }
 
 }

--
Gitblit v1.9.3