Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Api request #14

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/main/java/org/jetlinks/sdk/model/SimpleApiRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ public DefaultApiRequestBuilder<T> patch() {
return method(HttpMethod.PATCH);
}

public DefaultApiRequestBuilder<T> put() {
return method(HttpMethod.PUT);
}

public DefaultApiRequestBuilder<T> delete() {
return method(HttpMethod.DELETE);
}

public DefaultApiRequestBuilder<T> method(HttpMethod method) {
this.method = method;
return this;
Expand Down
42 changes: 42 additions & 0 deletions src/main/java/org/jetlinks/sdk/model/alarm/AlarmHandleInfo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package org.jetlinks.sdk.model.alarm;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.jetlinks.sdk.model.EnumInfo;

import javax.validation.constraints.NotBlank;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
public class AlarmHandleInfo {
@Schema(description = "告警记录ID")
@NotBlank
private String alarmRecordId;

@Schema(description = "告警ID")
@NotBlank
private String alarmConfigId;

@Schema(description = "告警时间")
@NotBlank
private Long alarmTime;

@Schema(description = "处理说明")
private String describe;

@Schema(description = "处理时间")
private Long handleTime;

@NotBlank
@Schema(description = "处理类型")
private EnumInfo<String> type;

@Schema(description = "处理后的状态")
@NotBlank
private EnumInfo<String> state;
}
19 changes: 19 additions & 0 deletions src/main/java/org/jetlinks/sdk/model/alarm/AlarmLevelInfo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package org.jetlinks.sdk.model.alarm;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
public class AlarmLevelInfo {
@Schema(description = "级别")
private Integer level;

@Schema(description = "名称")
private String title;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package org.jetlinks.sdk.model.alarm.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.jetlinks.sdk.model.EnumInfo;

import javax.persistence.Column;
import javax.validation.constraints.NotBlank;
import java.util.List;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
public class AlarmConfigDetail {
@Schema(description = "告警配置ID")
private String id;

@Schema(description = "名称")
private String name;

@Schema(description = "告警目标类型")
private String targetType;

@Schema(description = "告警级别")
private Integer level;

@Schema(description = "关联场景")
private List<SceneInfo> scene;

@Schema(description = "状态")
private EnumInfo<String> state;

@Schema(description = "场景触发类型")
private String sceneTriggerType;

@Schema(description = "说明")
private String description;

@Schema(
description = "创建者ID(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private String creatorId;

@Schema(
description = "创建时间(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private Long createTime;

@Schema(description = "更新者ID", accessMode = Schema.AccessMode.READ_ONLY)
private String modifierId;

@Schema(description = "更新时间")
private Long modifyTime;

/**
* 场景联动信息
*/
@Getter
@Setter
public static class SceneInfo {
@Schema(description = "场景联动ID")
private String id;

@Column(nullable = false)
@Schema(description = "场景联动名称")
@NotBlank
private String name;

@Schema(description = "触发器类型")
private String triggerType;

@Schema(description = "状态")
private EnumInfo<String> state;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package org.jetlinks.sdk.model.alarm.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.hswebframework.ezorm.rdb.mapping.annotation.ColumnType;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.ezorm.rdb.mapping.annotation.DefaultValue;
import org.hswebframework.ezorm.rdb.mapping.annotation.EnumCodec;
import org.jetlinks.sdk.model.EnumInfo;
import org.jetlinks.sdk.model.scene.Generators;

import javax.persistence.Column;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
@Comment("告警配置表")
public class AlarmConfigEntity {
@Schema(description = "名称")
private String name;

@Schema(description = "告警目标类型")
private String targetType;

@Schema(description = "告警级别")
private Integer level;

@Schema(description = "关联场景名称")
@Deprecated
private String sceneName;

@Schema(description = "关联场景Id")
@Deprecated
private String sceneId;

@EnumCodec
@ColumnType(javaType = String.class)
@DefaultValue("enabled")
@Schema(description = "状态")
private EnumInfo<String> state;

@EnumCodec
@ColumnType(javaType = String.class)
@Schema(description = "场景触发类型")
@Deprecated
private EnumInfo<String> sceneTriggerType;

@Schema(description = "说明")
private String description;

@Schema(
description = "创建者ID(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private String creatorId;

@DefaultValue(generator = Generators.CURRENT_TIME)
@Schema(
description = "创建时间(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private Long createTime;

@Schema(description = "更新者ID", accessMode = Schema.AccessMode.READ_ONLY)
private String modifierId;

@Column
@DefaultValue(generator = Generators.CURRENT_TIME)
@Schema(description = "更新时间")
private Long modifyTime;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package org.jetlinks.sdk.model.alarm.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.hswebframework.ezorm.rdb.mapping.annotation.ColumnType;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.ezorm.rdb.mapping.annotation.DefaultValue;
import org.hswebframework.ezorm.rdb.mapping.annotation.EnumCodec;
import org.jetlinks.sdk.model.EnumInfo;
import org.jetlinks.sdk.model.scene.Generators;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
@Comment("告警处理记录")
public class AlarmHandleHistoryEntity {

@Schema(description = "告警配置ID")
private String alarmId;

@Schema(description = "告警记录Id")
private String alarmRecordId;

@Schema(description = "告警处理类型")
@EnumCodec
@ColumnType(javaType = String.class)
private EnumInfo<String> handleType;

@Schema(description = "说明")
private String description;

@Schema(description = "处理时间")
private Long handleTime;

@Schema(description = "告警时间")
private Long alarmTime;

@Schema(
description = "创建者ID(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private String creatorId;

@DefaultValue(generator = Generators.CURRENT_TIME)
@Schema(
description = "创建时间(只读)"
, accessMode = Schema.AccessMode.READ_ONLY
)
private Long createTime;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package org.jetlinks.sdk.model.alarm.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
public class AlarmHistoryInfo implements Serializable {
private static final long serialVersionUID = 1L;

@Schema(description = "告警数据ID")
private String id;

@Schema(description = "告警配置ID")
private String alarmConfigId;

@Schema(description = "告警配置名称")
private String alarmConfigName;

@Schema(description = "告警记录ID")
private String alarmRecordId;

@Schema(description = "告警级别")
private int level;

@Schema(description = "说明")
private String description;

@Schema(description = "告警时间")
private long alarmTime;

@Schema(description = "告警目标类型")
private String targetType;

@Schema(description = "告警目标名称")
private String targetName;

@Schema(description = "告警目标Id")
private String targetId;

@Schema(description = "告警源类型")
private String sourceType;

@Schema(description = "告警源Id")
private String sourceId;

@Schema(description = "告警源名称")
private String sourceName;

@Schema(description = "告警信息")
private String alarmInfo;

@Schema(description = "绑定信息")
private List<Map<String, Object>> bindings;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package org.jetlinks.sdk.model.alarm.info;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.hswebframework.ezorm.rdb.mapping.annotation.ColumnType;
import org.hswebframework.ezorm.rdb.mapping.annotation.Comment;
import org.hswebframework.ezorm.rdb.mapping.annotation.JsonCodec;
import org.jetlinks.sdk.model.alarm.AlarmLevelInfo;

import java.sql.JDBCType;
import java.util.List;

/**
* @author zyl
* @date 7/8/2023
*/
@Getter
@Setter
@Comment("告警级别")
public class AlarmLevelEntity {

@Schema(description = "名称")
private String name;

@ColumnType(jdbcType = JDBCType.LONGVARCHAR)
@JsonCodec
@Schema(description = "配置信息")
private List<AlarmLevelInfo> levels;

@Schema(description = "说明")
private String description;
}
Loading