From 16ce89e1c1143dfa4f1d78093306f2df67efc4a2 Mon Sep 17 00:00:00 2001 From: "Longjun.Tu" Date: Thu, 11 May 2023 00:05:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=91=8A=E8=AD=A6=E4=B8=AD=E5=BF=83):?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E3=80=81=E6=8E=A5=E5=8F=A3=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cc/iotkit/common/api/PageRequest.java | 33 ++++++++ .../iotkit/common/api/PageRequestEmpty.java | 31 +++++++ .../java/cc/iotkit/common/api/Request.java | 32 ++++++++ .../cc/iotkit/common/api/RequestEmpty.java | 46 +++++++++++ .../java/cc/iotkit/data/IAlertConfigData.java | 21 +++++ .../java/cc/iotkit/data/IAlertRecordData.java | 21 +++++ .../cc/iotkit/model/alert/AlertConfig.java | 28 ++++--- .../cc/iotkit/model/alert/AlertRecord.java | 61 ++++++++++++++ .../data/dao/AlertConfigRepository.java | 17 ++++ .../data/dao/AlertRecordRepository.java | 17 ++++ .../iotkit/data/model/AlertConfigMapper.java | 21 +++++ .../iotkit/data/model/AlertRecordMapper.java | 21 +++++ .../cc/iotkit/data/model/TbAlertConfig.java | 56 +++++++++++++ .../cc/iotkit/data/model/TbAlertRecord.java | 46 +++++++++++ .../data/service/AlertConfigDataImpl.java | 76 ++++++++++++++++++ .../data/service/AlertRecordDataImpl.java | 80 +++++++++++++++++++ .../manager/controller/AlertController.java | 72 +++++++++++++++++ .../iotkit/manager/service/AlertService.java | 52 ++++++++++++ 18 files changed, 720 insertions(+), 11 deletions(-) create mode 100644 iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequest.java create mode 100644 iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequestEmpty.java create mode 100644 iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/Request.java create mode 100644 iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/RequestEmpty.java create mode 100644 iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertConfigData.java create mode 100644 iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertRecordData.java create mode 100644 iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertRecord.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertRecordRepository.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertConfigMapper.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertRecordMapper.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertConfig.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertRecord.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java create mode 100644 iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertRecordDataImpl.java create mode 100644 iot-starter/src/main/java/cc/iotkit/manager/controller/AlertController.java create mode 100644 iot-starter/src/main/java/cc/iotkit/manager/service/AlertService.java diff --git a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequest.java b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequest.java new file mode 100644 index 00000000..a7724bc7 --- /dev/null +++ b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequest.java @@ -0,0 +1,33 @@ +package cc.iotkit.common.api; + +import java.io.Serializable; + +/** + * @author: Longjun.Tu + * @description: + * @date:created in 2023/5/10 23:15 + * @modificed by: + */ +public class PageRequest extends Request implements Serializable { + private Integer pageNo = 1; + private Integer pageSize = 20; + + public PageRequest() { + } + + public Integer getPageNo() { + return this.pageNo; + } + + public Integer getPageSize() { + return this.pageSize; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } +} diff --git a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequestEmpty.java b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequestEmpty.java new file mode 100644 index 00000000..4b44c1da --- /dev/null +++ b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/PageRequestEmpty.java @@ -0,0 +1,31 @@ +package cc.iotkit.common.api; + +/** + * @author: Longjun.Tu + * @description: + * @date:created in 2023/5/10 23:16 + * @modificed by: + */ +public class PageRequestEmpty { + private Integer pageNo = 1; + private Integer pageSize = 20; + + public PageRequestEmpty() { + } + + public Integer getPageNo() { + return this.pageNo; + } + + public Integer getPageSize() { + return this.pageSize; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } +} diff --git a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/Request.java b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/Request.java new file mode 100644 index 00000000..38ab5e02 --- /dev/null +++ b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/Request.java @@ -0,0 +1,32 @@ +package cc.iotkit.common.api; + +import java.io.Serializable; +import java.util.UUID; + +/** + * @author: Longjun.Tu + * @description: + * @date:created in 2023/5/10 23:14 + * @modificed by: + */ +public class Request extends RequestEmpty implements Serializable { + private T data; + + public Request() { + } + + public T getData() { + return this.data; + } + + public void setData(T data) { + this.data = data; + } + + public static Request of(T data) { + Request request = new Request(); + request.setData(data); + request.setRequestId(UUID.randomUUID().toString()); + return request; + } +} diff --git a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/RequestEmpty.java b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/RequestEmpty.java new file mode 100644 index 00000000..132b667c --- /dev/null +++ b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/api/RequestEmpty.java @@ -0,0 +1,46 @@ +package cc.iotkit.common.api; + +import java.io.Serializable; +import java.util.UUID; + +/** + * @author: Longjun.Tu + * @description: + * @date:created in 2023/5/10 23:12 + * @modificed by: + */ +public class RequestEmpty implements Serializable { + + + private String language; + + + @Deprecated + private String requestId; + + public RequestEmpty() { + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(String language) { + this.language = language; + } + + public String getRequestId() { + return this.requestId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public static RequestEmpty of() { + RequestEmpty request = new RequestEmpty(); + request.setRequestId(UUID.randomUUID().toString()); + return request; + } + +} diff --git a/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertConfigData.java b/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertConfigData.java new file mode 100644 index 00000000..9cbc1413 --- /dev/null +++ b/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertConfigData.java @@ -0,0 +1,21 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.data; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertConfig; + + +public interface IAlertConfigData extends ICommonData { + + + Paging selectAlertConfigPage(PageRequest request); +} diff --git a/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertRecordData.java b/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertRecordData.java new file mode 100644 index 00000000..d6523180 --- /dev/null +++ b/iot-data/iot-data-service/src/main/java/cc/iotkit/data/IAlertRecordData.java @@ -0,0 +1,21 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.data; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertRecord; + + +public interface IAlertRecordData extends ICommonData { + + + Paging selectAlertConfigPage(PageRequest request); +} diff --git a/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertConfig.java b/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertConfig.java index 66f50fab..0fa7a5e3 100755 --- a/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertConfig.java +++ b/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertConfig.java @@ -23,8 +23,6 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class AlertConfig implements Owned { - public static final String TYPE_EMAIL="email"; - public static final String TYPE_DINGDING_ROBOT="dingding_robot"; private String id; @@ -34,30 +32,38 @@ public class AlertConfig implements Owned { private String uid; /** - * 告警器类型 + * 告警名称 */ - private String type; + private String name; /** - * 告警配置标题 + * 告警严重度 */ - private String title; + private String level; /** - * 告警器参数配置 + * 关联规则引擎ID */ - private String config; + private String ruleInfoId; /** - * 告警内容模板 + * 关联消息转发模板ID */ - private String template; + private String messageTemplateId; + + /** + * 描述 + */ + private String description; /** * 是否启用 */ - private boolean enable; + private Boolean enable; + /** + * 创建时间 + */ private Long createAt; } diff --git a/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertRecord.java b/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertRecord.java new file mode 100644 index 00000000..9cdc10e6 --- /dev/null +++ b/iot-data/iot-model/src/main/java/cc/iotkit/model/alert/AlertRecord.java @@ -0,0 +1,61 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.model.alert; + +import cc.iotkit.model.Owned; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 告警配置 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AlertRecord implements Owned { + + private String id; + + /** + * 配置所属用户 + */ + private String uid; + + /** + * 告警名称 + */ + private String name; + + /** + * 告警严重度(1-5) + */ + private String level; + + /** + * 告警时间 + */ + private Long alartTime; + + /** + * 告警详情 + */ + private String details; + + /** + * 是否已读 + */ + private Boolean read; + + + +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java new file mode 100644 index 00000000..cf6c0d5e --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertConfigRepository.java @@ -0,0 +1,17 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.data.dao; + +import cc.iotkit.data.model.TbAlertConfig; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AlertConfigRepository extends JpaRepository { + +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertRecordRepository.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertRecordRepository.java new file mode 100644 index 00000000..0189f9b0 --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/dao/AlertRecordRepository.java @@ -0,0 +1,17 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.data.dao; + +import cc.iotkit.data.model.TbAlertRecord; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AlertRecordRepository extends JpaRepository { + +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertConfigMapper.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertConfigMapper.java new file mode 100644 index 00000000..b8d09940 --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertConfigMapper.java @@ -0,0 +1,21 @@ +package cc.iotkit.data.model; + +import cc.iotkit.model.alert.AlertConfig; +import java.util.List; +import java.util.stream.Collectors; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper +public interface AlertConfigMapper { + + AlertConfigMapper M = Mappers.getMapper(AlertConfigMapper.class); + + AlertConfig toDto(TbAlertConfig vo); + + TbAlertConfig toVo(AlertConfig dto); + + static List toDto(List alertConfigs) { + return alertConfigs.stream().map(M::toDto).collect(Collectors.toList()); + } +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertRecordMapper.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertRecordMapper.java new file mode 100644 index 00000000..f197c1c9 --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/AlertRecordMapper.java @@ -0,0 +1,21 @@ +package cc.iotkit.data.model; + +import cc.iotkit.model.alert.AlertRecord; +import java.util.List; +import java.util.stream.Collectors; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper +public interface AlertRecordMapper { + + AlertRecordMapper M = Mappers.getMapper(AlertRecordMapper.class); + + AlertRecord toDto(TbAlertRecord vo); + + TbAlertRecord toVo(AlertRecord dto); + + static List toDto(List alertRecords) { + return alertRecords.stream().map(M::toDto).collect(Collectors.toList()); + } +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertConfig.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertConfig.java new file mode 100644 index 00000000..c3938999 --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertConfig.java @@ -0,0 +1,56 @@ +package cc.iotkit.data.model; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import lombok.Data; + +@Data +@Entity +@Table(name = "alert_config") +public class TbAlertConfig { + + @Id + private String id; + + /** + * 配置所属用户 + */ + private String uid; + + /** + * 告警名称 + */ + private String name; + + /** + * 告警严重度 + */ + private String level; + + /** + * 关联规则引擎ID + */ + private String ruleInfoId; + + /** + * 关联消息转发模板ID + */ + private String messageTemplateId; + + /** + * 描述 + */ + private String description; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 创建时间 + */ + private Long createAt; + +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertRecord.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertRecord.java new file mode 100644 index 00000000..b877ff6a --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/model/TbAlertRecord.java @@ -0,0 +1,46 @@ +package cc.iotkit.data.model; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import lombok.Data; + +@Data +@Entity +@Table(name = "alert_record") +public class TbAlertRecord { + + @Id + private String id; + + /** + * 配置所属用户 + */ + private String uid; + + /** + * 告警名称 + */ + private String name; + + /** + * 告警严重度(1-5) + */ + private String level; + + /** + * 告警时间 + */ + private Long alartTime; + + /** + * 告警详情 + */ + private String details; + + /** + * 是否已读 + */ + private Boolean read; + +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java new file mode 100644 index 00000000..7e1bedcc --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertConfigDataImpl.java @@ -0,0 +1,76 @@ +package cc.iotkit.data.service; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.data.IAlertConfigData; +import cc.iotkit.data.dao.AlertConfigRepository; +import cc.iotkit.data.model.AlertConfigMapper; +import cc.iotkit.data.model.ProductMapper; +import cc.iotkit.data.model.TbAlertConfig; +import cc.iotkit.data.model.TbProduct; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertConfig; +import java.util.List; +import java.util.UUID; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +@Primary +@Service +public class AlertConfigDataImpl implements IAlertConfigData { + + @Autowired + private AlertConfigRepository alertConfigRepository; + + + @Override + public AlertConfig findById(String s) { + return null; + } + + @Override + public AlertConfig save(AlertConfig data) { + if (StringUtils.isBlank(data.getId())) { + data.setId(UUID.randomUUID().toString()); + } + alertConfigRepository.save(AlertConfigMapper.M.toVo(data)); + return data; + } + + @Override + public AlertConfig add(AlertConfig data) { + return null; + } + + @Override + public void deleteById(String s) { + + } + + @Override + public long count() { + return 0; + } + + @Override + public List findAll() { + return null; + } + + @Override + public Paging findAll(int page, int size) { + return null; + } + + @Override + public Paging selectAlertConfigPage(PageRequest request) { + Pageable pageable = org.springframework.data.domain.PageRequest.of(request.getPageNo(), request.getPageSize(), Sort.Direction.DESC, "createAt"); + Page alertConfigPage = alertConfigRepository.findAll(Example.of(AlertConfigMapper.M.toVo(request.getData())), pageable); + return new Paging<>(alertConfigPage.getTotalElements(), AlertConfigMapper.toDto(alertConfigPage.getContent())); + } +} diff --git a/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertRecordDataImpl.java b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertRecordDataImpl.java new file mode 100644 index 00000000..638ab0d7 --- /dev/null +++ b/iot-data/iot-rdb-data-service/src/main/java/cc/iotkit/data/service/AlertRecordDataImpl.java @@ -0,0 +1,80 @@ +package cc.iotkit.data.service; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.data.IAlertRecordData; +import cc.iotkit.data.IHomeData; +import cc.iotkit.data.dao.AlertRecordRepository; +import cc.iotkit.data.dao.HomeRepository; +import cc.iotkit.data.model.AlertConfigMapper; +import cc.iotkit.data.model.AlertRecordMapper; +import cc.iotkit.data.model.HomeMapper; +import cc.iotkit.data.model.TbAlertConfig; +import cc.iotkit.data.model.TbAlertRecord; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertRecord; +import cc.iotkit.model.space.Home; +import java.util.List; +import java.util.UUID; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +@Primary +@Service +public class AlertRecordDataImpl implements IAlertRecordData { + + @Autowired + private AlertRecordRepository alertRecordRepository; + + + @Override + public AlertRecord findById(String s) { + return null; + } + + @Override + public AlertRecord save(AlertRecord data) { + return null; + } + + @Override + public AlertRecord add(AlertRecord data) { + return null; + } + + @Override + public void deleteById(String s) { + + } + + @Override + public long count() { + return 0; + } + + @Override + public List findAll() { + return null; + } + + @Override + public Paging findAll(int page, int size) { + return null; + } + + + @Override + public Paging selectAlertConfigPage(PageRequest request) { + Pageable pageable = org.springframework.data.domain.PageRequest.of(request.getPageNo(), + request.getPageSize(), Sort.Direction.DESC, "alartTime"); + Page alertRecordPage = alertRecordRepository.findAll( + Example.of(AlertRecordMapper.M.toVo(request.getData())), pageable); + return new Paging<>(alertRecordPage.getTotalElements(), + AlertRecordMapper.toDto(alertRecordPage.getContent())); + } +} diff --git a/iot-starter/src/main/java/cc/iotkit/manager/controller/AlertController.java b/iot-starter/src/main/java/cc/iotkit/manager/controller/AlertController.java new file mode 100644 index 00000000..beae9695 --- /dev/null +++ b/iot-starter/src/main/java/cc/iotkit/manager/controller/AlertController.java @@ -0,0 +1,72 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.manager.controller; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.common.api.Request; +import cc.iotkit.manager.service.AlertService; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertConfig; +import cc.iotkit.model.alert.AlertRecord; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import javax.validation.Valid; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = {"告警中心"}) +@Slf4j +@RestController +@RequestMapping("/alert") +public class AlertController { + + @Autowired + private AlertService alertService; + + + @ApiOperation("新增告警中心配置") + @PostMapping("/createAlertConfig") + public AlertConfig createAlertConfig(@RequestBody @Valid Request request) { + return alertService.createAlertConfig(request); + } + + @ApiOperation("编辑告警中心配置") + @PostMapping("/updateAlertConfig") + public AlertConfig updateAlertConfig(@RequestBody @Valid Request request) { + return alertService.updateAlertConfig(request); + } + + @ApiOperation("删除告警中心配置") + @PostMapping("/deleteAlertConfigById") + public Boolean deleteAlertConfigById(@RequestBody @Valid Request request) { + return alertService.deleteAlertConfigById(request); + } + + @ApiOperation("查询告警中心配置分页") + @PostMapping("/selectAlertConfigPage") + public Paging selectAlertConfigPage(@RequestBody @Valid PageRequest request) { + return alertService.selectAlertConfigPage(request); + } + + + @ApiOperation("查询告警消息分页") + @PostMapping("/selectAlertRecordPage") + public Paging selectAlertRecordPage(@RequestBody @Valid PageRequest request) { + return alertService.selectAlertRecordPage(request); + } + + + + +} diff --git a/iot-starter/src/main/java/cc/iotkit/manager/service/AlertService.java b/iot-starter/src/main/java/cc/iotkit/manager/service/AlertService.java new file mode 100644 index 00000000..582f5c44 --- /dev/null +++ b/iot-starter/src/main/java/cc/iotkit/manager/service/AlertService.java @@ -0,0 +1,52 @@ +/* + * +---------------------------------------------------------------------- + * | Copyright (c) 奇特物联 2021-2022 All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed 未经许可不能去掉「奇特物联」相关版权 + * +---------------------------------------------------------------------- + * | Author: xw2sy@163.com + * +---------------------------------------------------------------------- + */ +package cc.iotkit.manager.service; + +import cc.iotkit.common.api.PageRequest; +import cc.iotkit.common.api.Request; +import cc.iotkit.data.IAlertConfigData; +import cc.iotkit.data.IAlertRecordData; +import cc.iotkit.model.Paging; +import cc.iotkit.model.alert.AlertConfig; +import cc.iotkit.model.alert.AlertRecord; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +public class AlertService { + + @Autowired + private IAlertConfigData alertConfigData; + @Autowired + private IAlertRecordData alertRecordData; + + public AlertConfig createAlertConfig(Request request) { + return alertConfigData.save(request.getData()); + } + + public AlertConfig updateAlertConfig(Request request) { + return alertConfigData.save(request.getData()); + } + + public Boolean deleteAlertConfigById(Request request) { + alertConfigData.deleteById(request.getData()); + return Boolean.TRUE; + } + + public Paging selectAlertConfigPage(PageRequest request) { + return alertConfigData.selectAlertConfigPage(request); + } + + public Paging selectAlertRecordPage(PageRequest request) { + return alertRecordData.selectAlertConfigPage(request); + } +}