Commit 092fd478 by 李小龙

fix:

parent a20399eb
...@@ -155,11 +155,11 @@ public class BehaviorAlarm implements IAlarm { ...@@ -155,11 +155,11 @@ public class BehaviorAlarm implements IAlarm {
log.error("未关联长者,设备id:"+platDevice.getId()); log.error("未关联长者,设备id:"+platDevice.getId());
return; return;
} }
PlatRoom platRoom = platAlarmCheckDTO.getPlatRoom();
List<PlatElder> platElderList = platAlarmCheckDTO.getPlatElderList(); List<PlatElder> platElderList = platAlarmCheckDTO.getPlatElderList();
if(CollectionUtils.isNotEmpty(platElderList)){ if(CollectionUtils.isNotEmpty(platElderList)){
platAlarmRecordService.getElderListByDeviceId(platAlarmCheckDTO); platAlarmRecordService.getElderListByDeviceId(platAlarmCheckDTO);
platElderList = platAlarmCheckDTO.getPlatElderList();
} }
for (PlatElder platElder : platElderList) { for (PlatElder platElder : platElderList) {
PlatDayDurationRecord durationRecord = new PlatDayDurationRecord(); PlatDayDurationRecord durationRecord = new PlatDayDurationRecord();
......
...@@ -269,7 +269,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -269,7 +269,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
} else { } else {
String notifyUser = alarmConfig.getNotifyUser(); String notifyUser = alarmConfig.getNotifyUser();
if(StringUtils.isBlank(notifyUser)){ if(StringUtils.isBlank(notifyUser)){
throw new BusinessException("告警内部人员未配置,告警配置id:"+alarmConfig.getId()); log.error("告警内部人员未配置,告警配置id:"+alarmConfig.getId());
return;
} }
String[] userArray = notifyUser.split(","); String[] userArray = notifyUser.split(",");
List<PlatUser> platUsers = platUserService.listByIds(Arrays.asList(userArray)); List<PlatUser> platUsers = platUserService.listByIds(Arrays.asList(userArray));
...@@ -277,7 +278,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -277,7 +278,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
} }
platUserList.removeIf(Objects::isNull); platUserList.removeIf(Objects::isNull);
if (CollectionUtils.isEmpty(platUserList)) { if (CollectionUtils.isEmpty(platUserList)) {
throw new BusinessException("通知工作人员时,找不到人员数据;" + "orgId:" + alarmConfig.getOrgId() + ",tenantId:" + alarmConfig.getTenantId() + "alarmConfigId:" + alarmConfig.getId()); log.error("通知工作人员时,找不到人员数据;" + "orgId:" + alarmConfig.getOrgId() + ",tenantId:" + alarmConfig.getTenantId() + "alarmConfigId:" + alarmConfig.getId());
return;
} }
List<SendTypeEnum> notifyChannelList = Arrays.asList(SendTypeEnum.SMS, SendTypeEnum.VOICE_SMS, SendTypeEnum.MAIL); List<SendTypeEnum> notifyChannelList = Arrays.asList(SendTypeEnum.SMS, SendTypeEnum.VOICE_SMS, SendTypeEnum.MAIL);
Set<String> phoneSet = platUserList.stream().map(PlatUser::getMobile).collect(Collectors.toSet()); Set<String> phoneSet = platUserList.stream().map(PlatUser::getMobile).collect(Collectors.toSet());
...@@ -364,7 +366,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe ...@@ -364,7 +366,8 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
//todo 要支持 设备绑定多个空间 //todo 要支持 设备绑定多个空间
List<PlatRoomBedDevice> platRoomBedDeviceList = platRoomBedDeviceService.list(roomBedDeviceLambdaQueryWrapper); List<PlatRoomBedDevice> platRoomBedDeviceList = platRoomBedDeviceService.list(roomBedDeviceLambdaQueryWrapper);
if(CollectionUtils.isNotEmpty(platRoomBedDeviceList)){ if(CollectionUtils.isNotEmpty(platRoomBedDeviceList)){
throw new BusinessException("设备没绑定房间:"+platDevice.getId()); log.error("设备没绑定房间:"+platDevice.getId());
return;
} }
platRoomBedDeviceList.forEach(platRoomBedDevice -> { platRoomBedDeviceList.forEach(platRoomBedDevice -> {
......
...@@ -83,44 +83,48 @@ public class PushCallback implements MqttCallback { ...@@ -83,44 +83,48 @@ public class PushCallback implements MqttCallback {
HeaderInfo headers = device.getHeaders(); HeaderInfo headers = device.getHeaders();
List<HeaderInfo.Bind> bindings = headers.getBindings(); List<HeaderInfo.Bind> bindings = headers.getBindings();
for (HeaderInfo.Bind binding : bindings) { for (HeaderInfo.Bind binding : bindings) {
String iot_tenantId = binding.getId(); try {
StopWatch stopWatch = new StopWatch(); String iot_tenantId = binding.getId();
stopWatch.start("checkAlarm-1"); StopWatch stopWatch = new StopWatch();
String deviceId = device.getDeviceId(); stopWatch.start("checkAlarm-1");
String deviceId = device.getDeviceId();
JSONObject properties = device.getProperties();
JSONObject properties = device.getProperties();
//iot设备id
PlatDevice platDevice = deviceCacheUtil.get(deviceId+":"+iot_tenantId); //iot设备id
if(platDevice==null){ PlatDevice platDevice = deviceCacheUtil.get(deviceId + ":" + iot_tenantId);
logger.error("获取设备信息异常,设备iot-id:"+deviceId); if (platDevice == null) {
return; logger.error("获取设备信息异常,设备iot-id:" + deviceId);
} return;
List<PlatAlarmConfig> deviceAlarmConfigList = alarmConfigCacheUtil.getDeviceAlarmConfigMap(platDevice); }
deviceAlarmConfigList.removeIf(Objects::isNull); List<PlatAlarmConfig> deviceAlarmConfigList = alarmConfigCacheUtil.getDeviceAlarmConfigMap(platDevice);
if (CollectionUtils.isEmpty(deviceAlarmConfigList)) { deviceAlarmConfigList.removeIf(Objects::isNull);
logger.error("该设备没有告警配置,设备iot-id:"+deviceId); if (CollectionUtils.isEmpty(deviceAlarmConfigList)) {
return; logger.error("该设备没有告警配置,设备iot-id:" + deviceId);
} return;
for (PlatAlarmConfig config : deviceAlarmConfigList) { }
String alarmType = config.getAlarmType(); for (PlatAlarmConfig config : deviceAlarmConfigList) {
String alarmType = config.getAlarmType();
PlatAlarmCheckDTO platAlarmCheckDTO = new PlatAlarmCheckDTO();
//告警配置 PlatAlarmCheckDTO platAlarmCheckDTO = new PlatAlarmCheckDTO();
platAlarmCheckDTO.setPlatAlarmConfig(config); //告警配置
//设备信息 platAlarmCheckDTO.setPlatAlarmConfig(config);
platAlarmCheckDTO.setPlatDevice(platDevice); //设备信息
//iot上报数据 platAlarmCheckDTO.setPlatDevice(platDevice);
platAlarmCheckDTO.setProperties(properties); //iot上报数据
platAlarmCheckDTO.setProperties(properties);
for (IAlarm alarm : alarmList) {
if (alarm.support(alarmType)) { for (IAlarm alarm : alarmList) {
alarm.checkConfig(platAlarmCheckDTO); if (alarm.support(alarmType)) {
alarm.checkConfig(platAlarmCheckDTO);
}
} }
} }
stopWatch.stop();
logger.info(stopWatch.prettyPrint());
}catch (Exception e){
logger.error("告警异常pushCallback:",e);
} }
stopWatch.stop();
logger.info(stopWatch.prettyPrint());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment