Browse Source

提交报警记录相关的代码

lixing 3 years ago
parent
commit
dd67ce2e09
33 changed files with 728 additions and 35 deletions
  1. 1 1
      pom.xml
  2. 1 0
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/AlarmCondition.java
  3. 28 0
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/vo/AlarmConditionStrItem.java
  4. 17 12
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/service/impl/AlarmConditionServiceImpl.java
  5. 38 0
      src/main/java/com/persagy/apm/alarmservice/alarmdic/controller/AlarmDicController.java
  6. 21 0
      src/main/java/com/persagy/apm/alarmservice/alarmdic/model/dto/QueryAlarmDicDTO.java
  7. 51 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmCommnetController.java
  8. 96 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmRecordController.java
  9. 20 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/AlarmRecordConvertWorkOrderDTO.java
  10. 20 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CloseAlarmRecordDTO.java
  11. 24 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CreateAlarmCommentDTO.java
  12. 20 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/DownloadAlarmRecordDTO.java
  13. 18 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/GetAlarmRecordDTO.java
  14. 20 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/IgnoreAlarmRecordDTO.java
  15. 22 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmCommentDTO.java
  16. 38 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmRecordDTO.java
  17. 30 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmCommentListItem.java
  18. 22 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordIdsItem.java
  19. 49 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordItem.java
  20. 42 0
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordListItem.java
  21. 9 15
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/controller/MonitorIndicatorController.java
  22. 4 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/MonitorIndicator.java
  23. 3 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/AddMonitorIndicatorDTO.java
  24. 27 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorRecordInfoDTO.java
  25. 3 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/UpdateMonitorIndicatorDTO.java
  26. 3 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorItemVO.java
  27. 3 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorListItemVO.java
  28. 28 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorRecordInfoItem.java
  29. 27 0
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorReferenceItem.java
  30. 1 1
      src/main/java/com/persagy/apm/alarmservice/configuration/ElasticSearchConfig.java
  31. 2 4
      src/main/java/com/persagy/apm/alarmservice/configuration/PoemsWebConfigurer.java
  32. 39 0
      src/main/java/com/persagy/apm/common/enums/AlarmDicTypeEnum.java
  33. 1 0
      src/main/resources/bootstrap.yml

+ 1 - 1
pom.xml

@@ -11,7 +11,7 @@
 </parent>
 
 <artifactId>energy-alarm-service</artifactId>
-<version>1.0.0</version>
+<version>v1.0.0</version>
 
 <properties>
     <maven.compiler.source>8</maven.compiler.source>

+ 1 - 0
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/AlarmCondition.java

