|
@@ -3,12 +3,14 @@ package org.thingsboard.server.controller.nanxi;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
@@ -71,7 +73,8 @@ public class YunTiController {
|
|
|
private MinioUtils minioUtils;
|
|
|
@Autowired
|
|
|
private ICommonService commonService;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private INxMonitorSiteConfigService nxMonitorSiteConfigService;
|
|
|
|
|
|
@Autowired
|
|
|
private INxMonitorSiteService monitorSiteService;
|
|
@@ -141,47 +144,67 @@ public class YunTiController {
|
|
|
monitorWarnData.setMonitorIndex(liftWarningDataDto.getRegisterCode() + "." + liftWarningDataDto.getAlarmType());
|
|
|
monitorWarnData.setCauseExplan(liftWarningDataDto.getYtStatus());
|
|
|
monitorWarnData.setWarnContent(AlarmType.getAlarmTypeText(liftWarningDataDto.getAlarmType()));
|
|
|
- monitorWarnData.setWarnLevel("52131b69-080a-40c7-803d-06cd31621a2b");
|
|
|
+ List<NxMonitorSiteConfig> configs = nxMonitorSiteConfigService.list(Wrappers.<NxMonitorSiteConfig>query().lambda()
|
|
|
+ .eq(NxMonitorSiteConfig::getIsDeleted, "0")
|
|
|
+ .eq(NxMonitorSiteConfig::getParamName, monitorWarnData.getMonitorIndex())
|
|
|
+ .eq(NxMonitorSiteConfig::getState, "1")
|
|
|
+ );
|
|
|
+ NxMonitorSiteConfig nxMonitorSiteConfig = new NxMonitorSiteConfig();
|
|
|
+ if(!CollectionUtils.isEmpty(configs)){
|
|
|
+ nxMonitorSiteConfig = configs.get(0);
|
|
|
+ monitorWarnData.setWarnLevel(nxMonitorSiteConfig.getThresholdLevel());
|
|
|
+ }else{
|
|
|
+ monitorWarnData.setWarnLevel("52131b69-080a-40c7-803d-06cd31621a2b");
|
|
|
+ }
|
|
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
if(nxMonitorWarnDataService.save(monitorWarnData)){
|
|
|
try {
|
|
|
registerWarnOriginal.setWarnId(monitorWarnData.getId());
|
|
|
registerWarnOriginalService.updateById(registerWarnOriginal);
|
|
|
- SysNoticeDTO sysNoticeDTO = new SysNoticeDTO();
|
|
|
- sysNoticeDTO.setType(SysNoticeTypeEnum.NOTICE);
|
|
|
- sysNoticeDTO.setTitle("电梯报警");
|
|
|
- String deviceW = "";
|
|
|
- String alarmTimeStr = "";
|
|
|
- String alarmEndTimeStr = "";
|
|
|
- List<NxDeviceW> list = deviceWService.list(new LambdaQueryWrapper<NxDeviceW>().eq(NxDeviceW::getNo, liftWarningDataDto.getRegisterCode()));
|
|
|
- if(!CollectionUtils.isEmpty(list)){
|
|
|
- deviceW = list.get(0).getDeviceName();
|
|
|
- }
|
|
|
- if(liftWarningDataDto.getAlarmTime() != null){
|
|
|
- alarmTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(liftWarningDataDto.getAlarmTime()));
|
|
|
- }
|
|
|
- String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(liftWarningDataDto.getAlarmEndTime()));
|
|
|
- if(liftWarningDataDto.getAlarmEndTime() != null && !"1970-01-01 08:00:00".equals(format)){
|
|
|
- alarmEndTimeStr += ",于";
|
|
|
- alarmEndTimeStr += format;
|
|
|
- alarmEndTimeStr += "结束";
|
|
|
- }
|
|
|
- sysNoticeDTO.setContent("电梯监测设备:" + deviceW + "于" + alarmTimeStr + "发生" + AlarmType.getAlarmTypeText(liftWarningDataDto.getAlarmType()) + alarmEndTimeStr + "(" + AlarmStatus.getAlarmStatusText(liftWarningDataDto.getAlarmStatus()) + ")");
|
|
|
- sysNoticeDTO.setReceiverType(FastIotConstants.ReceiverType.ALL);
|
|
|
-
|
|
|
- sysNoticeDTO.setPointId(null);
|
|
|
- sysNoticeDTO.setStatus(FastIotConstants.DraftStatus.PUBLISHED);
|
|
|
- sysNoticeDTO.setSenderName("超级管理员");
|
|
|
- sysNoticeDTO.setSenderDate(NxDateUtils.dateToLocalDateTime(new Date(liftWarningDataDto.getAlarmTime())));
|
|
|
- if(liftWarningDataDto.getAlarmStatus() == AlarmStatus.ALARM_ING.getCode()){
|
|
|
- sysNoticeDTO.setBusinessId(monitorWarnData.getId());
|
|
|
+ if(!StringUtils.isEmpty(nxMonitorSiteConfig.getSendRoles())){
|
|
|
+ SysNoticeDTO sysNoticeDTO = new SysNoticeDTO();
|
|
|
+ sysNoticeDTO.setType(SysNoticeTypeEnum.NOTICE);
|
|
|
+
|
|
|
+ String deviceW = "";
|
|
|
+ String alarmTimeStr = "";
|
|
|
+ String alarmEndTimeStr = "";
|
|
|
+ List<NxDeviceW> list = deviceWService.list(new LambdaQueryWrapper<NxDeviceW>().eq(NxDeviceW::getNo, liftWarningDataDto.getRegisterCode()));
|
|
|
+ if(!CollectionUtils.isEmpty(list)){
|
|
|
+ deviceW = list.get(0).getDeviceName();
|
|
|
+ }
|
|
|
+ if(liftWarningDataDto.getAlarmTime() != null){
|
|
|
+ alarmTimeStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(liftWarningDataDto.getAlarmTime()));
|
|
|
+ }
|
|
|
+ String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(liftWarningDataDto.getAlarmEndTime()));
|
|
|
+ if(liftWarningDataDto.getAlarmEndTime() != null && !"1970-01-01 08:00:00".equals(format)){
|
|
|
+ alarmEndTimeStr += ",于";
|
|
|
+ alarmEndTimeStr += format;
|
|
|
+ alarmEndTimeStr += "结束";
|
|
|
+ }
|
|
|
+ sysNoticeDTO.setContent("电梯监测设备:" + deviceW + "于" + alarmTimeStr + "发生" + AlarmType.getAlarmTypeText(liftWarningDataDto.getAlarmType()) + alarmEndTimeStr + "(" + AlarmStatus.getAlarmStatusText(liftWarningDataDto.getAlarmStatus()) + ")");
|
|
|
+ sysNoticeDTO.setStatus(FastIotConstants.DraftStatus.PUBLISHED);
|
|
|
+ sysNoticeDTO.setSenderDate(NxDateUtils.dateToLocalDateTime(new Date(liftWarningDataDto.getAlarmTime())));
|
|
|
+ if(liftWarningDataDto.getAlarmStatus() == AlarmStatus.ALARM_ING.getCode()){
|
|
|
+ sysNoticeDTO.setBusinessId(monitorWarnData.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ sysNoticeDTO.setTitle(nxMonitorSiteConfig.getMgsTitle());
|
|
|
+
|
|
|
+ sysNoticeDTO.setReceiverType(FastIotConstants.ReceiverType.PERSONAL);
|
|
|
+ sysNoticeDTO.setPointId(nxMonitorSiteConfig.getSendRoles());
|
|
|
+ sysNoticeDTO.setSenderName(UserTicketUtil.getCurrentUser().getName());
|
|
|
+ sysNoticeService.send(
|
|
|
+ sysNoticeDTO,
|
|
|
+ UserTicketUtil.getCurrentUser().getCurrentTenantId(),
|
|
|
+ UserTicketUtil.getCurrentUser().getCurrentUserId()
|
|
|
+ );
|
|
|
}
|
|
|
- sysNoticeService.send(
|
|
|
+
|
|
|
sysNoticeDTO,
|
|
|
"13814000-1dd2-11b2-8080-808080808080",
|
|
|
"80808080-8080-8080-8080-808080808080"
|
|
|
- );
|
|
|
+ );*/
|
|
|
}catch (RuntimeException e){
|
|
|
log.error("电梯报警推送消息失败:{}", e.getMessage());
|
|
|
}
|