AlarmConfig.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package com.persagy.apm.dmpalarm.model;
  2. import java.io.Serializable;
  3. import java.util.Date;
  4. import java.util.List;
  5. import com.alibaba.fastjson.JSON;
  6. import com.alibaba.fastjson.JSONObject;
  7. import com.baomidou.mybatisplus.annotation.TableField;
  8. import com.baomidou.mybatisplus.annotation.TableName;
  9. import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
  10. import io.swagger.annotations.ApiModel;
  11. import io.swagger.annotations.ApiModelProperty;
  12. import lombok.Data;
  13. /**
  14. * 报警定义(AlarmConfig)实体类
  15. *
  16. * @author lixing
  17. * @version V1.0 2021-12-09 10:44:53
  18. */
  19. @Data
  20. @ApiModel(description = "报警定义")
  21. @TableName(autoResultMap = true)
  22. public class AlarmConfig implements Serializable {
  23. private static final long serialVersionUID = -50363859666957294L;
  24. private String id;
  25. @ApiModelProperty("对象id")
  26. private String objId;
  27. @ApiModelProperty("对象类型编码")
  28. private String classCode;
  29. @ApiModelProperty("项目id")
  30. private String projectId;
  31. @ApiModelProperty("集团编码")
  32. private String groupCode;
  33. @ApiModelProperty("报警条目编码")
  34. private String itemCode;
  35. @ApiModelProperty("报警匹配条件id")
  36. private String targetId;
  37. @ApiModelProperty("报警分类")
  38. private String category;
  39. @ApiModelProperty("严重程度")
  40. @TableField(value = "`level`")
  41. private String level;
  42. @ApiModelProperty("备注")
  43. private String remark;
  44. @ApiModelProperty("触发条件")
  45. @TableField(value = "`condition`", typeHandler = FastjsonTypeHandler.class)
  46. private JSONObject condition;
  47. @ApiModelProperty("屏蔽状态 1-open、0- 屏蔽")
  48. @TableField(value = "`open`")
  49. private Integer open;
  50. @ApiModelProperty("是否重点关注")
  51. private Integer concern;
  52. @ApiModelProperty("是否自定义")
  53. private Integer userDefined;
  54. @ApiModelProperty("创建用户")
  55. private String createUser;
  56. @ApiModelProperty("创建时间")
  57. private Date createTime;
  58. @ApiModelProperty("更新用户")
  59. private String updateUser;
  60. @ApiModelProperty("更新时间")
  61. private Date updateTime;
  62. private Integer valid;
  63. @TableField(exist = false)
  64. private List<AlarmConfig> alarmConfigs;
  65. /**
  66. * @description:
  67. * <p>
  68. * 报警定义唯一标识; 当报警条目和报警匹配条件变化时会重新生成报警定义,
  69. * 因此在与其他系统进行通讯时,一般不使用报警定义的id作为其唯一标识,而是使用itemCode + objID作为其唯一标识
  70. * </p>
  71. * @author: lixing
  72. * @company: Persagy Technology Co.,Ltd
  73. * @since: 2020/10/26 11:25 上午
  74. * @version: V1.0
  75. */
  76. @Data
  77. public class AlarmConfigUnique {
  78. private String itemCode;
  79. private String objId;
  80. private String targetId;
  81. AlarmConfigUnique(String itemCode, String objId, String targetId) {
  82. this.itemCode = itemCode;
  83. this.objId = objId;
  84. this.targetId = targetId;
  85. }
  86. }
  87. public AlarmConfigUnique getAlarmConfigUnique() {
  88. return new AlarmConfigUnique(this.itemCode, this.objId, this.targetId);
  89. }
  90. public static String PROP_OBJ_ID = "obj_id";
  91. public static String PROP_CLASS_CODE = "class_code";
  92. public static String PROP_PROJECT_ID = "project_id";
  93. public static String PROP_GROUP_CODE = "group_code";
  94. public static String PROP_ITEM_CODE = "item_code";
  95. public static String PROP_TARGET_ID = "target_id";
  96. public static String PROP_CATEGORY = "category";
  97. public static String PROP_LEVEL = "level";
  98. public static String PROP_REMARK = "remark";
  99. public static String PROP_CONDITION = "condition";
  100. public static String PROP_OPEN = "open";
  101. public static String PROP_CONCERN = "concern";
  102. public static String PROP_USER_DEFINED = "user_defined";
  103. public static String PROP_CREATE_USER = "create_user";
  104. public static String PROP_CREATE_TIME = "create_time";
  105. public static String PROP_UPDATE_USER = "update_user";
  106. public static String PROP_UPDATE_TIME = "update_time";
  107. public static void main(String[] args) {
  108. JSONObject jsonObject = JSON.parseObject("{\"id\":\"\"}", JSONObject.class);
  109. System.out.println(jsonObject);
  110. }
  111. }