@@ -16,6 +16,7 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel(description = "报警条件")
+
 public class AlarmCondition extends AuditableEntity<AlarmCondition> implements Serializable {
     private static final long serialVersionUID = 268657175929005281L;
 

+ 28 - 0
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/vo/AlarmConditionStrItem.java

@@ -0,0 +1,28 @@
+package com.persagy.apm.alarmservice.alarmcondition.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 报警条件纯文字展示
+ *
+ * @author lixing
+ * @version V1.0 2021-09-08 22:30:38
+ */
+@Data
+@ApiModel()
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AlarmConditionStrItem {
+    @ApiModelProperty("报警规则")
+    private List<String> rules;
+    @ApiModelProperty("报警持续时长信息")
+    private String lastTimeInfo;
+    @ApiModelProperty("报警等级")
+    private SimpleObjVO alarmLevel;
+}

+ 17 - 12
src/main/java/com/persagy/apm/alarmservice/alarmcondition/service/impl/AlarmConditionServiceImpl.java

@@ -1,22 +1,27 @@
 package com.persagy.apm.alarmservice.alarmcondition.service.impl;
 
-import com.persagy.apm.common.context.AppContext;
-import com.persagy.apm.alarmservice.alarmcondition.dao.AlarmConditionMapper;
-import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.alarmservice.alarmcondition.model.*;
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.*;
-import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.base.CaseFormat;
+import com.persagy.apm.alarmservice.alarmcondition.dao.AlarmConditionMapper;
+import com.persagy.apm.alarmservice.alarmcondition.model.AlarmCondition;
+import com.persagy.apm.alarmservice.alarmcondition.model.ConvertAlarmConditionTool;
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.PageQueryAlarmConditionDTO;
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.QueryAlarmConditionDTO;
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.UpdateAlarmConditionDTO;
+import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
+import com.persagy.apm.common.constant.enums.ValidEnum;
+import com.persagy.apm.common.context.poems.PoemsContext;
 import com.persagy.apm.common.model.dto.Sort;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.List;
+
 /**
  * 报警条件(AlarmCondition) service层
  *
@@ -50,7 +55,7 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
      * @version V1.0 2021/3/12 12:29 下午
      */
     private void setDefaultValue(AlarmCondition alarmCondition) {
-        alarmCondition.setCreator(AppContext.getContext().getAccountId());
+        alarmCondition.setCreator(PoemsContext.getContext().getUserId());
         // todo 其他默认的属性
         
     }
@@ -80,7 +85,7 @@ public class AlarmConditionServiceImpl extends ServiceImpl<AlarmConditionMapper,
     public void updateAlarmCondition(UpdateAlarmConditionDTO updateAlarmConditionDTO) {
         AlarmCondition alarmCondition = getById(updateAlarmConditionDTO.getId());
         alarmCondition = ConvertAlarmConditionTool.INSTANCE.convertUpdateDto2Entity(alarmCondition, updateAlarmConditionDTO);
-        alarmCondition.setModifier(AppContext.getContext().getAccountId());
+        alarmCondition.setModifier(PoemsContext.getContext().getUserId());
         updateById(alarmCondition);
     }
     

+ 38 - 0
src/main/java/com/persagy/apm/alarmservice/alarmdic/controller/AlarmDicController.java

@@ -0,0 +1,38 @@
+package com.persagy.apm.alarmservice.alarmdic.controller;
+
+import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
+import com.persagy.apm.alarmservice.alarmdic.model.dto.QueryAlarmDicDTO;
+import com.persagy.apm.common.model.vo.EnumVO;
+import com.persagy.apm.common.response.ApmResponseUpsertVO;
+import com.persagy.apm.common.response.CommonResult;
+import com.persagy.apm.common.response.PageList;
+import com.persagy.apm.common.utils.ResultHelper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author lixing
+ * @version V1.0 2021/9/13 9:52 上午
+ **/
+@Api(tags = "报警字典")
+@Validated
+@RestController
+@RequestMapping("alarmDic")
+public class AlarmDicController {
+    @ApiOperation(value = "查询报警字典数据")
+    @PostMapping("/query")
+    public CommonResult<PageList<EnumVO>> queryAlarmDic(
+            @Valid @RequestBody QueryAlarmDicDTO queryAlarmDicDTO) {
+        List<EnumVO> resultList = new ArrayList<>();
+        return ResultHelper.multi(resultList);
+    }
+}

+ 21 - 0
src/main/java/com/persagy/apm/alarmservice/alarmdic/model/dto/QueryAlarmDicDTO.java

@@ -0,0 +1,21 @@
+package com.persagy.apm.alarmservice.alarmdic.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 查询报警字典
+ *
+ * @author lixing
+ * @version V1.0 2021/9/13 9:57 上午
+ **/
+@Data
+@ApiModel
+public class QueryAlarmDicDTO {
+    @NotBlank(message = "请输入要查询的字典类型")
+    @ApiModelProperty(value = "字典类型", required = true, notes = "com.persagy.apm.common.enums.AlarmDicTypeEnum")
+    private String type;
+}

+ 51 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmCommnetController.java

@@ -0,0 +1,51 @@
+package com.persagy.apm.alarmservice.alarmrecord.controller;
+
+import com.persagy.apm.alarmservice.alarmrecord.model.dto.CreateAlarmCommentDTO;
+import com.persagy.apm.alarmservice.alarmrecord.model.dto.PageQueryAlarmCommentDTO;
+import com.persagy.apm.alarmservice.alarmrecord.model.dto.PageQueryAlarmRecordDTO;
+import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmCommentListItem;
+import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
+import com.persagy.apm.common.response.ApmResponseUpsertVO;
+import com.persagy.apm.common.response.CommonResult;
+import com.persagy.apm.common.response.PageList;
+import com.persagy.apm.common.utils.ResultHelper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 报警批注控制层
+ * @author lixing
+ * @version V1.0 2021-09-08 22:30:38
+ */
+@Api(tags = "报警批注") 
+@Validated
+@RestController
+@RequestMapping("alarm_comments")
+public class AlarmCommnetController {
+
+	@ApiOperation(value = "报警批注列表")
+	@PostMapping("/query")
+	public CommonResult<PageList<AlarmCommentListItem>> queryCurrentAlarmRecord(
+	        @Valid @RequestBody PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO) {
+        List<AlarmCommentListItem> resultList = new ArrayList<>();
+        return ResultHelper.multi(resultList);
+	}
+
+    @ApiOperation(value = "创建报警批注")
+    @PostMapping("/create")
+    public CommonResult<ApmResponseUpsertVO> createAlarmComment(
+            @Valid @RequestBody CreateAlarmCommentDTO createAlarmCommentDTO) {
+        String id = "";
+        return ResultHelper.single(new ApmResponseUpsertVO(id));
+    }
+}
+

+ 96 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmRecordController.java

@@ -0,0 +1,96 @@
+package com.persagy.apm.alarmservice.alarmrecord.controller;
+
+import com.persagy.apm.alarmservice.alarmrecord.model.dto.*;
+import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordIdsItem;
+import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordItem;
+import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
+import com.persagy.apm.common.response.CommonResult;
+import com.persagy.apm.common.response.PageList;
+import com.persagy.apm.common.utils.ResultHelper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 报警记录控制层
+ * @author lixing
+ * @version V1.0 2021-09-08 22:30:38
+ */
+@Api(tags = "报警记录") 
+@Validated
+@RestController
+@RequestMapping("alarm_records")
+public class AlarmRecordController {
+
+	@ApiOperation(value = "当前报警列表")
+	@PostMapping("/current_list")
+	public CommonResult<PageList<AlarmRecordListItem>> queryCurrentAlarmRecord(
+	        @Valid @RequestBody PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO) {
+        List<AlarmRecordListItem> resultList = new ArrayList<>();
+        return ResultHelper.multi(resultList);
+	}
+
+    @ApiOperation(value = "历史报警列表")
+    @PostMapping("/history_list")
+    public CommonResult<PageList<AlarmRecordListItem>> queryHistoryAlarmRecord(
+            @Valid @RequestBody PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO) {
+        List<AlarmRecordListItem> resultList = new ArrayList<>();
+        return ResultHelper.multi(resultList);
+    }
+
+    @ApiOperation(value = "已忽略报警列表")
+    @PostMapping("/ignored_list")
+    public CommonResult<PageList<AlarmRecordListItem>> queryIgnoredAlarmRecord(
+            @Valid @RequestBody PageQueryAlarmRecordDTO pageQueryAlarmRecordDTO) {
+        List<AlarmRecordListItem> resultList = new ArrayList<>();
+        return ResultHelper.multi(resultList);
+    }
+
+    @ApiOperation(value = "关闭报警")
+    @PostMapping("/close")
+    public CommonResult<AlarmRecordIdsItem> closeAlarmRecord(
+            @Valid @RequestBody CloseAlarmRecordDTO closeAlarmRecordDTO) {
+        AlarmRecordIdsItem alarmRecordIdsItem = new AlarmRecordIdsItem();
+        return ResultHelper.single(alarmRecordIdsItem);
+    }
+
+    @ApiOperation(value = "转工单")
+    @PostMapping("/convert_work_order")
+    public CommonResult<AlarmRecordIdsItem> alarmRecordConvertWorkOrder(
+            @Valid @RequestBody AlarmRecordConvertWorkOrderDTO alarmRecordConvertWorkOrderDTO) {
+        AlarmRecordIdsItem alarmRecordIdsItem = new AlarmRecordIdsItem();
+        return ResultHelper.single(alarmRecordIdsItem);
+    }
+
+    @ApiOperation(value = "忽略")
+    @PostMapping("/ignore")
+    public CommonResult<AlarmRecordIdsItem> ignoreAlarmRecord(
+            @Valid @RequestBody IgnoreAlarmRecordDTO ignoreAlarmRecordDTO) {
+        AlarmRecordIdsItem alarmRecordIdsItem = new AlarmRecordIdsItem();
+        return ResultHelper.single(alarmRecordIdsItem);
+    }
+
+    @ApiOperation(value = "报警详情")
+    @PostMapping("/get")
+    public CommonResult<AlarmRecordItem> getAlarmRecord(
+            @Valid @RequestBody GetAlarmRecordDTO getAlarmRecordDTO) {
+        AlarmRecordItem alarmRecordItem = new AlarmRecordItem();
+        return ResultHelper.single(alarmRecordItem);
+    }
+
+    @ApiOperation(value = "下载")
+    @PostMapping("/download")
+    public CommonResult downloadAlarmRecord(
+            @Valid @RequestBody DownloadAlarmRecordDTO downloadAlarmRecordDTO) {
+        return ResultHelper.success();
+    }
+}
+

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/AlarmRecordConvertWorkOrderDTO.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 报警记录转工单DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class AlarmRecordConvertWorkOrderDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private List<String> ids;
+}

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CloseAlarmRecordDTO.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 关闭报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class CloseAlarmRecordDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private List<String> ids;
+}

