From d046fe01d52bc9ab423647db7af0591fd3a36259 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 17 六月 2023 14:08:51 +0800
Subject: [PATCH] 增加获取附近相机接口 增加相机报警引导开关 增加日夜切换变换通道

---
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java   |   13 +++
 ard-work/src/main/java/com/ruoyi/management3d/tiles3d/service/impl/ArdTiles3dServiceImpl.java |   14 ++
 ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java           |   15 ++-
 ard-work/src/main/java/com/ruoyi/management3d/tiles3d/controller/ArdTiles3dController.java    |   33 +++-----
 ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java                                     |   39 +++++++++
 ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java                |    5 +
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java                       |    2 
 ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java                         |    4 
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java      |    7 +
 ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java        |   49 +++++++++++-
 ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml                                |   11 ++
 11 files changed, 154 insertions(+), 38 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
index de2a82f..11af8c0 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.alarm.globalAlarm.controller;
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
 import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
 import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService;
@@ -23,6 +24,7 @@
 @RestController
 @RequestMapping("/ardAlarm")
 @Api(tags = "鎶ヨ鏁版嵁姹囨�绘帴鍙�")
+@ApiSupport(author = "鍒樿嫃涔�")
 @Anonymous
 public class GlobalAlarmController {
 
@@ -31,20 +33,21 @@
 
     @PostMapping("/List")
     @ApiOperation(value = "鎶ヨ鏌ヨ鎺ュ彛",notes = "杩欓噷鍖呭惈浜嗘墍鏈夋姤璀︾被鍨嬬殑鏁版嵁")
-    @ApiOperationSupport(includeParameters = {"condition.command"})
+    @ApiOperationSupport(includeParameters = {"command"},order = 1)
     public AjaxResult selectAlarmLog(@RequestBody GlobalAlarmCondition condition) {
         List<GlobalAlarmData> result = globalAlarmService.selectAlarmLogs(condition);
         return AjaxResult.success(result);
     }
     @PostMapping("/view")
     @ApiOperation(value = "鏌ョ湅鎶ヨ鎺ュ彛",notes = "鎸囧畾鏌ョ湅鏌愪釜鎶ヨ鏁版嵁")
-    @ApiOperationSupport(includeParameters = {"condition.command","condition.id"})
+    @ApiOperationSupport(includeParameters = {"command","id"},order = 3)
     public AjaxResult  viewAlarmLog(@RequestBody GlobalAlarmCondition condition) {
         Object result = globalAlarmService.updateAlarmViewTime(condition);
         return AjaxResult.success(result);
     }
     @GetMapping("/count")
     @ApiOperation(value = "鏌ョ湅鎶ヨ鐐规暟閲�",notes = "鏌ヨ鍒锋柊鏃堕棿鍐呮姤璀︾殑鐐逛綅鏁伴噺")
+    @ApiOperationSupport(order = 2)
     public AjaxResult  countAlarmLog() {
         Map<String, Integer> stringIntegerMap = globalAlarmService.selectAlarmLogsCount();
         return AjaxResult.success(stringIntegerMap);
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
index 26b741a..ad84498 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -14,6 +14,7 @@
 import com.ruoyi.alarmpoints.tube.mapper.ArdTubesMapper;
 import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
 import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.utils.tools.ArdTool;
@@ -63,6 +64,8 @@
     private ArdCamerasMapper ardCamerasMapper;
     @Resource
     private IHikClientService hikClientService;
+    @Resource
+    private RedisCache redisCache;
     /**
      * @鎻忚堪 鎸夋潯浠舵煡璇㈡姤璀�
      * @鍙傛暟 [condition]
@@ -246,15 +249,18 @@
     private String guideCamera(CameraCmd cmd) {
         String url = "";
         try {
+            String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime");
             //鑾峰彇鎵�鏈夊ぇ鍏夌數
             List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1"));
             //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈
             Map<String, Double> distanceMap = new HashMap<>();
+            Map<String, Integer> guideMap = new HashMap<>();
             for (ArdCameras camera : ardCamerasList) {
                 double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()};
                 double distance = GisTool.getDistance(cmd.getTargetPosition(), camPosition);
                 if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) {
                     distanceMap.put(camera.getId(), distance);
+                    guideMap.put(camera.getId(),camera.getCamAlarmGuideEnable());
                 }
             }
             if (distanceMap.size() > 0) {
@@ -262,9 +268,14 @@
                 //鑾峰彇璺濈瀛楀吀涓渶杩戠殑涓�涓浉鏈篒D
                 String minDistanceCameraId = ArdTool.getKeyByMinValue(distanceMap);
                 log.debug("鏌ユ壘鍒版渶杩戝厜鐢�:"+minDistanceCameraId+"锛屽皾璇曞紩瀵�");
+                if(guideMap.get(minDistanceCameraId).equals(0))
+                {
+                    log.debug("璇ュ厜鐢垫湭寮�鍚姤璀﹀紩瀵�");
+                    return "";
+                }
                 //寮曞鍏夌數
                 cmd.setCameraId(minDistanceCameraId);
-                cmd.setChannelNum(1);
+                cmd.setChannelNum(ArdTool.getChannelBydayNightTime(dayNightTime));
                 boolean guideRes = hikClientService.guideTargetPosition(cmd);
                 if (guideRes) {
                     log.debug("寮曞鎴愬姛锛屽皾璇曞綍鍍�");
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 1e98e6f..1d423f6 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
@@ -3,7 +3,9 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.ruoyi.device.camera.domain.ArdCameras;
+import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.device.hiksdk.service.impl.HikClientServiceImpl;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -28,10 +30,7 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.core.page.TableDataInfo;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 鐩告満璁惧Controller
@@ -155,4 +154,12 @@
         Map deptAndCamera = ardCamerasService.getChildDeptAndCamera();
         return AjaxResult.success(deptAndCamera);
     }
+    @PostMapping("/getNearCamerasBycoordinate")
+    @ApiOperation("鑾峰彇闄勮繎鐨勭浉鏈�")
+    @ApiOperationSupport(includeParameters = {"targetPosition"})
+    public AjaxResult getNearCamerasBycoordinate(@RequestBody CameraCmd cmd)
+    {
+        TreeMap nearCamerasBycoordinate = ardCamerasService.getNearCamerasBycoordinate(cmd);
+        return AjaxResult.success(nearCamerasBycoordinate);
+    }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java b/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
index 9177d82..472f2b5 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/domain/ArdCameras.java
@@ -161,7 +161,9 @@
      */
     @Excel(name = "鏈�澶у彲瑙嗚窛绂�")
     private Double camMaxVisibleDistance;
-
+    /** 鐩告満鎶ヨ寮曞寮�鍏� */
+    @Excel(name = "鐩告満鎶ヨ寮曞寮�鍏�")
+    private Integer camAlarmGuideEnable;
     /**
      * 鎵�灞炲ID
      */
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
index 0d2dcb5..56b6c6a 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
@@ -3,8 +3,10 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeMap;
 
 import com.ruoyi.device.camera.domain.ArdCameras;
+import com.ruoyi.device.camera.domain.CameraCmd;
 
 /**
  * 鐩告満璁惧Service鎺ュ彛
@@ -78,4 +80,7 @@
      * @淇敼浜哄拰鍏跺畠淇℃伅
      */
     public Map getChildDeptAndCamera();
+
+
+    public TreeMap getNearCamerasBycoordinate(CameraCmd cmd);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
index 4335379..9a12c39 100644
--- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -1,21 +1,26 @@
 package com.ruoyi.device.camera.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalTime;
+import java.util.*;
 
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.device.camera.domain.CameraCmd;
+import com.ruoyi.device.hiksdk.common.GlobalVariable;
+import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.utils.tools.ArdTool;
 import com.ruoyi.device.camera.domain.ArdCameras;
 import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.system.mapper.SysDeptMapper;
+import com.ruoyi.utils.tools.GisTool;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 
 /**
@@ -25,11 +30,15 @@
  * @date 2023-02-11
  */
 @Service
+@Slf4j
 public class ArdCamerasServiceImpl implements IArdCamerasService {
     @Resource
     private ArdCamerasMapper ardCamerasMapper;
     @Resource
     private SysDeptMapper sysDeptMapper;
+    @Resource
+    private RedisCache redisCache;
+
 
     /**
      * 鏌ヨ鐩告満璁惧
@@ -168,6 +177,38 @@
         return map;
 
     }
+    /**
+     * @鎻忚堪 閫氳繃鍧愭爣鑾峰彇闄勮繎鐨勭浉鏈�
+     * @鍙傛暟 [cmd]
+     * @杩斿洖鍊� java.util.Map
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/6/17 11:55
+     * @淇敼浜哄拰鍏跺畠淇℃伅
+     */
+    @Override
+    public TreeMap getNearCamerasBycoordinate(CameraCmd cmd) {
+        try {
+            String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime");
+            //鑾峰彇鎵�鏈夊ぇ鍏夌數
+            List<ArdCameras> ardCamerasList = ardCamerasMapper.selectArdCamerasList(new ArdCameras("1"));
+            //缁熻鎵�鏈夊ぇ鍏夌數鍙鑼冨洿鍐呬笌鎶ヨ鐐圭殑璺濈
+            Map<String, Double> distanceMap = new HashMap<>();
+            TreeMap<Double,ArdCameras> ardCameras = new TreeMap<>();
+            for (ArdCameras camera : ardCamerasList) {
+                double[] camPosition = new double[]{camera.getLongitude(), camera.getLatitude()};
+                double distance = GisTool.getDistance(cmd.getTargetPosition(), camPosition);
+                if (distance != 0.0 && distance <= camera.getCamMaxVisibleDistance()) {
+                    distanceMap.put(camera.getId(), distance);
+                    camera.setChannel(ArdTool.getChannelBydayNightTime(dayNightTime));
+                    ardCameras.put(distance,camera);
+                }
+            }
+            return ardCameras;
+        } catch (Exception ex) {
+            log.error("寮曞寮傚父:" + ex.getMessage());
+        }
+        return null;
+    }
 
 
 }
diff --git a/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/controller/ArdTiles3dController.java b/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/controller/ArdTiles3dController.java
index 7a82f00..4201123 100644
--- a/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/controller/ArdTiles3dController.java
+++ b/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/controller/ArdTiles3dController.java
@@ -29,15 +29,14 @@
 
 /**
  * 涓夌淮瀹炴櫙Controller
- * 
+ *
  * @author ard
  * @date 2023-06-16
  */
 @RestController
 @RequestMapping("/management3d/tiles3d")
 @Api(tags = "涓夌淮瀹炴櫙鎺ュ彛")
-public class ArdTiles3dController extends BaseController
-{
+public class ArdTiles3dController extends BaseController {
     @Autowired
     private IArdTiles3dService ardTiles3dService;
 
@@ -47,8 +46,7 @@
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:list')")
     @GetMapping("/list")
     @ApiOperation("鏌ヨ涓夌淮瀹炴櫙鍒楄〃")
-    public TableDataInfo list(ArdTiles3d ardTiles3d)
-    {
+    public TableDataInfo list(ArdTiles3d ardTiles3d) {
         startPage();
         List<ArdTiles3d> list = ardTiles3dService.selectArdTiles3dList(ardTiles3d);
         return getDataTable(list);
@@ -60,8 +58,7 @@
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:export')")
     @Log(title = "涓夌淮瀹炴櫙", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ArdTiles3d ardTiles3d)
-    {
+    public void export(HttpServletResponse response, ArdTiles3d ardTiles3d) {
         List<ArdTiles3d> list = ardTiles3dService.selectArdTiles3dList(ardTiles3d);
         ExcelUtil<ArdTiles3d> util = new ExcelUtil<ArdTiles3d>(ArdTiles3d.class);
         util.exportExcel(response, list, "涓夌淮瀹炴櫙鏁版嵁");
@@ -72,8 +69,7 @@
      */
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:query')")
     @GetMapping(value = "/{tilesId}")
-    public AjaxResult getInfo(@PathVariable("tilesId") String tilesId)
-    {
+    public AjaxResult getInfo(@PathVariable("tilesId") String tilesId) {
         return success(ardTiles3dService.selectArdTiles3dByTilesId(tilesId));
     }
 
@@ -83,8 +79,7 @@
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:add')")
     @Log(title = "涓夌淮瀹炴櫙", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody ArdTiles3d ardTiles3d)
-    {
+    public AjaxResult add(@RequestBody ArdTiles3d ardTiles3d) {
         return toAjax(ardTiles3dService.insertArdTiles3d(ardTiles3d));
     }
 
@@ -94,8 +89,7 @@
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:edit')")
     @Log(title = "涓夌淮瀹炴櫙", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody ArdTiles3d ardTiles3d)
-    {
+    public AjaxResult edit(@RequestBody ArdTiles3d ardTiles3d) {
         return toAjax(ardTiles3dService.updateArdTiles3d(ardTiles3d));
     }
 
@@ -104,22 +98,21 @@
      */
     @PreAuthorize("@ss.hasPermi('management3d:tiles3d:remove')")
     @Log(title = "涓夌淮瀹炴櫙", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{tilesIds}")
-    public AjaxResult remove(@PathVariable String[] tilesIds)
-    {
+    @DeleteMapping("/{tilesIds}")
+    public AjaxResult remove(@PathVariable String[] tilesIds) {
         return toAjax(ardTiles3dService.deleteArdTiles3dByTilesIds(tilesIds));
     }
+
     @GetMapping("/getDeptAndTiles3d")
     @ApiOperation("鑾峰彇閮ㄩ棬鍜屼笁缁村疄鏅�")
-    public AjaxResult getDeptAndTiles3d()
-    {
+    public AjaxResult getDeptAndTiles3d() {
         Map deptAndTiles3d = ardTiles3dService.getChildDeptAndTiles3d();
         return AjaxResult.success(deptAndTiles3d);
     }
+
     @GetMapping("/getChildTiles3d")
     @ApiOperation("鑾峰彇涓夌淮瀹炴櫙")
-    public AjaxResult getChildTiles3d()
-    {
+    public AjaxResult getChildTiles3d() {
         Map deptAndTiles3d = ardTiles3dService.getChildTiles3d();
         return AjaxResult.success(deptAndTiles3d);
     }
diff --git a/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/service/impl/ArdTiles3dServiceImpl.java b/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/service/impl/ArdTiles3dServiceImpl.java
index 29609e4..28f340b 100644
--- a/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/service/impl/ArdTiles3dServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/management3d/tiles3d/service/impl/ArdTiles3dServiceImpl.java
@@ -106,7 +106,11 @@
     public int deleteArdTiles3dByTilesId(String tilesId) {
         return ardTiles3dMapper.deleteArdTiles3dByTilesId(tilesId);
     }
-
+    /**
+     * 鑾峰彇閮ㄩ棬鍜屼笁缁村疄鏅�
+     *
+     * @return 缁撴灉
+     */
     @Override
     public Map getChildDeptAndTiles3d() {
         Long deptId = SecurityUtils.getDeptId();
@@ -114,7 +118,11 @@
         Map<String, Object> map = fetchChildDepartments(sysDept);
         return map;
     }
-
+    /**
+     * 鍙幏鍙栦笁缁村疄鏅�
+     *
+     * @return 缁撴灉
+     */
     @Override
     public Map getChildTiles3d() {
         Long deptId = SecurityUtils.getDeptId();
@@ -124,7 +132,7 @@
     }
 
     /**
-     * @鎻忚堪 閫掑綊鏌ヨ
+     * @鎻忚堪 閫掑綊鏌ヨ-鑾峰彇閮ㄩ棬鍜屼笁缁村疄鏅�
      * @鍙傛暟 [sysDept]
      * @杩斿洖鍊� java.util.Map<java.lang.String, java.lang.Object>
      * @鍒涘缓浜� 鍒樿嫃涔�
diff --git a/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java b/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java
index 9b7516f..70172c5 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/tools/ArdTool.java
@@ -1,6 +1,11 @@
 package com.ruoyi.utils.tools;
 
+import com.ruoyi.common.core.redis.RedisCache;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.annotation.Resource;
 import java.lang.reflect.Field;
+import java.time.LocalTime;
 import java.util.*;
 
 /**
@@ -10,6 +15,7 @@
  * @Date: 2023骞�06鏈�02鏃�14:37
  * @Version: 1.0
  **/
+@Slf4j
 public class ArdTool {
 
     /**
@@ -48,4 +54,37 @@
 //        String max = list.get(list.size() - 1).getKey();
         return min;
     }
+    /**
+     * @鎻忚堪 閫氳繃鏃ュ鍒囨崲鏃堕棿鍒ゆ柇褰撳墠浣跨敤閫氶亾鍙�
+     * @鍙傛暟 []
+     * @杩斿洖鍊� java.lang.Integer
+     * @鍒涘缓浜� 鍒樿嫃涔�
+     * @鍒涘缓鏃堕棿 2023/6/17 13:50
+     * @淇敼浜哄拰鍏跺畠淇℃伅
+     */
+    public static Integer getChannelBydayNightTime(String dayNightTime)
+    {
+        try {
+            // 鑾峰彇褰撳墠鏃堕棿
+            LocalTime currentTime = LocalTime.now();
+            String[] dayNight = dayNightTime.split("-");
+            // 瑙f瀽鏃堕棿瀛楃涓�
+            LocalTime startTime = LocalTime.parse(dayNight[0]);
+            LocalTime endTime = LocalTime.parse(dayNight[1]);
+
+            // 妫�鏌ュ綋鍓嶆椂闂存槸鍚﹀湪缁欏畾鐨勬椂闂磋寖鍥村唴
+            boolean isWithinRange = !currentTime.isBefore(startTime) && !currentTime.isAfter(endTime);
+            // 杈撳嚭缁撴灉
+            if (isWithinRange) {
+                return 1;
+            } else {
+                return 2;
+            }
+        }
+        catch (Exception ex)
+        {
+            log.error("鍏夌數鍒囨崲鑾峰彇閫氶亾寮傚父锛�"+ex.getMessage());
+            return 1;
+        }
+    }
 }
diff --git a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
index aa8f3cb..19fdea3 100644
--- a/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -30,7 +30,8 @@
         <result property="loginId" column="login_id"/>
         <result property="operatorId" column="operator_id"/>
         <result property="operatorExpired" column="operator_expired"/>
-        <result property="camMaxVisibleDistance"    column="cam_max_visible_distance"    />
+        <result property="camMaxVisibleDistance" column="cam_max_visible_distance"/>
+        <result property="camAlarmGuideEnable" column="cam_alarm_guide_enable"/>
     </resultMap>
 
     <sql id="selectArdCamerasVo">
@@ -58,7 +59,8 @@
                c.cam_fov,
                c.operator_id,
                c.operator_expired,
-               c.cam_max_visible_distance
+               c.cam_max_visible_distance,
+               c.cam_alarm_guide_enable
         from ard_cameras c
                  left join sys_dept d on d.dept_id = c.dept_id
                  left join sys_user u on u.user_id = c.user_id
@@ -92,6 +94,7 @@
             <if test="camDepth != null ">and c.cam_depth = #{camDepth}</if>
             <if test="camFov != null ">and c.cam_fov = #{camFov}</if>
             <if test="camMaxVisibleDistance != null ">and c.cam_max_visible_distance = #{camMaxVisibleDistance}</if>
+            <if test="camAlarmGuideEnable != null ">and c.cam_alarm_guide_enable = #{camAlarmGuideEnable}</if>
             <if test="loginId != null ">and c.login_id = #{loginId}</if>
             <!-- 鏁版嵁鑼冨洿杩囨护 -->
             ${params.dataScope}
@@ -125,6 +128,7 @@
             <if test="camDepth != null ">and c.cam_depth = #{camDepth}</if>
             <if test="camFov != null ">and c.cam_fov = #{camFov}</if>
             <if test="camMaxVisibleDistance != null ">and c.cam_max_visible_distance = #{camMaxVisibleDistance}</if>
+            <if test="camAlarmGuideEnable != null ">and c.cam_alarm_guide_enable = #{camAlarmGuideEnable}</if>
             <if test="loginId != null ">and c.login_id = #{loginId}</if>
         </where>
     </select>
@@ -157,6 +161,7 @@
             <if test="camDepth != null">cam_depth,</if>
             <if test="camFov != null">cam_fov,</if>
             <if test="camMaxVisibleDistance != null ">cam_max_visible_distance,</if>
+            <if test="camAlarmGuideEnable != null">cam_alarm_guide_enable,</if>
             <if test="loginId != null">login_id,</if>
             <if test="deptId != null">dept_id,</if>
             <if test="userId != null">user_id,</if>
@@ -187,6 +192,7 @@
             <if test="camDepth != null">#{camDepth},</if>
             <if test="camFov != null">#{camFov},</if>
             <if test="camMaxVisibleDistance != null ">#{camMaxVisibleDistance},</if>
+            <if test="camAlarmGuideEnable != null">#{camAlarmGuideEnable},</if>
             <if test="loginId != null">#{loginId},</if>
             <if test="deptId != null">#{deptId},</if>
             <if test="userId != null">#{userId},</if>
@@ -220,6 +226,7 @@
             <if test="camDepth != null">cam_depth = #{camDepth},</if>
             <if test="camFov != null">cam_fov = #{camFov},</if>
             <if test="camMaxVisibleDistance != null ">cam_max_visible_distance = #{camMaxVisibleDistance},</if>
+            <if test="camAlarmGuideEnable != null">cam_alarm_guide_enable = #{camAlarmGuideEnable},</if>
             <if test="loginId != null">login_id = #{loginId},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="userId != null">user_id = #{userId},</if>
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
index e681ea0..fff2cc9 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -48,7 +48,7 @@
 
     /** 璇锋眰鍙傛暟 */
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    @ApiModelProperty(value = "鍔ㄦ�佸弬鏁�", name = "params", notes = "鏍规嵁涓嶅悓鐨勬煡璇㈠瓧娈佃嚜鐢遍厤缃弬鏁�", required = true)
+    @ApiModelProperty(value = "鍔ㄦ�佸弬鏁�", name = "params", notes = "鏍规嵁涓嶅悓鐨勬煡璇㈠瓧娈佃嚜鐢遍厤缃弬鏁�")
     private Map<String, Object> params;
     @ApiModelProperty(value = "椤电爜", name = "pageNum", notes = "椤电爜", required = true)
     private Integer pageNum;

--
Gitblit v1.9.3