浏览代码

bug修改

Lifan 1 年之前
父节点
当前提交
80eb9e36c4
共有 1 个文件被更改,包括 55 次插入32 次删除
  1. 55 32
      application/src/main/java/org/thingsboard/server/controller/nanxi/YunTiController.java

+ 55 - 32
application/src/main/java/org/thingsboard/server/controller/nanxi/YunTiController.java

@@ -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);
-                // TODO
-                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);
+//                    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.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.setContent(nxMonitorSiteConfig.getMgsContent());
+                    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(
+                /*sysNoticeService.send(
                         sysNoticeDTO,
                         "13814000-1dd2-11b2-8080-808080808080",
                         "80808080-8080-8080-8080-808080808080"
-                );
+                );*/
             }catch (RuntimeException e){
                 log.error("电梯报警推送消息失败:{}", e.getMessage());
             }