+ 24 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CreateAlarmCommentDTO.java

@@ -0,0 +1,24 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 创建报警批注DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class CreateAlarmCommentDTO {
+    @NotBlank(message = "请输入报警记录的id")
+    @ApiModelProperty(value = "报警记录id")
+    private String alarmRecordId;
+    @NotBlank(message = "请输入批注内容")
+    @ApiModelProperty(value = "内容")
+    private String content;
+}

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/DownloadAlarmRecordDTO.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 下载报警DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class DownloadAlarmRecordDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private List<String> ids;
+}

+ 18 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/GetAlarmRecordDTO.java

@@ -0,0 +1,18 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 报警详情DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class GetAlarmRecordDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private String id;
+}

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/IgnoreAlarmRecordDTO.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 忽略报警DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class IgnoreAlarmRecordDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private List<String> ids;
+}

+ 22 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmCommentDTO.java

@@ -0,0 +1,22 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import com.persagy.apm.common.model.dto.PageDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 查询报警批注DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class PageQueryAlarmCommentDTO extends PageDTO {
+    @ApiModelProperty(value = "报警记录id")
+    private String alarmRecordId;
+}

+ 38 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmRecordDTO.java

@@ -0,0 +1,38 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+
+import com.persagy.apm.common.model.dto.PageDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 查询报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+public class PageQueryAlarmRecordDTO extends PageDTO {
+    @ApiModelProperty(value = "报警开始时间")
+    private Date triggerStartTime;
+    @ApiModelProperty(value = "报警结束时间")
+    private Date triggerEndTime;
+    @ApiModelProperty(value = "分组id")
+    private List<String> groupId;
+    @ApiModelProperty(value = "报警类型编码")
+    private List<String> alarmItemCode;
+    @ApiModelProperty(value = "报警状态")
+    private List<String> alarmState;
+    @ApiModelProperty(value = "报警对象名称(模糊查询)")
+    private String objName;
+    @ApiModelProperty(value = "报警等级")
+    private List<String> alarmLevel;
+    @ApiModelProperty(value = "报警处理状态")
+    private List<String> alarmTreatState;
+    @ApiModelProperty(value = "报警处理方式")
+    private List<String> alarmTreatMode;
+}

+ 30 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmCommentListItem.java

@@ -0,0 +1,30 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 查询报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AlarmCommentListItem {
+    @ApiModelProperty(value = "id")
+    private String id;
+    @ApiModelProperty(value = "内容")
+    private String content;
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+    @ApiModelProperty(value = "创建人")
+    private SimpleObjVO creator;
+
+}

+ 22 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordIdsItem.java

@@ -0,0 +1,22 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 查询报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AlarmRecordIdsItem {
+    @ApiModelProperty(value = "报警记录id")
+    private List<String> ids;
+}

+ 49 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordItem.java

@@ -0,0 +1,49 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionStrItem;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 查询报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AlarmRecordItem {
+    @ApiModelProperty(value = "id")
+    private String id;
+    @ApiModelProperty(value = "分组")
+    private SimpleObjVO group;
+    @ApiModelProperty(value = "设备")
+    private SimpleObjVO obj;
+    @ApiModelProperty(value = "报警类型")
+    private SimpleObjVO alarmItem;
+    @ApiModelProperty(value = "报警触发时间")
+    private Date triggerTime;
+    @ApiModelProperty(value = "报警结束时间")
+    private Date endTime;
+    @ApiModelProperty(value = "报警持续时长")
+    private String duration;
+    @ApiModelProperty(value = "报警等级")
+    private SimpleObjVO alarmLevel;
+    @ApiModelProperty(value = "报警状态")
+    private SimpleObjVO alarmState;
+    @ApiModelProperty(value = "报警处理状态")
+    private SimpleObjVO alarmTreatState;
+    @ApiModelProperty(value = "报警处理方式")
+    private SimpleObjVO alarmTreatMode;
+    @ApiModelProperty(value = "报警条件")
+    private AlarmConditionStrItem alarmCondition;
+    @ApiModelProperty(value = "近30天报警触发次数")
+    private Integer alarmCountInMonth;
+}

+ 42 - 0
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordListItem.java

@@ -0,0 +1,42 @@
+package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 查询报警记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021/9/11 2:31 下午
+ **/
+@Data
+@ApiModel
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AlarmRecordListItem {
+    @ApiModelProperty(value = "id")
+    private String id;
+    @ApiModelProperty(value = "分组")
+    private SimpleObjVO group;
+    @ApiModelProperty(value = "设备")
+    private SimpleObjVO obj;
+    @ApiModelProperty(value = "报警类型")
+    private SimpleObjVO alarmItem;
+    @ApiModelProperty(value = "报警触发时间")
+    private Date triggerTime;
+    @ApiModelProperty(value = "报警持续时长")
+    private String duration;
+    @ApiModelProperty(value = "报警等级")
+    private SimpleObjVO alarmLevel;
+    @ApiModelProperty(value = "报警状态")
+    private SimpleObjVO alarmState;
+    @ApiModelProperty(value = "报警处理状态")
+    private SimpleObjVO alarmTreatState;
+    @ApiModelProperty(value = "报警处理方式")
+    private SimpleObjVO alarmTreatMode;
+}

+ 9 - 15
src/main/java/com/persagy/apm/alarmservice/monitorindicator/controller/MonitorIndicatorController.java

@@ -14,6 +14,7 @@ import com.persagy.apm.common.utils.ResultHelper;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -73,20 +74,13 @@ public class MonitorIndicatorController {
         List<MonitorIndicatorListItemVO> resultList = ConvertMonitorIndicatorTool.INSTANCE.convert2List(monitorIndicatorList);
         return ResultHelper.multi(resultList);
     }
