From 3a5be6242e31a9c829dacdcb6068eea19bc11f8c Mon Sep 17 00:00:00 2001 From: lensfrex Date: Wed, 8 May 2024 10:48:32 +0800 Subject: [PATCH] =?UTF-8?q?ref:=20=E8=A1=A5=E5=85=85=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/dto/request/AlertRuleAddRequest.java | 36 ++++++++++ .../v1/dto/request/ContractAddRequest.java | 15 ++++ .../api/v1/panel/AlertRuleController.java | 26 +++++++ .../api/v1/panel/ContractController.java | 26 +++++++ .../common/data/entity/AlertEntity.java | 41 +++++++++++ .../common/data/entity/ContractEntity.java | 54 +++++++++++++++ .../rition/common/data/entity/EcsEntity.java | 47 +++++++++++++ .../rition/common/data/entity/RuleEntity.java | 69 +++++++++++++++++++ .../rition/common/data/enums/Constants.java | 5 ++ 9 files changed, 319 insertions(+) create mode 100644 rition-center/api/src/main/java/rition/backend/api/v1/dto/request/AlertRuleAddRequest.java create mode 100644 rition-center/api/src/main/java/rition/backend/api/v1/dto/request/ContractAddRequest.java create mode 100644 rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertRuleController.java create mode 100644 rition-center/api/src/main/java/rition/backend/api/v1/panel/ContractController.java create mode 100644 rition-center/common/src/main/java/rition/common/data/entity/AlertEntity.java create mode 100644 rition-center/common/src/main/java/rition/common/data/entity/ContractEntity.java create mode 100644 rition-center/common/src/main/java/rition/common/data/entity/EcsEntity.java create mode 100644 rition-center/common/src/main/java/rition/common/data/entity/RuleEntity.java diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/AlertRuleAddRequest.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/AlertRuleAddRequest.java new file mode 100644 index 0000000..7a40a35 --- /dev/null +++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/AlertRuleAddRequest.java @@ -0,0 +1,36 @@ +package rition.backend.api.v1.dto.request; + +import lombok.Data; + +@Data +public class AlertRuleAddRequest { + /** + * 规则对应的实例id + */ + private String instanceId; + + /** + * 需要计算的指标项或者表达式 + */ + private String expression; + + /** + * 触发条件 + */ + private Integer condition; + + /** + * 阈值 + */ + private String threshold; + + /** + * 触发方法,实时计算或定时计算 + */ + private Integer trigger; + + /** + * 规则描述 + */ + private String description; +} diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/ContractAddRequest.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/ContractAddRequest.java new file mode 100644 index 0000000..f6bc993 --- /dev/null +++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/request/ContractAddRequest.java @@ -0,0 +1,15 @@ +package rition.backend.api.v1.dto.request; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ContractAddRequest { + private String contract; + private Integer type; +} diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertRuleController.java b/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertRuleController.java new file mode 100644 index 0000000..6b66e62 --- /dev/null +++ b/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertRuleController.java @@ -0,0 +1,26 @@ +package rition.backend.api.v1.panel; + +import org.springframework.web.bind.annotation.*; +import rition.backend.api.v1.dto.request.AlertRuleAddRequest; +import rition.backend.api.v1.dto.response.Response; + +@RestController +@RequestMapping("/rules") +public class AlertRuleController { + @GetMapping("/list/{instanceId}") + public Response getAlertRuleList(@PathVariable("instanceId") String instanceId) { + return Response.success(); + } + + @PostMapping("/add/{instanceId}") + public Response addAlertRule(@PathVariable("instanceId") String instanceId, + @RequestBody AlertRuleAddRequest alertRuleAddRequest) { + return Response.success(); + } + + @PostMapping("/delete/{instanceId}") + public Response deleteAlertRule(@PathVariable("instanceId") String instanceId, + @RequestParam("id") String alertRuleId) { + return Response.success(); + } +} diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/panel/ContractController.java b/rition-center/api/src/main/java/rition/backend/api/v1/panel/ContractController.java new file mode 100644 index 0000000..62a5806 --- /dev/null +++ b/rition-center/api/src/main/java/rition/backend/api/v1/panel/ContractController.java @@ -0,0 +1,26 @@ +package rition.backend.api.v1.panel; + +import org.springframework.web.bind.annotation.*; +import rition.backend.api.v1.dto.request.ContractAddRequest; +import rition.backend.api.v1.dto.response.Response; + +@RestController +@RequestMapping("/contract") +public class ContractController { + @GetMapping("/list/{instanceId}") + public Response getContractList(@PathVariable("instanceId") String instanceId) { + return Response.success(); + } + + @PostMapping("/add/{instanceId}") + public Response addContract(@PathVariable("instanceId") String instanceId, + @RequestBody ContractAddRequest contractAddRequest) { + return Response.success(); + } + + @PostMapping("/delete/{instanceId}") + public Response deleteContract(@PathVariable("instanceId") String instanceId, + @RequestParam("id") String contractId) { + return Response.success(); + } +} diff --git a/rition-center/common/src/main/java/rition/common/data/entity/AlertEntity.java b/rition-center/common/src/main/java/rition/common/data/entity/AlertEntity.java new file mode 100644 index 0000000..656c8ff --- /dev/null +++ b/rition-center/common/src/main/java/rition/common/data/entity/AlertEntity.java @@ -0,0 +1,41 @@ +package rition.common.data.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.Instant; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("alert") +public class AlertEntity { + /** + * id + */ + private Long id; + + /** + * 出现警告的实例id + */ + private String instanceId; + + /** + * 触发的规则 + */ + private Long rule; + + /** + * 警告出现的时间 + */ + private Instant time; + + /** + * status + */ + private Integer status; +} diff --git a/rition-center/common/src/main/java/rition/common/data/entity/ContractEntity.java b/rition-center/common/src/main/java/rition/common/data/entity/ContractEntity.java new file mode 100644 index 0000000..4b03900 --- /dev/null +++ b/rition-center/common/src/main/java/rition/common/data/entity/ContractEntity.java @@ -0,0 +1,54 @@ +package rition.common.data.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.Instant; + +/** + * 联系方式 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("contract") +public class ContractEntity { + /** + * id + */ + private Long id; + + /** + * 绑定的实例 + */ + private String instanceId; + + /** + * 联系方式 + */ + private String contract; + + /** + * 联系方式类型 + */ + private Integer type; + + /** + * create_time + */ + private Instant createTime; + + /** + * update_time + */ + private Instant updateTime; + + /** + * status + */ + private Integer status; +} diff --git a/rition-center/common/src/main/java/rition/common/data/entity/EcsEntity.java b/rition-center/common/src/main/java/rition/common/data/entity/EcsEntity.java new file mode 100644 index 0000000..2b5d896 --- /dev/null +++ b/rition-center/common/src/main/java/rition/common/data/entity/EcsEntity.java @@ -0,0 +1,47 @@ +package rition.common.data.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.Instant; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("ecs") +public class EcsEntity { + /** + * 实例id + */ + private String id; + + /** + * 主机名称 + */ + private String name; + + /** + * 主机绑定分配的ip + */ + private String ip; + + /** + * create_time + */ + private Instant createTime; + + /** + * update_time + */ + private Instant updateTime; + + /** + * status + */ + private Integer status; + +} diff --git a/rition-center/common/src/main/java/rition/common/data/entity/RuleEntity.java b/rition-center/common/src/main/java/rition/common/data/entity/RuleEntity.java new file mode 100644 index 0000000..295646f --- /dev/null +++ b/rition-center/common/src/main/java/rition/common/data/entity/RuleEntity.java @@ -0,0 +1,69 @@ +package rition.common.data.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.Instant; + +/** + * 报警规则 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName("rule") +public class RuleEntity { + /** + * 规则id + */ + private Long id; + + /** + * 规则对应的实例id + */ + private String instanceId; + + /** + * 需要计算的指标项或者表达式 + */ + private String expression; + + /** + * 触发条件 + */ + private Integer condition; + + /** + * 阈值 + */ + private String threshold; + + /** + * 触发方法,实时计算或定时计算 + */ + private Integer trigger; + + /** + * 规则描述 + */ + private String description; + + /** + * create_time + */ + private Instant createTime; + + /** + * update_time + */ + private Instant updateTime; + + /** + * status + */ + private Integer status; +} diff --git a/rition-center/common/src/main/java/rition/common/data/enums/Constants.java b/rition-center/common/src/main/java/rition/common/data/enums/Constants.java index 8323267..6936064 100644 --- a/rition-center/common/src/main/java/rition/common/data/enums/Constants.java +++ b/rition-center/common/src/main/java/rition/common/data/enums/Constants.java @@ -4,4 +4,9 @@ import java.time.ZoneId; public class Constants { public static final ZoneId DefaultTimeZone = ZoneId.of("Asia/Shanghai"); + + public static class EntityCommonStatus { + public static final Integer NORMAL = 0; + public static final Integer DELETED = 1; + } }