Forráskód Böngészése

报警条件入参中添加报警规则

lixing 3 éve
szülő
commit
8c1044cf52
33 módosított fájl, 210 hozzáadás és 100 törlés
  1. 2 1
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/aspect/AlarmClientAspect.java
  2. 2 18
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/AlarmUrlParam.java
  3. 4 3
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/client/AlarmClient.java
  4. 2 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/client/DicClient.java
  5. 0 4
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/fallback/DicClientFallbackFactory.java
  6. 6 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/AlarmCondition.java
  7. 4 7
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmcomment/AddAlarmCommentDTO.java
  8. 4 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmcomment/QueryAlarmCommentDTO.java
  9. 4 6
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/AddAlarmConfigDTO.java
  10. 4 3
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchAddAlarmConfigDTO.java
  11. 4 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchDeleteAlarmConfigDTO.java
  12. 4 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchUpdateAlarmConfigDTO.java
  13. 4 3
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/DeleteAlarmConfigDTO.java
  14. 4 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/QueryAlarmConfigDTO.java
  15. 4 6
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/UpdateAlarmConfigDTO.java
  16. 8 8
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmitem/QueryAlarmItemDTO.java
  17. 4 3
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/AddAlarmRecordDTO.java
  18. 4 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/BatchUpdateAlarmRecordDTO.java
  19. 19 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/QueryAlarmRecordDTO.java
  20. 4 6
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/UpdateAlarmRecordDTO.java
  21. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/OrderDTO.java
  22. 7 2
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/QueryDTO.java
  23. 53 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/UrlParamDTO.java
  24. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmCommentItem.java
  25. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmConfigItem.java
  26. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmItem.java
  27. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmRecordItem.java
  28. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/DmpBatchUpsertVO.java
  29. 2 0
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/DmpUpsertVO.java
  30. 0 1
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/service/AlarmConfigServiceImpl.java
  31. 39 14
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/service/AlarmRecordServiceImpl.java
  32. 5 1
      AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/utils/DmpResultUtil.java
  33. 1 0
      AlarmEngineStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmengine/service/NettyAlarmService.java

+ 2 - 1
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/aspect/AlarmClientAspect.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.aspect;
 
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
@@ -36,7 +37,7 @@ public class AlarmClientAspect {
             return;
         }
         for (Object arg : args) {
-            if (!(arg instanceof AlarmUrlParam)) {
+            if (!(arg instanceof UrlParamDTO)) {
                 continue;
             }
             // 如果未传某些参数,设置为默认值

+ 2 - 18
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/AlarmUrlParam.java

@@ -1,10 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.feign;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import lombok.*;
 
 import java.io.Serializable;
 
@@ -15,13 +12,12 @@ import java.io.Serializable;
  * @since: 2020/10/28 11:50
  * @version: V1.0
  **/
-@Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
 public class AlarmUrlParam implements Serializable {
-
     /**
      * 用户id
      */
@@ -41,16 +37,4 @@ public class AlarmUrlParam implements Serializable {
      * 应用id
      */
     private String appId;
-
-    /**
-     * 获取应该放到url中的参数
-     *
-     * @return 应该放到url中的参数
-     * @author lixing
-     * @version V1.0 2021/9/16 3:11 下午
-     */
-    public AlarmUrlParam fetchParams() {
-        return new AlarmUrlParam(this.userId, this.groupCode,this.projectId,this.appId);
-    }
-
 }

+ 4 - 3
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/client/AlarmClient.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.persagy.apm.energyalarmstarter.alarmdata.constant.RequestUrlConstant;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.fallback.AlarmClientFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -176,7 +177,7 @@ public interface AlarmClient {
 
     /**
      * @description: 批量更新报警记录
-     * @param alarmUrlParam
+     * @param urlParamDTO
      * @param jsonObject
      * @return
      * @throws Exception
@@ -186,7 +187,7 @@ public interface AlarmClient {
 
     /**
      * @description: 删除报警定义
-     * @param alarmUrlParam
+     * @param urlParamDTO
      * @param jsonObject
      * @return
      * @throws Exception
@@ -196,7 +197,7 @@ public interface AlarmClient {
 
     /**
      * @description: 批量删除报警定义
-     * @param alarmUrlParam
+     * @param urlParamDTO
      * @param jsonObject
      * @return
      * @throws Exception

+ 2 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/client/DicClient.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.feign.client;
 
 import com.persagy.apm.energyalarmstarter.alarmdata.constant.RequestUrlConstant;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.fallback.DicClientFallbackFactory;
 import org.springframework.boot.configurationprocessor.json.JSONArray;
@@ -33,5 +33,5 @@ public interface DicClient {
      * @version: V1.0
      */
     @PostMapping(RequestUrlConstant.DIC_DATA_QUERY)
-    DmpResult<JSONArray> queryDicData(@SpringQueryMap AlarmUrlParam alarmUrlParam, @RequestBody JSONObject jsonObject) throws Exception;
+    DmpResult<JSONArray> queryDicData(@SpringQueryMap UrlParamDTO urlParamDTO, @RequestBody JSONObject jsonObject) throws Exception;
 }

+ 0 - 4
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/feign/fallback/DicClientFallbackFactory.java

@@ -1,12 +1,8 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.feign.fallback;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.client.DicClient;
 import feign.hystrix.FallbackFactory;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.configurationprocessor.json.JSONArray;
-import org.springframework.boot.configurationprocessor.json.JSONObject;
 
 
 /**

+ 6 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/AlarmCondition.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto;
 
 import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 import java.util.List;
@@ -12,6 +13,7 @@ import java.util.List;
  * @version V1.0 2021/9/15 10:32 下午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class AlarmCondition {
     /**
      * 触发条件
@@ -37,4 +39,8 @@ public class AlarmCondition {
      * 存储用户自定义的配置
      */
     private JSONObject configs;
+    /**
+     * 报警规则
+     */
+    private List<String> rules;
 }

+ 4 - 7
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmcomment/AddAlarmCommentDTO.java

@@ -1,13 +1,9 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
 
 /**
  * 创建报警批注dto
@@ -17,7 +13,8 @@ import java.util.Date;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class AddAlarmCommentDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AddAlarmCommentDTO extends UrlParamDTO {
     /**
      * 报警记录id
      */

+ 4 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmcomment/QueryAlarmCommentDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmcomment;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -12,7 +13,8 @@ import lombok.EqualsAndHashCode;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryAlarmCommentDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class QueryAlarmCommentDTO extends UrlParamDTO {
     /**
      * 批注id
      */

+ 4 - 6
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/AddAlarmConfigDTO.java

@@ -1,13 +1,10 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
 
 /**
  * 创建报警定义dto
@@ -17,7 +14,8 @@ import java.util.Date;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class AddAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AddAlarmConfigDTO extends UrlParamDTO {
     /**
      * 报警对象id
      */

+ 4 - 3
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchAddAlarmConfigDTO.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -15,6 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class BatchAddAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BatchAddAlarmConfigDTO extends UrlParamDTO {
     private List<AddAlarmConfigDTO> alarmConfigs;
 }

+ 4 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchDeleteAlarmConfigDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,6 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class BatchDeleteAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BatchDeleteAlarmConfigDTO extends UrlParamDTO {
     private List<DeleteAlarmConfigDTO> alarmConfigs;
 }

+ 4 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/BatchUpdateAlarmConfigDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,6 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class BatchUpdateAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BatchUpdateAlarmConfigDTO extends UrlParamDTO {
     private List<UpdateAlarmConfigDTO> alarmConfigs;
 }

+ 4 - 3
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/DeleteAlarmConfigDTO.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -13,7 +13,8 @@ import lombok.EqualsAndHashCode;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class DeleteAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class DeleteAlarmConfigDTO extends UrlParamDTO {
     /**
      * 报警定义id
      */

+ 4 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/QueryAlarmConfigDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,7 +15,8 @@ import java.util.List;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class QueryAlarmConfigDTO extends UrlParamDTO {
     /**
      * 报警定义id
      */

+ 4 - 6
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmconfig/UpdateAlarmConfigDTO.java

@@ -1,13 +1,10 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
 
 /**
  * 创建报警定义dto
@@ -17,7 +14,8 @@ import java.util.Date;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class UpdateAlarmConfigDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UpdateAlarmConfigDTO extends UrlParamDTO {
     /**
      * 报警定义id
      */

+ 8 - 8
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmitem/QueryAlarmItemDTO.java

@@ -1,11 +1,10 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmitem;
 
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -16,15 +15,16 @@ import java.util.List;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryAlarmItemDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class QueryAlarmItemDTO extends UrlParamDTO {
     /**
      * 条目id
      */
-    private String id;
+    private List<String> id;
     /**
      * 条目编码
      */
-    private String code;
+    private List<String> code;
     /**
      * 条目名称
      */
@@ -32,9 +32,9 @@ public class QueryAlarmItemDTO extends AlarmUrlParam {
     /**
      * 报警系统
      */
-    private String category;
+    private List<String> category;
     /**
      * 报警等级
      */
-    private String level;
+    private List<String> level;
 }

+ 4 - 3
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/AddAlarmRecordDTO.java

@@ -1,8 +1,8 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord;
 
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -16,7 +16,8 @@ import java.util.Date;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class AddAlarmRecordDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AddAlarmRecordDTO extends UrlParamDTO {
     /**
      * 报警记录id
      */

+ 4 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/BatchUpdateAlarmRecordDTO.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,6 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class BatchUpdateAlarmRecordDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class BatchUpdateAlarmRecordDTO extends UrlParamDTO {
     private List<UpdateAlarmRecordDTO> alarmRecords;
 }

+ 19 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/QueryAlarmRecordDTO.java

@@ -1,10 +1,14 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord;
 
 import com.alibaba.fastjson.JSONObject;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.utils.DateUtils;
+import lombok.AccessLevel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import org.springframework.util.CollectionUtils;
 
 import java.util.Date;
 import java.util.List;
@@ -17,7 +21,8 @@ import java.util.List;
  **/
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryAlarmRecordDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class QueryAlarmRecordDTO extends UrlParamDTO {
     /**
      * 报警记录id
      */
@@ -86,6 +91,18 @@ public class QueryAlarmRecordDTO extends AlarmUrlParam {
      * 工单状态
      */
     private List<String> orderState;
+    /**
+     * 项目id
+     */
+    @Getter(AccessLevel.NONE)
+    private List<String> projectIds;
+
+    public List<String> getProjectId() {
+        if (!CollectionUtils.isEmpty(projectIds)) {
+            return projectIds;
+        }
+        return null;
+    }
 
     public JSONObject getName() {
         if (this.name == null) {

+ 4 - 6
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/alarmrecord/UpdateAlarmRecordDTO.java

@@ -1,13 +1,10 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord;
 
 import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
 
 import java.util.Date;
 
@@ -19,7 +16,8 @@ import java.util.Date;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class UpdateAlarmRecordDTO extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UpdateAlarmRecordDTO extends UrlParamDTO {
     /**
      * 报警记录id
      */

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/OrderDTO.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 /**
@@ -9,6 +10,7 @@ import lombok.Data;
  * @version V1.0 2021/9/16 9:40 上午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class OrderDTO {
     /** 排序字段 */
     private String column;

+ 7 - 2
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/QueryDTO.java

@@ -1,7 +1,8 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common;
 
-import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 import java.util.List;
 import java.util.Set;
@@ -12,8 +13,10 @@ import java.util.Set;
  * @author lixing
  * @version V1.0 2021/9/16 9:37 上午
  **/
+@EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryDTO<T> extends AlarmUrlParam {
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class QueryDTO<T> extends UrlParamDTO {
     /** 分页页码 */
     private Integer page;
     /** 分页大小 */
@@ -24,4 +27,6 @@ public class QueryDTO<T> extends AlarmUrlParam {
     private List<OrderDTO> orders;
     /** 查询条件 */
     private T criteria;
+    /** 只查询数量 */
+    private Boolean onlyCount;
 }

+ 53 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/dto/common/UrlParamDTO.java

@@ -0,0 +1,53 @@
+package com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import lombok.*;
+
+import java.io.Serializable;
+
+/**
+ * @description: 报警请求 url 通用参数
+ * @author: xingmaojun
+ * @company: Persagy Technology Co.,Ltd
+ * @since: 2020/10/28 11:50
+ * @version: V1.0
+ **/
+@Builder
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UrlParamDTO implements Serializable {
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 集团编码
+     */
+    private String groupCode;
+
+    /**
+     * 项目Id
+     */
+    private String projectId;
+
+    /**
+     * 应用id
+     */
+    private String appId;
+
+    /**
+     * 获取应该放到url中的参数
+     *
+     * @return 应该放到url中的参数
+     * @author lixing
+     * @version V1.0 2021/9/16 3:11 下午
+     */
+    public AlarmUrlParam fetchParams() {
+        return new AlarmUrlParam(this.userId, this.groupCode, this.projectId, this.appId);
+    }
+
+}

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmCommentItem.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import lombok.Data;
 
@@ -12,6 +13,7 @@ import java.util.Date;
  * @version V1.0 2021/9/16 9:33 上午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class AlarmCommentItem {
     /**
      * 批注id

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmConfigItem.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import lombok.Data;
 
@@ -10,6 +11,7 @@ import lombok.Data;
  * @version V1.0 2021/9/16 9:33 上午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class AlarmConfigItem {
     /**
      * 报警定义id

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmItem.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import lombok.Data;
@@ -13,6 +14,7 @@ import java.util.Date;
  * @version V1.0 2021/9/16 9:33 上午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class AlarmItem {
     /**
      * 条目id

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/AlarmRecordItem.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
 import com.alibaba.fastjson.JSONObject;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 import java.util.Date;
@@ -12,6 +13,7 @@ import java.util.Date;
  * @version V1.0 2021/9/16 9:33 上午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class AlarmRecordItem {
     /**
      * 报警记录id

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/DmpBatchUpsertVO.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 import java.util.List;
@@ -11,6 +12,7 @@ import java.util.List;
  * @version V1.0 2021/9/15 10:56 下午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class DmpBatchUpsertVO {
     private List<String> ids;
 }

+ 2 - 0
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/model/vo/DmpUpsertVO.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.energyalarmstarter.alarmdata.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 
 /**
@@ -9,6 +10,7 @@ import lombok.Data;
  * @version V1.0 2021/9/15 10:56 下午
  **/
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class DmpUpsertVO {
     private String id;
 }

+ 0 - 1
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/service/AlarmConfigServiceImpl.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.client.AlarmClient;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.*;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.QueryAlarmConfigDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;

+ 39 - 14
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/service/AlarmRecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.persagy.apm.energyalarmstarter.alarmdata.service;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.client.AlarmClient;
@@ -34,6 +35,22 @@ public class AlarmRecordServiceImpl {
     AlarmClient alarmClient;
 
     /**
+     * 查询报警记录条数
+     * @param queryAlarmRecordDTO 入参
+     * @return 报警记录列表
+     * @throws Exception
+     */
+    public Integer queryCount(QueryAlarmRecordDTO queryAlarmRecordDTO) throws Exception {
+        QueryDTO<QueryAlarmRecordDTO> queryDTO = new QueryDTO<>();
+        queryDTO.setOnlyCount(true);
+        queryDTO.setCriteria(queryAlarmRecordDTO);
+
+        DmpResult<List<AlarmRecordItem>> dmpResult = query(queryDTO);
+        return dmpResult.getCount();
+    }
+
+
+    /**
      * 查询报警记录
      * @param queryAlarmRecordDTO 入参
      * @return 报警记录列表
@@ -42,11 +59,21 @@ public class AlarmRecordServiceImpl {
     public DmpResult<List<AlarmRecordItem>> query(QueryAlarmRecordDTO queryAlarmRecordDTO) throws Exception {
         QueryDTO<QueryAlarmRecordDTO> queryDTO = new QueryDTO<>();
         queryDTO.setCriteria(queryAlarmRecordDTO);
+        return query(queryDTO);
+    }
+
+    /**
+     * 查询报警记录
+     * @param queryDTO 入参
+     * @return 报警记录列表
+     * @throws Exception
+     */
+    public DmpResult<List<AlarmRecordItem>> query(QueryDTO<QueryAlarmRecordDTO> queryDTO) throws Exception {
         // 查询结果中带上忽略时间和处理结束时间
         Set<String> withColumns = Sets.newHashSet("ignoreTime", "treatEndTime");
         queryDTO.setWithColumns(withColumns);
         JSONObject jsonObject = Obj2JSONObject.convert(queryDTO);
-        DmpResult<JSONArray> result = alarmClient.queryAlarmRecord(queryAlarmRecordDTO.fetchParams(), jsonObject);
+        DmpResult<JSONArray> result = alarmClient.queryAlarmRecord(queryDTO.fetchParams(), jsonObject);
         return DmpResultUtil.multiConvert(result, AlarmRecordItem.class);
     }
 
@@ -86,17 +113,15 @@ public class AlarmRecordServiceImpl {
         return DmpResultUtil.singleConvert(result, DmpBatchUpsertVO.class);
     }
 
-//    public static void main(String[] args) {
-//        AddAlarmRecordDTO addAlarmRecordDTO = new AddAlarmRecordDTO();
-//        JSONObject jsonObject = new JSONObject();
-//        jsonObject.put("any", "sss");
-//        addAlarmRecordDTO.setSupplement(jsonObject);
-//        try {
-//            JSONObject convert = Obj2JSONObject.convert(addAlarmRecordDTO);
-//            System.out.println(convert);
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//    }
-
+    public static void main(String[] args) {
+        QueryAlarmRecordDTO addAlarmRecordDTO = new QueryAlarmRecordDTO();
+        List<String> projectIds = Lists.newArrayList("1", "2", "3");
+        addAlarmRecordDTO.setProjectIds(projectIds);
+        try {
+            JSONObject convert = Obj2JSONObject.convert(addAlarmRecordDTO);
+            System.out.println(convert);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 5 - 1
AlarmDataStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmdata/utils/DmpResultUtil.java

@@ -50,13 +50,17 @@ public class DmpResultUtil {
         }
         DmpResult<List<T>> newResult = copyBasicInfo(result);
         List<T> resultData = new ArrayList<>();
+        newResult.setData(resultData);
+
         JSONArray data = result.getData();
+        if (data == null) {
+            return newResult;
+        }
         for (int i = 0; i < data.size(); i++) {
             JSONObject dataObj = data.getJSONObject(i);
             T reverse = Obj2JSONObject.reverse(dataObj, clazz);
             resultData.add(reverse);
         }
-        newResult.setData(resultData);
         return newResult;
     }
 

+ 1 - 0
AlarmEngineStarter/src/main/java/com/persagy/apm/energyalarmstarter/alarmengine/service/NettyAlarmService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.UrlParamDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.client.AlarmClient;
 import com.persagy.apm.energyalarmstarter.alarmengine.jms.model.DmpMessage;