-    
-    //@ApiOperation(value = "监测指标列表, 分页查询")
-    //@PostMapping("/query")
-    //public CommonResult<PageList<MonitorIndicatorListItemVO>> queryMonitorIndicator(
-    //        @Valid @RequestBody PageQueryMonitorIndicatorDTO pageQueryMonitorIndicatorDTO) {
-    //    IPage<MonitorIndicator> pagedList = monitorIndicatorService.pageQueryMonitorIndicator(pageQueryMonitorIndicatorDTO);
-    //    IPage<MonitorIndicatorListItemVO> pagedResultList = pagedList.convert(item -> {
-    //        try {
-    //           return ConvertMonitorIndicatorTool.INSTANCE.convert2ResponseListItemDTO(item);
-    //        } catch (Exception e) {
-    //            throw new IllegalArgumentException("分页查询,MonitorIndicator实体类转换为列表对象发生异常", e);
-    //        }
-    //    });
-    //    return ResultHelper.multi(pagedResultList);
-    //}
+
+    @ApiOperation(value = "监测指标数据信息")
+    @PostMapping("/record_info")
+    public CommonResult<PageList<MonitorIndicatorRecordInfoItem>> monitorIndicatorRecordInfo(
+            @Valid @RequestBody QueryMonitorIndicatorRecordInfoDTO queryMonitorIndicatorRecordInfoDTO) {
+        List<MonitorIndicatorRecordInfoItem> list = new ArrayList<>();
+        return ResultHelper.multi(list);
+    }
 }
 

+ 4 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/MonitorIndicator.java

@@ -24,9 +24,12 @@ public class MonitorIndicator extends AuditableEntity<MonitorIndicator> implemen
     
     @ApiModelProperty("设备类")
     private String classCode;
-    
+
+    @ApiModelProperty("单位")
+    private String unit;
 
     public static String PROP_NAME = "name";
     public static String PROP_CLASS_CODE = "class_code";
+    public static String PROP_CLASS_UNIT = "unit";
 
 }

+ 3 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/AddMonitorIndicatorDTO.java

@@ -20,5 +20,8 @@ public class AddMonitorIndicatorDTO {
     @ApiModelProperty(value = "设备类", required = true)
     @NotNull(message = "设备类不能为空") // todo 更新校验规则
     private String classCode;
+
+    @ApiModelProperty("单位")
+    private String unit;
     
 }

+ 27 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorRecordInfoDTO.java

@@ -0,0 +1,27 @@
+package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * 查询监测指标数据记录DTO
+ *
+ * @author lixing
+ * @version V1.0 2021-09-08 22:44:37
+ */
+@Data
+@ApiModel()
+public class QueryMonitorIndicatorRecordInfoDTO {
+    @ApiModelProperty(value = "报警记录id", required = true)
+    private String alarmRecordId;
+    
+    @ApiModelProperty(value = "开始时间", required = true)
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间", required = true)
+    private Date endTime;
+}

+ 3 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/UpdateMonitorIndicatorDTO.java

@@ -24,5 +24,7 @@ public class UpdateMonitorIndicatorDTO {
     @ApiModelProperty(value = "设备类", required = true)
     @NotNull(message = "设备类不能为空") // todo 更新校验规则
     private String classCode;
-    
+
+    @ApiModelProperty("单位")
+    private String unit;
 }

+ 3 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorItemVO.java

@@ -22,6 +22,9 @@ public class MonitorIndicatorItemVO {
     
     @ApiModelProperty("设备类")
     private String classCode;
+
+    @ApiModelProperty("单位")
+    private String unit;
     
     @ApiModelProperty("创建人")
     private String creator;

+ 3 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorListItemVO.java

@@ -22,6 +22,9 @@ public class MonitorIndicatorListItemVO {
     
     @ApiModelProperty("设备类")
     private String classCode;
+
+    @ApiModelProperty("单位")
+    private String unit;
     
     @ApiModelProperty("创建人")
     private String creator;

+ 28 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorRecordInfoItem.java

@@ -0,0 +1,28 @@
+package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.common.model.vo.GraphItemVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 监测指标数据记录
+ *
+ * @author lixing
+ * @version V1.0 2021-09-08 22:44:38
+ */
+@Data
+@ApiModel()
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MonitorIndicatorRecordInfoItem {
+    @ApiModelProperty(value = "监测指标名称")
+    private String monitorIndicatorName;
+    @ApiModelProperty(value = "监测指标数据记录")
+    private List<GraphItemVO> value;
+    @ApiModelProperty(value = "监测指标参照值")
+    private List<MonitorIndicatorReferenceItem> reference;
+}

+ 27 - 0
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorReferenceItem.java

@@ -0,0 +1,27 @@
+package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.common.model.vo.GraphItemVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 监测指标参照值
+ *
+ * @author lixing
+ * @version V1.0 2021-09-08 22:44:38
+ */
+@Data
+@ApiModel()
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MonitorIndicatorReferenceItem {
+    @ApiModelProperty(value = "参照值")
+    private List<GraphItemVO> value;
+    @ApiModelProperty(value = "操作符")
+    private String operator;
+    @ApiModelProperty(value = "单位")
+    private String unit;
+}

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/configuration/ElasticSearchConfig.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.configuration;
+package com.persagy.apm.common.configuration;
 
 import org.apache.http.HttpHost;
 import org.elasticsearch.client.RestClient;

+ 2 - 4
src/main/java/com/persagy/apm/alarmservice/configuration/PoemsWebConfigurer.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.configuration;
+package com.persagy.apm.common.configuration;
 
 import com.persagy.apm.common.handler.PoemsContextFilter;
 import com.persagy.apm.common.handler.PoemsContextHandler;
@@ -20,7 +20,6 @@ import javax.servlet.Filter;
  * @version V1.0 2021/5/19 7:42 下午
  */
 @Configuration
-//@Order(1)
 public class PoemsWebConfigurer implements WebMvcConfigurer {
 
     @Bean
@@ -29,7 +28,6 @@ public class PoemsWebConfigurer implements WebMvcConfigurer {
     }
 
     @Bean
-    @Order(1)
     public Filter poemsContextFilter() {
         return new PoemsContextFilter();
     }
@@ -37,7 +35,7 @@ public class PoemsWebConfigurer implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         // 设置拦截的路径、不拦截的路径、优先级等等
-        registry.addInterceptor(dynamicDataSourceHandler()).order(10).addPathPatterns("/**");
+        registry.addInterceptor(dynamicDataSourceHandler()).addPathPatterns("/**");
     }
 
     @Override

+ 39 - 0
src/main/java/com/persagy/apm/common/enums/AlarmDicTypeEnum.java

@@ -0,0 +1,39 @@
+package com.persagy.apm.common.enums;
+
+import com.persagy.apm.common.model.annotation.SwaggerDisplayEnum;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 报警字典类型
+ *
+ * @author lixing
+ * @version V1.0 2021/9/13 10:01 上午
+ **/
+@SwaggerDisplayEnum
+public enum AlarmDicTypeEnum {
+    /**
+     * 字典类型
+     */
+    ALARM_CATEGORY("alarm_category", "报警类型"),
+    ALARM_LEVEL("alarm_level", "报警等级"),
+    ALARM_NATURE("alarm_nature", "报警性质"),
+    ALARM_STATE("alarm_state", "报警状态"),
+    ALARM_TREAT_MODE("alarm_treat_mode", "报警处理方式"),
+    ALARM_TREAT_STATE("alarm_treat_state", "报警处理状态");
+
+
+    @Setter
+    @Getter
+    private String type;
+    @Setter
+    @Getter
+    private String desc;
+
+    AlarmDicTypeEnum(String type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+}
+
+

+ 1 - 0
src/main/resources/bootstrap.yml

@@ -19,6 +19,7 @@ spring:
           separator: ";"
           schema: classpath*:db/init/table.sql
 #          data: classpath*:db/init/data.sql
+
   data:
     elasticsearch:
       repositories: