diff --git a/rition-center/api/pom.xml b/rition-center/api/pom.xml
index d581c1a..2b9e8e7 100644
--- a/rition-center/api/pom.xml
+++ b/rition-center/api/pom.xml
@@ -48,10 +48,5 @@
panel
${revision}
-
-
- org.springframework.boot
- spring-boot-starter-data-redis
-
\ No newline at end of file
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
index 7a40a35..d0715ec 100644
--- 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
@@ -22,7 +22,7 @@ public class AlertRuleAddRequest {
/**
* 阈值
*/
- private String threshold;
+ private Double threshold;
/**
* 触发方法,实时计算或定时计算
diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/AlertResponse.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/AlertResponse.java
new file mode 100644
index 0000000..b81ed09
--- /dev/null
+++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/AlertResponse.java
@@ -0,0 +1,34 @@
+package rition.backend.api.v1.dto.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.Instant;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AlertResponse {
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 出现警告的实例id
+ */
+ private String instanceId;
+
+ /**
+ * 触发的规则
+ */
+ private Long rule;
+
+ /**
+ * 警告出现的时间
+ */
+ private Instant time;
+}
diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/ContractResponse.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/ContractResponse.java
new file mode 100644
index 0000000..67a8d1c
--- /dev/null
+++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/ContractResponse.java
@@ -0,0 +1,34 @@
+package rition.backend.api.v1.dto.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.Instant;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ContractResponse {
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 联系方式
+ */
+ private String contract;
+
+ /**
+ * 联系方式类型
+ */
+ private Integer type;
+
+ /**
+ * create_time
+ */
+ private Instant createTime;
+}
\ No newline at end of file
diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/MetricDataResponse.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/MetricDataResponse.java
index e9d6c26..3978fb3 100644
--- a/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/MetricDataResponse.java
+++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/MetricDataResponse.java
@@ -2,13 +2,11 @@ package rition.backend.api.v1.dto.response;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.time.Instant;
import java.util.Map;
@Data
@@ -25,6 +23,5 @@ public class MetricDataResponse {
/**
* create_time
*/
- @JsonFormat()
- private Instant time;
+ private Long time;
}
diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/RuleResponse.java b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/RuleResponse.java
new file mode 100644
index 0000000..7c6c681
--- /dev/null
+++ b/rition-center/api/src/main/java/rition/backend/api/v1/dto/response/RuleResponse.java
@@ -0,0 +1,54 @@
+package rition.backend.api.v1.dto.response;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.Instant;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class RuleResponse {
+ /**
+ * 规则id
+ */
+ private Long id;
+
+ /**
+ * 需要计算的指标项或者表达式
+ */
+ private String expression;
+
+ /**
+ * 触发条件
+ */
+ private Integer condition;
+
+ /**
+ * 阈值
+ */
+ private Double threshold;
+
+ /**
+ * 触发方法,实时计算或定时计算
+ */
+ private Integer trigger;
+
+ /**
+ * 规则描述
+ */
+ private String description;
+
+ /**
+ * create_time
+ */
+ private Instant createTime;
+
+ /**
+ * update_time
+ */
+ private Instant updateTime;
+}
diff --git a/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertHistoryController.java b/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertHistoryController.java
new file mode 100644
index 0000000..1141c58
--- /dev/null
+++ b/rition-center/api/src/main/java/rition/backend/api/v1/panel/AlertHistoryController.java
@@ -0,0 +1,33 @@
+package rition.backend.api.v1.panel;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import rition.backend.api.v1.dto.response.Response;
+import rition.common.data.dto.PagingData;
+import rition.common.data.entity.AlertEntity;
+import rition.service.panel.AlertHistoryService;
+
+@RestController
+@RequestMapping("/panel/alerts")
+public class AlertHistoryController {
+ private final AlertHistoryService alertHistoryService;
+
+ public AlertHistoryController(AlertHistoryService alertHistoryService) {
+ this.alertHistoryService = alertHistoryService;
+ }
+
+ @GetMapping("/list")
+ public Response> getContractList(
+ @RequestParam(value = "instance_id", required = false) String instanceId,
+ @RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
+ @RequestParam(value = "page_size", required = false, defaultValue = "10") Integer pageSize
+ ) {
+
+ PagingData alertEntityPagingData = new PagingData<>(page, pageSize);
+ var result = alertHistoryService.getAlertHistory(instanceId, alertEntityPagingData);
+
+ return Response.success(result);
+ }
+}
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
index 6b66e62..bccb079 100644
--- 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
@@ -3,24 +3,63 @@ 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;
+import rition.backend.api.v1.dto.response.RuleResponse;
+import rition.common.data.dto.service.panel.AlertRuleAddDto;
+import rition.common.data.entity.RuleEntity;
+import rition.service.panel.AlertRuleService;
+
+import java.util.ArrayList;
+import java.util.List;
@RestController
-@RequestMapping("/rules")
+@RequestMapping("/panel/rules")
public class AlertRuleController {
- @GetMapping("/list/{instanceId}")
- public Response