Kaynağa Gözat

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

hexiao 1 yıl önce
ebeveyn
işleme
ef58dba885

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

@@ -732,7 +732,7 @@ public class BaseCameraManagementController extends BaseController {
             return error("查不到该ID的相机台账数据!!!");
         }
         log.info("endRecording------------" + baseCameraManagement.getTaskId());
-        String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
+        String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getCameraCode(),baseCameraManagement.getChannel()));
         log.info("endRecording------------" + start);
         if ("success".equals(start)) {
             baseCameraManagement.setStartRecording(2);

+ 16 - 11
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -290,9 +290,9 @@ public class MsgAlarmController extends BaseController {
             }
             msgAlarm.setLineDirName(msgAlarm.getLineDir() == 1 ? "上行" : "下行");
             msgAlarm.setIsLockName(msgAlarm.getIsLock() == 1 ? "已解除" : "未解除");
-            LambdaQueryWrapper<SysDictData> dict=new LambdaQueryWrapper<>();
-            dict.eq(SysDictData::getDictType,"sys_alarm_type");
-            dict.eq(SysDictData::getDictValue,msgAlarm.getAlarmType());
+            LambdaQueryWrapper<SysDictData> dict = new LambdaQueryWrapper<>();
+            dict.eq(SysDictData::getDictType, "sys_alarm_type");
+            dict.eq(SysDictData::getDictValue, msgAlarm.getAlarmType());
             SysDictData one = dictDataService.getOne(dict);
             msgAlarm.setAlarmTypeName(one.getDictLabel());
             String[] split1 = msgAlarm.getAlarmAttr().split(",");
@@ -407,6 +407,9 @@ public class MsgAlarmController extends BaseController {
                                    @RequestParam(value = "releasedType", required = false) Integer releasedType,
                                    @RequestParam(value = "releasedReason", required = false) String releasedReason) {
         MsgAlarm msgAlarm = msgAlarmService.getById(id);
+        if (msgAlarm.getIsLock() == 1) {
+            return AjaxResult.error("501", "报警已解除");
+        }
         msgAlarm.setIsLock(1);
         msgAlarm.setUpdateBy(getUserId());
         msgAlarm.setReleasedBy(getUserId());
@@ -430,7 +433,9 @@ public class MsgAlarmController extends BaseController {
         } catch (Exception exception) {
             log.error(exception.getMessage());
         }
+        log.info("updateIsLock-------url" + url);
         msgAlarm.setReleasedUrl(url);
+        log.info("updateIsLock----------msgAlarm" + msgAlarm);
         boolean b = msgAlarmService.updateById(msgAlarm);
 //        LambdaQueryWrapper<MsgAppPush> wrapper = new LambdaQueryWrapper<>();
 //        wrapper.eq(MsgAppPush::getAlarmId, msgAlarm.getAlarmId());
@@ -457,14 +462,14 @@ public class MsgAlarmController extends BaseController {
         QueryWrapper<MsgAlarm> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("alarm_id", alarmId);
         MsgAlarm one = msgAlarmService.getOne(queryWrapper);
-        if (ObjectUtils.isEmpty(one)){
-            return error("报警表没有此报警唯一标识的报警数据"); 
+        if (ObjectUtils.isEmpty(one)) {
+            return error("报警表没有此报警唯一标识的报警数据");
         }
         QueryWrapper<MsgAlarmFrequency> wrapper = new QueryWrapper<>();
         wrapper.eq("alarm_id", alarmId);
         wrapper.orderByDesc("alarm_time");
         List<MsgAlarmFrequency> list = msgAlarmFrequencyService.list(wrapper);
-        if (list.size()>0) {
+        if (list.size() > 0) {
             if (one.getIsLock() == 1) {
                 for (int i = 0; i < list.size(); i++) {
                     if (i == 0) {
@@ -473,13 +478,13 @@ public class MsgAlarmController extends BaseController {
                         list.get(i).setIsLock(2);
                     }
                 }
-            }else {
+            } else {
                 for (MsgAlarmFrequency msgAlarmFrequency : list) {
                     msgAlarmFrequency.setIsLock(2);
                 }
             }
             return AjaxResult.success(list);
-        }else {
+        } else {
             return error("报警频次表没有此报警唯一标识的报警数据");
         }
     }
@@ -492,13 +497,13 @@ public class MsgAlarmController extends BaseController {
         wrapper.eq("camera_code", cameraCode);
         wrapper.orderByDesc("alarm_time");
         List<MsgAlarm> list = msgAlarmService.list(wrapper);
-        if (list.size()>0) {
+        if (list.size() > 0) {
             for (MsgAlarm msgAlarm : list) {
                 msgAlarm.setFailureToAlarm(1);
             }
             return AjaxResult.success(list);
-        }else {
-            List<MsgAlarm> msgAlarmList=new ArrayList<>();
+        } else {
+            List<MsgAlarm> msgAlarmList = new ArrayList<>();
             MsgAlarm msgAlarm = new MsgAlarm();
             msgAlarm.setFailureToAlarm(2);
             msgAlarmList.add(msgAlarm);

+ 30 - 8
hazard-admin/src/main/java/com/ozs/web/controller/shotschedule/ShotExecutors.java

@@ -1,6 +1,9 @@
 package com.ozs.web.controller.shotschedule;
 
+import com.ozs.common.core.domain.entity.SysDictData;
+import com.ozs.common.utils.DictUtils;
 import com.ozs.system.service.ISysDictDataService;
+import com.ozs.system.service.ISysDictTypeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
@@ -9,8 +12,11 @@ import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
@@ -31,6 +37,8 @@ public class ShotExecutors {
     @Autowired
     private ISysDictDataService dictDataService;
     @Autowired
+    private ISysDictTypeService iSysDictTypeService;
+    @Autowired
     private TaskNormalService taskNormalService; //定时任务-没有报警摄像头
     @Autowired
     private TaskAlarmService taskAlarmService;//定时任务-报警摄像头
@@ -39,12 +47,19 @@ public class ShotExecutors {
      * 处理非预警摄像头截图
      */
     @Async
-    @Scheduled(fixedRate = 500)
+    @Scheduled(fixedRate = 60000)
     public void handleNormalPicture() {
-        boolean shotSwitch = Boolean.parseBoolean(dictDataService.selectDictLabel("shot_switch", String.valueOf(0)));
+        List<SysDictData> dataList = DictUtils.getDictCache("shot_switch");
+        if(CollectionUtils.isEmpty(dataList) || Objects.isNull(dataList.get(0))){
+            dataList = iSysDictTypeService.selectDictDataByType("shot_switch");
+            DictUtils.setDictCache("shot_switch",dataList);
+        }
+        //boolean shotSwitch = Boolean.parseBoolean(dictDataService.selectDictLabel("shot_switch", String.valueOf(0)));
         try {
-            if (shotSwitch) {
-                taskNormalService.getNormalPicture();
+            if(!CollectionUtils.isEmpty(dataList) && Objects.nonNull(dataList.get(0))){
+                if (Boolean.parseBoolean(dataList.get(0).getDictLabel())) {
+                    taskNormalService.getNormalPicture();
+                }
             }
         } catch (Exception e) {
             e.getMessage();
@@ -56,12 +71,19 @@ public class ShotExecutors {
      * 处理预警摄像头截图
      */
     @Async
-    @Scheduled(fixedRate = 200)
+    @Scheduled(fixedRate = 500)
     public void handleAlarmPicture() {
-        boolean shotSwitch = Boolean.parseBoolean(dictDataService.selectDictLabel("shot_switch", String.valueOf(0)));
+        List<SysDictData> dataList = DictUtils.getDictCache("shot_switch");
+        if(CollectionUtils.isEmpty(dataList) || Objects.isNull(dataList.get(0))){
+            dataList = iSysDictTypeService.selectDictDataByType("shot_switch");
+            DictUtils.setDictCache("shot_switch",dataList);
+        }
+        //boolean shotSwitch = Boolean.parseBoolean(dictDataService.selectDictLabel("shot_switch", String.valueOf(0)));
         try {
-            if (shotSwitch) {
-                taskAlarmService.getAlarmPicture();
+            if(!CollectionUtils.isEmpty(dataList) && Objects.nonNull(dataList.get(0))){
+                if (Boolean.parseBoolean(dataList.get(0).getDictLabel())) {
+                    taskAlarmService.getAlarmPicture();
+                }
             }
         } catch (Exception e) {
             e.getMessage();

+ 1 - 0
hazard-admin/src/main/java/com/ozs/web/controller/system/SysRoleController.java

@@ -105,6 +105,7 @@ public class SysRoleController extends BaseController {
         if (!ObjectUtils.isEmpty(vo.getStatus())) {
             lw.eq(SysRole::getStatus, vo.getStatus());
         }
+        lw.eq(SysRole::getDelFlag,1);
         IPage<SysRole> page = roleService.page(new Page<SysRole>(vo.getPageNum(), vo.getPageSize()), lw);
         return success(page);
     }

+ 4 - 4
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -179,8 +179,8 @@ public class CameraUtil {
      * @param taskId 录像接口返回的任务ID
      * @return
      */
-    public static String endRecording(String taskId) {
-        return webUrl + "/recordpro/api/stop?id=" + taskId;
+    public static String endRecording(String cameraCode,String channel) {
+        return webUrl + "/recordpro/api/stop?id=" + cameraCode+"/"+channel+"/flv";
     }
 
 
@@ -649,7 +649,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
                                 lw.eq(BaseCameraManagement::getCameraCode, substring);
                                 BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
                                 log.info("closeRecording-endRecording------------" + baseCameraManagement.getTaskId());
-                                String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
+                                String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getCameraCode(),baseCameraManagement.getChannel()));
                                 log.info("closeRecording-endRecording------------" + start);
                                 if ("success".equals(start)) {
                                     baseCameraManagement.setStartRecording(2);
@@ -666,7 +666,7 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
                             lw.eq(BaseCameraManagement::getCameraCode, substring);
                             BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
                             log.info("closeRecording-endRecording------------" + baseCameraManagement.getTaskId());
-                            String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
+                            String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getCameraCode(),baseCameraManagement.getChannel()));
                             log.info("closeRecording-endRecording------------" + start);
                             if ("success".equals(start)) {
                                 baseCameraManagement.setStartRecording(2);