From 6b4a4baa1048b1ed148580802ab06a78bbbd3db7 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: Sat, 09 Dec 2023 14:14:11 +0800
Subject: [PATCH] 报警引导增加优先井配置ptz引导
---
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java | 3
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml | 20 ++
ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java | 67 ++----
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java | 4
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java | 64 +++++-
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java | 15 +
ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java | 5
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java | 27 +++
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java | 214 +++++++++++++++--------
ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java | 11 +
ruoyi-admin/src/main/resources/logback.xml | 36 ++--
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java | 23 ++
ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java | 37 +++
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java | 3
ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java | 2
15 files changed, 367 insertions(+), 164 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java
new file mode 100644
index 0000000..fa24638
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideDataDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.alarm.global.domain;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * @Description: 引导数据实体
+ * @ClassName: GuideDataDto
+ * @Author: 刘苏义
+ * @Date: 2023年12月09日11:37:58
+ **/
+@Data
+@Accessors(chain = true)
+public class GuideDataDto {
+ String radarId;
+ String name;
+ String cameraId;
+ String alarmId;
+ String alarmType;
+ Date receiveTime;
+ Integer num;
+ Integer recordSn;
+ double[] targetPosition;
+ GuidePTZ guidePTZ;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java
new file mode 100644
index 0000000..064825f
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePTZ.java
@@ -0,0 +1,23 @@
+package com.ruoyi.alarm.global.domain;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description:
+ * @ClassName: GuidePTZ
+ * @Author: 刘苏义
+ * @Date: 2023年12月09日10:13:28
+ **/
+@Data
+@Accessors(chain = true)
+public class GuidePTZ {
+ /** 引导P值 */
+ private Double P;
+
+ /** 引导T值 */
+ private Double T;
+
+ /** 引导Z值 */
+ private Double Z;
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java
index bf1ac65..5b65e69 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java
@@ -53,4 +53,8 @@
* 引导目标经纬度
*/
double[] targetPosition;
+
+ /** 引导PTZ值 */
+ private GuidePTZ guidePTZ;
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 1d710a9..588c3f5 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -11,10 +11,7 @@
import com.ruoyi.alarm.digitization3.mapper.ArdAlarmDigitization3Mapper;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper;
-import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
-import com.ruoyi.alarm.global.domain.GlobalAlarmData;
-import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
-import com.ruoyi.alarm.global.domain.GuideTask;
+import com.ruoyi.alarm.global.domain.*;
import com.ruoyi.alarm.global.service.IGlobalAlarmService;
import com.ruoyi.alarm.radar.domain.*;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper;
@@ -35,13 +32,11 @@
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.constant.CacheConstants;
-import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.ConfigUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.external.domain.ArdEquipExternal;
import com.ruoyi.device.external.mapper.ArdEquipExternalMapper;
import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper;
@@ -54,14 +49,12 @@
import com.ruoyi.utils.tube.GeoPoint;
import com.ruoyi.utils.tube.TubeTools;
import lombok.extern.slf4j.Slf4j;
-import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
-import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -73,7 +66,7 @@
* @Version: 1.0
**/
@Service
-@Slf4j(topic = "mqtt")
+@Slf4j(topic = "alarm")
public class GlobalAlarmServiceImpl implements IGlobalAlarmService {
//region 依赖注入
@Resource
@@ -1039,9 +1032,17 @@
return;
}
double[] coordinate = new double[]{longitude, latitude};
- String nearbyCameraId = getNearbyCamera(new double[]{ardAlarmTube.getLongitude(), ardAlarmTube.getLatitude()});
- if (StringUtils.isNotEmpty(nearbyCameraId)) {
- messagesEnqueued(nearbyCameraId, ardAlarmTube.getId(), "sys_tube_leak", ardAlarmTube.getCreateTime(), 1, 1, coordinate);
+ String cameraId = getCameraByNear(new double[]{ardAlarmTube.getLongitude(), ardAlarmTube.getLatitude()});
+ if (StringUtils.isNotEmpty(cameraId)) {
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setAlarmId(cameraId)
+ .setAlarmId(ardAlarmTube.getId())
+ .setAlarmType("sys_tube_leak")
+ .setReceiveTime(ardAlarmTube.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate);
+ messagesEnqueued(guideDataDto);
}
//endregion
}
@@ -1061,7 +1062,7 @@
case "radar":
//region 处理雷达报警
String mergeTime = ConfigUtils.getConfigValue("radarMergeTime");
- Integer radarMergeTime= mergeTime==null||"".equals(mergeTime)?10:Integer.valueOf(mergeTime);
+ Integer radarMergeTime = mergeTime == null || "".equals(mergeTime) ? 10 : Integer.valueOf(mergeTime);
RadarAlarmData radarAlarmData = JSONObject.parseObject(message, RadarAlarmData.class);
List<ArdAlarmRadar> ardAlarmRadars = radarAlarmData.getArdAlarmRadars();
for (ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) {
@@ -1069,13 +1070,16 @@
String radarId = radarAlarmData.getRadarId();
String alarmpointName = ardAlarmRadar.getName();//兴趣点名称
ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
- if(well==null)
- {
+ if (well == null) {
return;
}
+ Double guideP = well.getGuideP();
+ Double guideT = well.getGuideT();
+ Double guideZ = well.getGuideZ();
Double longitude = well.getLongitude();
Double latitude = well.getLatitude();
String targetId = ardAlarmRadar.getTargetId();
+ GuidePTZ guidePTZ = new GuidePTZ();
switch (ardAlarmRadar.getAlarmType()) {
case "运动目标检测":
ArdAlarmRadarMove ardAlarmRadarMove = new ArdAlarmRadarMove();
@@ -1089,6 +1093,11 @@
ardAlarmRadarMove.setLatitude(latitude);
ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime());
ardAlarmRadarMove.setRadarId(radarId);
+
+ guidePTZ.setP(guideP);
+ guidePTZ.setT(guideT);
+ guidePTZ.setZ(guideZ);
+ ardAlarmRadarMove.setGuidePTZ(guidePTZ);
Date alarmTime = ardAlarmRadarMove.getAlarmTime();
//获取当前兴趣点当前雷达的上一条数据
ArdAlarmRadarMove lastMoveData = ardAlarmRadarMoveMapper.selectArdAlarmRadarLastData(ardAlarmRadarMove.getName());
@@ -1101,7 +1110,7 @@
//否则比对更新时间
Date lastUpdateTime = lastMoveData.getUpdateTime();
Date lastGuideTime = lastMoveData.getGuideTime();
- long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
+ long secDatePoor = DateUtils.getSecDatePoor(alarmTime, lastUpdateTime);
if (secDatePoor <= radarMergeTime) {
//小于10秒的新数据,更新上一条
ArdAlarmRadarMove updateData = new ArdAlarmRadarMove();
@@ -1109,9 +1118,8 @@
updateData.setUpdateTime(alarmTime);
//判断引导时间超过5分钟再次引导
- long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime);
- if(secDatePoorGuide>=300)
- {
+ long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime, lastGuideTime);
+ if (secDatePoorGuide >= 300) {
updateData.setGuideTime(alarmTime);
radarMoveGuide(ardAlarmRadarMove);//引导
}
@@ -1142,6 +1150,10 @@
ardAlarmRadarFire.setAlarmType("热源检测");
ardAlarmRadarFire.setLongitude(longitude);
ardAlarmRadarFire.setLatitude(latitude);
+ guidePTZ.setP(guideP);
+ guidePTZ.setT(guideT);
+ guidePTZ.setZ(guideZ);
+ ardAlarmRadarFire.setGuidePTZ(guidePTZ);
ardAlarmRadarFire.setRadarId(radarId);
ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime());
//
@@ -1155,9 +1167,8 @@
} else {
//否则比对更新时间
Date lastUpdateTime = lastFireData.getUpdateTime();
-
Date lastGuideTime = lastFireData.getGuideTime();
- long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
+ long secDatePoor = DateUtils.getSecDatePoor(alarmTime, lastUpdateTime);
if (secDatePoor <= radarMergeTime) {
//小于10秒的新数据,更新上一条
ArdAlarmRadarFire updateData = new ArdAlarmRadarFire();
@@ -1165,9 +1176,8 @@
updateData.setUpdateTime(alarmTime);
//判断引导时间超过5分钟再次引导
- long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime);
- if(secDatePoorGuide>=300)
- {
+ long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime, lastGuideTime);
+ if (secDatePoorGuide >= 300) {
updateData.setGuideTime(alarmTime);
radarFireGuide(ardAlarmRadarFire);//引导
}
@@ -1191,11 +1201,12 @@
ardAlarmRadarPump.setAlarmType("雷达抽油机停机");
ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime());
alarmTime = ardAlarmRadarPump.getAlarmTime();
- ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
- if (StringUtils.isNotNull(ardAlarmpointsWell)) {
- ardAlarmRadarPump.setLongitude(ardAlarmpointsWell.getLongitude());
- ardAlarmRadarPump.setLatitude(ardAlarmpointsWell.getLatitude());
- }
+ ardAlarmRadarPump.setLongitude(well.getLongitude());
+ ardAlarmRadarPump.setLatitude(well.getLatitude());
+ guidePTZ.setP(guideP);
+ guidePTZ.setT(guideT);
+ guidePTZ.setZ(guideZ);
+ ardAlarmRadarPump.setGuidePTZ(guidePTZ);
//
ArdAlarmRadarPump lastPumpData = ardAlarmRadarPumpMapper.selectArdAlarmRadarLastData(ardAlarmRadarPump.getName());
if (lastPumpData == null) {
@@ -1207,16 +1218,15 @@
//否则比对更新时间
Date lastUpdateTime = lastPumpData.getUpdateTime();
Date lastGuideTime = lastPumpData.getGuideTime();
- long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
+ long secDatePoor = DateUtils.getSecDatePoor(alarmTime, lastUpdateTime);
if (secDatePoor <= radarMergeTime) {
//小于10秒的新数据,更新上一条
ArdAlarmRadarPump updateData = new ArdAlarmRadarPump();
updateData.setId(lastPumpData.getId());
updateData.setUpdateTime(alarmTime);
//判断引导时间超过5分钟再次引导
- long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime,lastGuideTime);
- if(secDatePoorGuide>=300)
- {
+ long secDatePoorGuide = DateUtils.getSecDatePoor(alarmTime, lastGuideTime);
+ if (secDatePoorGuide >= 300) {
radarPumpGuide(ardAlarmRadarPump);//引导
updateData.setGuideTime(alarmTime);
}
@@ -1240,10 +1250,10 @@
ardAlarmExternal.setCreateTime(new Date());//接收时间
//外联防区名称就是兴趣点,查兴趣点坐标
String defenseName = ardAlarmExternal.getDefenseName();
- ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(defenseName);
- if (StringUtils.isNotNull(ardAlarmpointsWell)) {
- ardAlarmExternal.setLongitude(ardAlarmpointsWell.getLongitude());
- ardAlarmExternal.setLatitude(ardAlarmpointsWell.getLatitude());
+ ArdAlarmpointsWell well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(defenseName);
+ if (StringUtils.isNotNull(well)) {
+ ardAlarmExternal.setLongitude(well.getLongitude());
+ ardAlarmExternal.setLatitude(well.getLatitude());
}
int aae = ardAlarmExternalMapper.insertArdAlarmExternal(ardAlarmExternal);
if (aae > 0) {
@@ -1252,10 +1262,23 @@
if (StringUtils.isNull(ardAlarmExternal.getLongitude()) || StringUtils.isNull(ardAlarmExternal.getLatitude())) {
return;
}
- double[] guideCoordinate = new double[]{ardAlarmExternal.getLongitude(), ardAlarmExternal.getLatitude()};//引导坐标
- String nearbyCameraId = getNearbyCamera(guideCoordinate);//最近相机ID
- if (StringUtils.isNotEmpty(nearbyCameraId)) {
- messagesEnqueued(nearbyCameraId, ardAlarmExternal.getId(), "sys_external", ardAlarmExternal.getCreateTime(), 1, 1, guideCoordinate);
+ double[] coordinate = new double[]{ardAlarmExternal.getLongitude(), ardAlarmExternal.getLatitude()};//引导坐标
+ GuidePTZ guidePTZ = new GuidePTZ()
+ .setP(well.getGuideP())
+ .setT(well.getGuideT())
+ .setZ(well.getGuideZ());
+ String cameraId = getCameraByNear(coordinate);//最近相机ID
+ if (StringUtils.isNotEmpty(cameraId)) {
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setAlarmId(cameraId)
+ .setAlarmId(ardAlarmExternal.getId())
+ .setAlarmType("sys_external")
+ .setReceiveTime(ardAlarmExternal.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate)
+ .setGuidePTZ(guidePTZ);
+ messagesEnqueued(guideDataDto);
}
//endregion
}
@@ -1283,10 +1306,18 @@
if (StringUtils.isNull(ardAlarmAccess.getLongitude()) || StringUtils.isNull(ardAlarmAccess.getLatitude())) {
return;
}
- double[] guideCoordinate = new double[]{ardAlarmAccess.getLongitude(), ardAlarmAccess.getLatitude()};//引导坐标
- String nearbyCameraId = getNearbyCamera(guideCoordinate);//最近相机ID
- if (StringUtils.isNotEmpty(nearbyCameraId)) {
- messagesEnqueued(nearbyCameraId, ardAlarmAccess.getId(), "sys_access_control", ardAlarmAccess.getCreateTime(), 1, 1, guideCoordinate);
+ double[] coordinate = new double[]{ardAlarmAccess.getLongitude(), ardAlarmAccess.getLatitude()};//引导坐标
+ String cameraId = getCameraByNear(coordinate);//最近相机ID
+ if (StringUtils.isNotEmpty(cameraId)) {
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setAlarmId(cameraId)
+ .setAlarmId(ardAlarmAccess.getId())
+ .setAlarmType("sys_external")
+ .setReceiveTime(ardAlarmAccess.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate);
+ messagesEnqueued(guideDataDto);
}
//endregion
}
@@ -1345,8 +1376,10 @@
* recordSn 录像存储位置 1-recordUrl1 2-recordUrl2
* targetPosition 报警点位置坐标
*/
- private void messagesEnqueued(String cameraId, String alarmId, String alarmType, Date receiveTime, Integer num, Integer recordSn, double[] targetPosition) {
+ private void messagesEnqueued(GuideDataDto guideDataDto) {
try {
+ String cameraId = guideDataDto.getCameraId();
+ String alarmType = guideDataDto.getAlarmType();
if (!IsEnableGuide(cameraId)) {
log.info("相机:" + cameraId + "未开启报警引导功能");
return;
@@ -1356,43 +1389,43 @@
//相机ID
guideTask.setCameraId(cameraId);
//报警类型
- String aType = "";
switch (alarmType) {
case "运动目标检测":
- aType = "sys_radar_move";
+ alarmType = "sys_radar_move";
break;
case "热源检测":
- aType = "sys_radar_fire";
+ alarmType = "sys_radar_fire";
break;
case "雷达抽油机停机":
- aType = "sys_radar_pump";
- break;
- default:
- aType = alarmType;
+ alarmType = "sys_radar_pump";
break;
}
- guideTask.setAlarmType(aType);
+ guideTask.setAlarmType(alarmType);
//通道(通过日夜时间研判)
String dayNightTime = redisCache.getCacheObject("sys_config:dayNightTime");
Integer channel = ArdTool.getChannelBydayNightTime(dayNightTime);
guideTask.setChanNum(channel);
//报警ID
- guideTask.setAlarmId(alarmId);
+ guideTask.setAlarmId(guideDataDto.getAlarmId());
//接收时间
- guideTask.setReceiveTime(fmt.format(receiveTime));
+ guideTask.setReceiveTime(fmt.format(guideDataDto.getReceiveTime()));
//报警优先级(通过优先级字典)
- String priority = DictUtils.getDictValue("cameras_priority", aType);
+ String priority = DictUtils.getDictValue("cameras_priority", alarmType);
if (StringUtils.isEmpty(priority)) {
log.debug("未匹配到优先级,请检查优先级字典配置");
return;
}
guideTask.setPriority(Integer.valueOf(priority));
//报警次数
- guideTask.setNum(num);
+ guideTask.setNum(guideDataDto.getNum());
//录像存储位置
- guideTask.setRecordSn(recordSn);
+ guideTask.setRecordSn(guideDataDto.getRecordSn());
//目标经纬度
- guideTask.setTargetPosition(targetPosition);
+ guideTask.setTargetPosition(guideDataDto.getTargetPosition());
+ //目标PTZ
+ if (guideDataDto.getGuidePTZ() != null) {
+ guideTask.setGuidePTZ(guideDataDto.getGuidePTZ());
+ }
//消息入队
queueManager.addTaskToQueue(cameraId, guideTask);
//打印队列
@@ -1421,7 +1454,7 @@
/**
* 获取附近开启报警引导功能光电
*/
- private String getNearbyCamera(double[] targetPosition) {
+ private String getCameraByNear(double[] targetPosition) {
String minDistanceCameraId = "";
try {
//获取所有大光电
@@ -1459,16 +1492,17 @@
return minDistanceCameraId;
}
- //雷达获取相机引导入队
- private void radarGuideToQueue(String alarmId, String radarId, String name, String alarmType, Date createTime, double[] coordinate) {
- int index = name.indexOf("(");
- String alarmpointName = name.substring(0, index);
+ //获取相机引导入队
+ private void getCameraGuideToQueue(GuideDataDto guideDataDto) {
+ int index = guideDataDto.getName().indexOf("(");
+ String alarmpointName = guideDataDto.getName().substring(0, index);
//获取雷达所在塔上的大光电
- ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(radarId);
+ ArdCameras cameraWithTower = ardEquipRadarMapper.getCameraByRadar(guideDataDto.getRadarId());
if (StringUtils.isNotNull(cameraWithTower)) {
log.debug("获取到雷达塔上的光电:" + cameraWithTower.getId());
//如果雷达塔上有光电
- messagesEnqueued(cameraWithTower.getId(), alarmId, alarmType, createTime, 1, 1, coordinate);
+ guideDataDto.setCameraId(cameraWithTower.getId());
+ messagesEnqueued(guideDataDto);
} else {
log.debug("未获取到雷达塔上的光电,无法引导");
}
@@ -1479,13 +1513,16 @@
if (cameraId.equals(cameraWithTower.getId())) {
return;
}
- log.info("获取到报警点关联的光电:" + cameraId);
+ log.debug("获取到报警点关联的光电:" + cameraId);
//如果报警点关联了光电
- messagesEnqueued(cameraId, alarmId, alarmType, createTime, 1, 2, coordinate);
+ guideDataDto.setCameraId(cameraId);
+ guideDataDto.setRecordSn(2);//兴趣点光电引导录像存储第二个路径
+ messagesEnqueued(guideDataDto);
} else {
log.debug("未获取到报警点关联的光电,无法引导");
}
}
+
//雷达移动引导
private void radarMoveGuide(ArdAlarmRadarMove ardAlarmRadarMove) {
log.debug("雷达移动开始引导");
@@ -1495,8 +1532,19 @@
}
double[] coordinate = new double[]{ardAlarmRadarMove.getLongitude(), ardAlarmRadarMove.getLatitude()};//报警坐标
//引导入队
- radarGuideToQueue(ardAlarmRadarMove.getId(), ardAlarmRadarMove.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);//更新
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setRadarId( ardAlarmRadarMove.getRadarId())
+ .setName(ardAlarmRadarMove.getName())
+ .setAlarmId(ardAlarmRadarMove.getId())
+ .setAlarmType(ardAlarmRadarMove.getAlarmType())
+ .setReceiveTime(ardAlarmRadarMove.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate)
+ .setGuidePTZ(ardAlarmRadarMove.getGuidePTZ());
+ getCameraGuideToQueue(guideDataDto);//获取相机入队
}
+
//雷达防火引导
private void radarFireGuide(ArdAlarmRadarFire ardAlarmRadarFire) {
log.debug("雷达防火开始引导");
@@ -1506,8 +1554,19 @@
}
double[] coordinate = new double[]{ardAlarmRadarFire.getLongitude(), ardAlarmRadarFire.getLatitude()};//报警坐标
//引导入队
- radarGuideToQueue(ardAlarmRadarFire.getId(), ardAlarmRadarFire.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate);//更新
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setRadarId( ardAlarmRadarFire.getRadarId())
+ .setName(ardAlarmRadarFire.getName())
+ .setAlarmId(ardAlarmRadarFire.getId())
+ .setAlarmType(ardAlarmRadarFire.getAlarmType())
+ .setReceiveTime(ardAlarmRadarFire.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate)
+ .setGuidePTZ(ardAlarmRadarFire.getGuidePTZ());
+ getCameraGuideToQueue(guideDataDto);//获取相机入队
}
+
//雷达抽油机停机引导
private void radarPumpGuide(ArdAlarmRadarPump ardAlarmRadarPump) {
log.debug("雷达抽油机停机开始引导");
@@ -1518,7 +1577,16 @@
}
double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//报警坐标
//引导入队
- radarGuideToQueue(ardAlarmRadarPump.getId(), ardAlarmRadarPump.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);//更新
+ GuideDataDto guideDataDto = new GuideDataDto()
+ .setRadarId( ardAlarmRadarPump.getRadarId())
+ .setName(ardAlarmRadarPump.getName())
+ .setAlarmId(ardAlarmRadarPump.getId())
+ .setAlarmType(ardAlarmRadarPump.getAlarmType())
+ .setReceiveTime(ardAlarmRadarPump.getCreateTime())
+ .setNum(1)
+ .setRecordSn(1)
+ .setTargetPosition(coordinate)
+ .setGuidePTZ(ardAlarmRadarPump.getGuidePTZ());
+ getCameraGuideToQueue(guideDataDto);//获取相机入队
}
-
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
index fd48181..9b45bf5 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
@@ -20,6 +20,8 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
/**
* @ClassName QueueTaskExecutor
@@ -57,6 +59,11 @@
cmd.setOperator(guideTask.getAlarmType());
cmd.setExpired(30);
cmd.setRecordBucketName("record");
+ Map<String, Double> ptzMap = new HashMap<>();
+ ptzMap.put("p", guideTask.getGuidePTZ().getP());
+ ptzMap.put("t", guideTask.getGuidePTZ().getT());
+ ptzMap.put("z", guideTask.getGuidePTZ().getZ());
+ cmd.setPtzMap(ptzMap);
if (guideTask.getRecordSn().equals(1)) {
cmd.setRecordObjectName("alarm_" + guideTask.getAlarmId() + "_1");
} else {
@@ -64,7 +71,13 @@
}
log.debug("开始引导");
- boolean guideRes = cameraSdkService.guideTargetPosition(cmd);
+ boolean guideRes = false;
+ if (cmd.getPtzMap().get("p") != null) {
+ //p值存在 优先引导ptz
+ guideRes = cameraSdkService.setPtz(cmd);
+ } else {
+ guideRes = cameraSdkService.guideTargetPosition(cmd);
+ }
if (guideRes) {
log.debug("引导成功");
cameraSdkService.controlLock(cmd);//上锁
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
index 661231e..a3bac6a 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
@@ -2,6 +2,7 @@
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.alarm.global.domain.GuidePTZ;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -85,6 +86,8 @@
*/
private String radarId;
+ /** 引导PTZ值 */
+ private GuidePTZ guidePTZ;
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
index c86db63..e8eac9d 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
@@ -2,6 +2,7 @@
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.alarm.global.domain.GuidePTZ;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -85,5 +86,7 @@
private String RadarId;
+ /** 引导PTZ值 */
+ private GuidePTZ guidePTZ;
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
index 453adc6..82af9b6 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
@@ -1,7 +1,9 @@
package com.ruoyi.alarm.radar.domain;
import java.util.Date;
+
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.alarm.global.domain.GuidePTZ;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -10,63 +12,88 @@
/**
* 雷达抽油机停机报警对象 ard_alarm_radar_pump
- *
+ *
* @author ard
* @date 2023-09-02
*/
@Data
-public class ArdAlarmRadarPump extends BaseEntity
-{
+public class ArdAlarmRadarPump extends BaseEntity {
private static final long serialVersionUID = 1L;
- /** 记录ID */
+ /**
+ * 记录ID
+ */
private String id;
- /** 兴趣点名称 */
+ /**
+ * 兴趣点名称
+ */
@Excel(name = "兴趣点名称")
private String name;
- /** 目标ID */
+ /**
+ * 目标ID
+ */
@Excel(name = "目标ID")
private String targetId;
- /** 报警类型 */
+ /**
+ * 报警类型
+ */
@Excel(name = "报警类型")
private String alarmType;
- /** 报警时间 */
+ /**
+ * 报警时间
+ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date alarmTime;
- /** 经度 */
+ /**
+ * 经度
+ */
@Excel(name = "经度")
private Double longitude;
- /** 纬度 */
+ /**
+ * 纬度
+ */
@Excel(name = "纬度")
private Double latitude;
- /** 引导录像1 */
+ /**
+ * 引导录像1
+ */
@Excel(name = "引导录像1")
private String recordUrl1;
- /** 引导录像2 */
+ /**
+ * 引导录像2
+ */
@Excel(name = "引导录像2")
private String recordUrl2;
- /** 查看时间 */
+ /**
+ * 查看时间
+ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "查看时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date viewTime;
- /** 用户ID */
+ /**
+ * 用户ID
+ */
@Excel(name = "用户ID")
private String userId;
- /** 部门ID */
+ /**
+ * 部门ID
+ */
@Excel(name = "部门ID")
private Long deptId;
- /** 引导时间 */
+ /**
+ * 引导时间
+ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "引导时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date guideTime;
@@ -84,4 +111,9 @@
* 雷达ID
*/
private String radarId;
+ /**
+ * 引导PTZ值
+ */
+ private GuidePTZ guidePTZ;
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java
index 183cc2b..62c0189 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java
@@ -25,7 +25,7 @@
* @Date 2022/12/26 16:34
* @Version 1.0
*/
-@Slf4j(topic = "stealAlarm")
+@Slf4j(topic = "alarm")
@Service
public class IStealElecAlarmServiceImpl implements IStealElecAlarmService {
@Resource
diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java
index b9be340..46dc005 100644
--- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java
+++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWell.java
@@ -101,6 +101,17 @@
/** 关联相机ID */
private String cameraId;
+ /** 引导P值 */
+ private Double guideP;
+
+ /** 引导T值 */
+ private Double guideT;
+
+ /** 引导Z值 */
+ private Double guideZ;
+
@TableField(exist = false)
private String type;
+
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
index 3ca1966..fa639b2 100644
--- a/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/inspect/service/impl/ArdVideoInspectTaskServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.inspect.service.impl;
import java.util.*;
+
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.utils.DateUtils;
@@ -21,6 +22,7 @@
import com.ruoyi.inspect.mapper.ArdVideoInspectTaskMapper;
import com.ruoyi.inspect.domain.ArdVideoInspectTask;
import com.ruoyi.inspect.service.IArdVideoInspectTaskService;
+
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
@@ -440,9 +442,8 @@
targetPositon[2] = ardAlarmpointsWell.getAltitude();
/*获取相机坐标*/
ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
- if(StringUtils.isNull(cameras))
- {
- log.debug("找不到相机:"+cameraId);
+ if (StringUtils.isNull(cameras)) {
+ log.debug("找不到相机:" + cameraId);
return;
}
double[] cameraPositon = new double[3];
@@ -456,7 +457,17 @@
cmd.setTargetPosition(targetPositon);
cmd.setOperator("sys_patrol_inspect");
cmd.setExpired(step.getRecordingTime() * 60);
- boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+ Map<String, Double> ptzMap = new HashMap<>();
+ ptzMap.put("p", ardAlarmpointsWell.getGuideP());
+ ptzMap.put("t", ardAlarmpointsWell.getGuideT());
+ ptzMap.put("z", ardAlarmpointsWell.getGuideZ());
+ cmd.setPtzMap(ptzMap);
+ boolean setTargetPosition;
+ if (cmd.getPtzMap().get("p") != null) {
+ setTargetPosition = cameraSdkService.setPtz(cmd);
+ } else {
+ setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+ }
if (setTargetPosition) {
/*控制相机巡检成功,开始录像*/
cameraSdkService.recordStart(cmd);
@@ -498,9 +509,8 @@
targetPositon[2] = ardAlarmpointsWell.getAltitude();
/*获取相机坐标*/
ArdCameras cameras = ardCamerasMapper.selectArdCamerasById(cameraId);
- if(StringUtils.isNull(cameras))
- {
- log.debug("找不到相机:"+cameraId);
+ if (StringUtils.isNull(cameras)) {
+ log.debug("找不到相机:" + cameraId);
return;
}
double[] cameraPositon = new double[3];
@@ -514,7 +524,17 @@
cmd.setTargetPosition(targetPositon);
cmd.setOperator("sys_patrol_inspect");
cmd.setExpired(step.getRecordingTime() * 60);
- boolean setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+ Map<String, Double> ptzMap = new HashMap<>();
+ ptzMap.put("p", ardAlarmpointsWell.getGuideP());
+ ptzMap.put("t", ardAlarmpointsWell.getGuideT());
+ ptzMap.put("z", ardAlarmpointsWell.getGuideZ());
+ cmd.setPtzMap(ptzMap);
+ boolean setTargetPosition;
+ if (cmd.getPtzMap().get("p") != null) {
+ setTargetPosition = cameraSdkService.setPtz(cmd);
+ } else {
+ setTargetPosition = cameraSdkService.guideTargetPosition(cmd);
+ }
if (!setTargetPosition) {
/*控制失败,当前步骤启动时间置null*/
ardVideoInspectTask.setCurrentStepStartTime("");
@@ -649,6 +669,7 @@
/**
* 获取相机的空闲时段
+ *
* @param cameraId
* @return
*/
diff --git a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
index 7c36f42..8c89a46 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/sdk/hiksdk/service/impl/HikvisionSDK.java
@@ -176,6 +176,7 @@
@Async("loginExecutor")
public void asyncLogin(ArdCameras camera) {
try {
+ Thread.sleep(100);
// 初始化
if (!hCNetSDK.NET_DVR_Init()) {
log.error("SDK初始化失败");
@@ -214,7 +215,7 @@
//同步登录
int lUserID = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo);
if (lUserID < 0) {
- log.debug("Login Failed [ " + camera.getIp() + ":" + camera.getPort() + " ],错误码:" + hCNetSDK.NET_DVR_GetLastError());
+ log.debug("Login Failed 【 " + camera.getIp() + ":" + camera.getPort() + " 】,Error Code:" + hCNetSDK.NET_DVR_GetLastError());
camera.setChanNum(0);
camera.setLoginId(-1);
camera.setState("0");
@@ -224,7 +225,7 @@
return;
}
- log.debug("Login Success [ " + camera.getIp() + ":" + camera.getPort() + " ]");
+ log.debug("Login Success 【 " + camera.getIp() + ":" + camera.getPort() + " 】");
if (fExceptionCallBack == null) {
fExceptionCallBack = new ExceptionCallBack();//异常回调
//设置异常回调函数(可在回调函数中获取设备上下线状态等)
diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
index 3e5dea9..7b997d0 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -29,6 +29,9 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="cameraId" column="camera_id"/>
+ <result property="guideP" column="guide_p"/>
+ <result property="guideT" column="guide_t"/>
+ <result property="guideZ" column="guide_z"/>
</resultMap>
<resultMap type="ArdAlarmpointsWell" id="wellResult">
@@ -61,7 +64,10 @@
c.create_time,
c.update_by,
c.update_time,
- c.camera_id
+ c.camera_id,
+ c.guide_p,
+ c.guide_t,
+ c.guide_z
from ard_alarmpoints_well 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
@@ -127,6 +133,9 @@
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="cameraId != null">camera_id,</if>
+ <if test="guideP != null">guide_p,</if>
+ <if test="guideT != null">guide_t,</if>
+ <if test="guideZ != null">guide_z,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@@ -153,6 +162,9 @@
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="cameraId != null">#{cameraId},</if>
+ <if test="guideP != null">#{guideP},</if>
+ <if test="guideT != null">#{guideT},</if>
+ <if test="guideZ != null">#{guideZ},</if>
</trim>
</insert>
@@ -182,6 +194,9 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="cameraId != null">camera_id = #{cameraId},</if>
+ <if test="guideP != null">guide_p = #{guideP},</if>
+ <if test="guideT != null">guide_t = #{guideT},</if>
+ <if test="guideZ != null">guide_z = #{guideZ},</if>
</trim>
where id = #{id}
</update>
@@ -211,6 +226,9 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="cameraId != null">camera_id = #{cameraId},</if>
+ <if test="guideP != null">guide_p = #{guideP},</if>
+ <if test="guideT != null">guide_t = #{guideT},</if>
+ <if test="guideZ != null">guide_z = #{guideZ},</if>
</trim>
where well_id = #{wellId}
</update>
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index 08c2b1c..2e58b01 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -133,19 +133,6 @@
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
- <!--盗电报警日志输出-->
- <appender name="stealAlarm" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/stealAlarm.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--按天回滚daily-->
- <fileNamePattern>${log.path}/stealAlarm.%d{yyyy-MM-dd}.log</fileNamePattern>
- <!--日志最大的历史60天-->
- <maxHistory>60</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
<!--websocket报警日志输出-->
<appender name="websocket" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/websocket.log</file>
@@ -263,6 +250,19 @@
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
+ <!--报警日志输出-->
+ <appender name="alarm" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/alarm.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!--按天回滚daily-->
+ <fileNamePattern>${log.path}/alarm.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!--日志最大的历史60天-->
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info"/>
<!-- Spring日志级别控制 -->
@@ -332,12 +332,12 @@
<logger name="guideQueue" level="INFO">
<appender-ref ref="guideQueue"/>
</logger>
- <!--stealAlarm日志-->
- <logger name="stealAlarm" level="INFO">
- <appender-ref ref="stealAlarm"/>
- </logger>
- <!--stealAlarm日志-->
+ <!--websocket日志-->
<logger name="websocket" level="INFO">
<appender-ref ref="websocket"/>
</logger>
+ <!--alarm日志-->
+ <logger name="alarm" level="INFO">
+ <appender-ref ref="alarm"/>
+ </logger>
</configuration>
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
index ff2b1b7..3d1650f 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
@@ -9,22 +9,17 @@
/**
* 安全服务工具类
- *
+ *
* @author ruoyi
*/
-public class SecurityUtils
-{
+public class SecurityUtils {
/**
* 用户ID
**/
- public static String getUserId()
- {
- try
- {
+ public static String getUserId() {
+ try {
return getLoginUser().getUserId();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);
}
}
@@ -32,29 +27,21 @@
/**
* 获取部门ID
**/
- public static Long getDeptId()
- {
- try
- {
+ public static Long getDeptId() {
+ try {
return getLoginUser().getDeptId();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
throw new ServiceException("获取部门ID异常", HttpStatus.UNAUTHORIZED);
}
}
-
+
/**
* 获取用户账户
**/
- public static String getUsername()
- {
- try
- {
+ public static String getUsername() {
+ try {
return getLoginUser().getUsername();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
throw new ServiceException("获取用户账户异常", HttpStatus.UNAUTHORIZED);
}
}
@@ -62,14 +49,10 @@
/**
* 获取用户
**/
- public static LoginUser getLoginUser()
- {
- try
- {
+ public static LoginUser getLoginUser() {
+ try {
return (LoginUser) getAuthentication().getPrincipal();
- }
- catch (Exception e)
- {
+ } catch (Exception e) {
throw new ServiceException("获取用户信息异常", HttpStatus.UNAUTHORIZED);
}
}
@@ -77,9 +60,8 @@
/**
* 获取Authentication
*/
- public static Authentication getAuthentication()
- {
- Authentication authentication= SecurityContextHolder.getContext().getAuthentication();
+ public static Authentication getAuthentication() {
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
return authentication;
}
@@ -89,8 +71,7 @@
* @param password 密码
* @return 加密字符串
*/
- public static String encryptPassword(String password)
- {
+ public static String encryptPassword(String password) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
return passwordEncoder.encode(password);
}
@@ -98,25 +79,23 @@
/**
* 判断密码是否相同
*
- * @param rawPassword 真实密码
+ * @param rawPassword 真实密码
* @param encodedPassword 加密后字符
* @return 结果
*/
- public static boolean matchesPassword(String rawPassword, String encodedPassword)
- {
+ public static boolean matchesPassword(String rawPassword, String encodedPassword) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
return passwordEncoder.matches(rawPassword, encodedPassword);
}
/**
* 是否为管理员
- *
+ *
* @param userId 用户ID
* @return 结果
*/
- public static boolean isAdmin(String userId)
- {
- boolean k= userId != null && userId.equals("1");
+ public static boolean isAdmin(String userId) {
+ boolean k = userId != null && userId.equals("1");
return k;
}
}
--
Gitblit v1.9.3