iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -236,6 +236,7 @@ create table t_mm_predict_alarm_message ( id varchar(36) not null, config_id varchar(36) COMMENT '配置ID', title varchar(36) COMMENT '消息标题', content varchar(128) COMMENT '消息内容', alarm_obj varchar(36) COMMENT '监控对象', @@ -250,6 +251,7 @@ create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', primary key (id), INDEX idx_item_id (item_id), INDEX idx_config_id (config_id), INDEX idx_alarm_obj (alarm_obj), INDEX idx_alarm_time (alarm_time) ) engine = innodb iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmConfigController.java
对比新文件 @@ -0,0 +1,74 @@ package com.iailab.module.model.mcs.pre.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmConfigService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigRespVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @RestController @RequestMapping("/model/pre/alarm-config") public class MmPredictAlarmConfigController { @Autowired private MmPredictAlarmConfigService mmPredictAlarmConfigService; @PostMapping("/create") @Operation(summary = "创建预警配置") @PreAuthorize("@ss.hasPermission('pre:alarm-config:create')") public CommonResult<Boolean> create(@Valid @RequestBody MmPredictAlarmConfigSaveReqVO createReqVO) { mmPredictAlarmConfigService.create(createReqVO); return success(true); } @PutMapping("/update") @Operation(summary = "更新预警配置") @PreAuthorize("@ss.hasPermission('pre:alarm-config:update')") public CommonResult<Boolean> update(@Valid @RequestBody MmPredictAlarmConfigSaveReqVO updateReqVO) { mmPredictAlarmConfigService.update(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除预警配置") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-config:delete')") public CommonResult<Boolean> deleteTenant(@RequestParam("id") String id) { mmPredictAlarmConfigService.delete(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得预警配置") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-config:query')") public CommonResult<MmPredictAlarmConfigRespVO> getInfo(@RequestParam("id") String id) { MmPredictAlarmConfigEntity entity = mmPredictAlarmConfigService.getInfo(id); return success(BeanUtils.toBean(entity, MmPredictAlarmConfigRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得预警配置分页") @PreAuthorize("@ss.hasPermission('pre:alarm-config:query')") public CommonResult<PageResult<MmPredictAlarmConfigRespVO>> getTenantPage(@Valid MmPredictAlarmConfigPageReqVO pageVO) { PageResult<MmPredictAlarmConfigEntity> pageResult = mmPredictAlarmConfigService.page(pageVO); return success(BeanUtils.toBean(pageResult, MmPredictAlarmConfigRespVO.class)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/controller/admin/MmPredictAlarmMessageController.java
对比新文件 @@ -0,0 +1,74 @@ package com.iailab.module.model.mcs.pre.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmMessageService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageRespVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @RestController @RequestMapping("/model/pre/alarm-message") public class MmPredictAlarmMessageController { @Autowired private MmPredictAlarmMessageService mmPredictAlarmMessageService; @PostMapping("/create") @Operation(summary = "创建预警消息") @PreAuthorize("@ss.hasPermission('pre:alarm-message:create')") public CommonResult<Boolean> create(@Valid @RequestBody MmPredictAlarmMessageSaveReqVO createReqVO) { mmPredictAlarmMessageService.create(createReqVO); return success(true); } @PutMapping("/update") @Operation(summary = "更新预警消息") @PreAuthorize("@ss.hasPermission('pre:alarm-message:update')") public CommonResult<Boolean> update(@Valid @RequestBody MmPredictAlarmMessageSaveReqVO updateReqVO) { mmPredictAlarmMessageService.update(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除预警消息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-message:delete')") public CommonResult<Boolean> deleteTenant(@RequestParam("id") String id) { mmPredictAlarmMessageService.delete(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得预警消息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-message:query')") public CommonResult<MmPredictAlarmMessageRespVO> getInfo(@RequestParam("id") String id) { MmPredictAlarmMessageEntity entity = mmPredictAlarmMessageService.getInfo(id); return success(BeanUtils.toBean(entity, MmPredictAlarmMessageRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得预警消息分页") @PreAuthorize("@ss.hasPermission('pre:alarm-message:query')") public CommonResult<PageResult<MmPredictAlarmMessageRespVO>> getTenantPage(@Valid MmPredictAlarmMessagePageReqVO pageVO) { PageResult<MmPredictAlarmMessageEntity> pageResult = mmPredictAlarmMessageService.page(pageVO); return success(BeanUtils.toBean(pageResult, MmPredictAlarmMessageRespVO.class)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmConfigDao.java
@@ -1,8 +1,11 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +16,11 @@ @TenantDS @Mapper public interface MmPredictAlarmConfigDao extends BaseMapperX<MmPredictAlarmConfigEntity> { default PageResult<MmPredictAlarmConfigEntity> selectPage(MmPredictAlarmConfigPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX<MmPredictAlarmConfigEntity>() .likeIfPresent(MmPredictAlarmConfigEntity::getTitle, reqVO.getTitle()) .likeIfPresent(MmPredictAlarmConfigEntity::getAlarmObj, reqVO.getAlarmObj()) .orderByDesc(MmPredictAlarmConfigEntity::getCreateTime)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/dao/MmPredictAlarmMessageDao.java
@@ -1,8 +1,11 @@ package com.iailab.module.model.mcs.pre.dao; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.mybatis.core.mapper.BaseMapperX; import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX; import com.iailab.framework.tenant.core.db.dynamic.TenantDS; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +16,15 @@ @TenantDS @Mapper public interface MmPredictAlarmMessageDao extends BaseMapperX<MmPredictAlarmMessageEntity> { default PageResult<MmPredictAlarmMessageEntity> selectPage(MmPredictAlarmMessagePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX<MmPredictAlarmMessageEntity>() .eqIfPresent(MmPredictAlarmMessageEntity::getConfigId, reqVO.getConfigId()) .likeIfPresent(MmPredictAlarmMessageEntity::getTitle, reqVO.getTitle()) .eqIfPresent(MmPredictAlarmMessageEntity::getAlarmObj, reqVO.getAlarmObj()) .likeIfPresent(MmPredictAlarmMessageEntity::getContent, reqVO.getContent()) .geIfPresent(MmPredictAlarmMessageEntity::getAlarmTime, reqVO.getStartTime()) .leIfPresent(MmPredictAlarmMessageEntity::getAlarmTime, reqVO.getEndTime()) .orderByDesc(MmPredictAlarmMessageEntity::getCreateTime)); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictAlarmMessageEntity.java
@@ -26,6 +26,11 @@ private String id; /** * 配置ID */ private String configId; /** * 消息标题 */ private String title; iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmConfigService.java
@@ -1,9 +1,25 @@ package com.iailab.module.model.mcs.pre.service; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.BaseService; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmPredictAlarmConfigService { public interface MmPredictAlarmConfigService extends BaseService<MmPredictAlarmConfigEntity> { PageResult<MmPredictAlarmConfigEntity> page(MmPredictAlarmConfigPageReqVO reqVO); MmPredictAlarmConfigEntity getInfo(String id); void create(MmPredictAlarmConfigSaveReqVO reqVO); void update(MmPredictAlarmConfigSaveReqVO reqVO); void delete(String id); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmPredictAlarmMessageService.java
@@ -1,9 +1,25 @@ package com.iailab.module.model.mcs.pre.service; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.BaseService; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public interface MmPredictAlarmMessageService { public interface MmPredictAlarmMessageService extends BaseService<MmPredictAlarmMessageEntity> { PageResult<MmPredictAlarmMessageEntity> page(MmPredictAlarmMessagePageReqVO reqVO); MmPredictAlarmMessageEntity getInfo(String id); void create(MmPredictAlarmMessageSaveReqVO reqVO); void update(MmPredictAlarmMessageSaveReqVO reqVO); void delete(String id); } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmConfigServiceImpl.java
@@ -1,11 +1,53 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.dao.MmPredictAlarmConfigDao; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmConfigEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmConfigService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigPageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmConfigSaveReqVO; import org.springframework.stereotype.Service; import java.util.Date; import java.util.UUID; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public class MmPredictAlarmConfigServiceImpl implements MmPredictAlarmConfigService { @Service public class MmPredictAlarmConfigServiceImpl extends BaseServiceImpl<MmPredictAlarmConfigDao, MmPredictAlarmConfigEntity> implements MmPredictAlarmConfigService { @Override public PageResult<MmPredictAlarmConfigEntity> page(MmPredictAlarmConfigPageReqVO reqVO) { return baseDao.selectPage(reqVO); } @Override public MmPredictAlarmConfigEntity getInfo(String id) { return baseDao.selectById(id); } @Override public void create(MmPredictAlarmConfigSaveReqVO reqVO) { MmPredictAlarmConfigEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmConfigEntity.class); entity.setId(UUID.randomUUID().toString()); entity.setCreateTime(new Date()); baseDao.insert(entity); } @Override public void update(MmPredictAlarmConfigSaveReqVO reqVO) { MmPredictAlarmConfigEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmConfigEntity.class); baseDao.updateById(entity); } @Override public void delete(String id) { baseDao.deleteById(id); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictAlarmMessageServiceImpl.java
@@ -1,11 +1,54 @@ package com.iailab.module.model.mcs.pre.service.impl; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.dao.MmPredictAlarmMessageDao; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmMessageService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; import org.springframework.stereotype.Service; import java.util.Date; import java.util.UUID; /** * @author PanZhibao * @Description * @createTime 2024年11月19日 */ public class MmPredictAlarmMessageServiceImpl implements MmPredictAlarmMessageService { @Service public class MmPredictAlarmMessageServiceImpl extends BaseServiceImpl<MmPredictAlarmMessageDao, MmPredictAlarmMessageEntity> implements MmPredictAlarmMessageService { @Override public PageResult<MmPredictAlarmMessageEntity> page(MmPredictAlarmMessagePageReqVO reqVO) { return baseDao.selectPage(reqVO); } @Override public MmPredictAlarmMessageEntity getInfo(String id) { return baseDao.selectById(id); } @Override public void create(MmPredictAlarmMessageSaveReqVO reqVO) { MmPredictAlarmMessageEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmMessageEntity.class); entity.setId(UUID.randomUUID().toString()); entity.setCreateTime(new Date()); baseDao.insert(entity); } @Override public void update(MmPredictAlarmMessageSaveReqVO reqVO) { MmPredictAlarmMessageEntity entity = BeanUtils.toBean(reqVO, MmPredictAlarmMessageEntity.class); baseDao.updateById(entity); } @Override public void delete(String id) { baseDao.deleteById(id); } } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigPageReqVO.java
对比新文件 @@ -0,0 +1,25 @@ package com.iailab.module.model.mcs.pre.vo; import com.iailab.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型平台 - Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class MmPredictAlarmConfigPageReqVO extends PageParam { @Schema(description = "消息标题") private String title; @Schema(description = "监控对象") private String alarmObj; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigRespVO.java
对比新文件 @@ -0,0 +1,66 @@ package com.iailab.module.model.mcs.pre.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型服务 - 预警配置 Response VO") @Data @ExcelIgnoreUnannotated public class MmPredictAlarmConfigRespVO { @Schema(description = "ID") private String id; @Schema(description = "消息标题") private String title; @Schema(description = "监控对象") private String alarmObj; @Schema(description = "预测项ID") private String itemId; @Schema(description = "输出ID") private String outId; @Schema(description = "比较长度") private Integer compLength; @Schema(description = "上限") private BigDecimal upperLimit; @Schema(description = "下限") private BigDecimal lowerLimit; @Schema(description = "单位") private String unit; @Schema(description = "转换系数") private BigDecimal coefficient; @Schema(description = "调度方案") private String scheduleId; @Schema(description = "是否启用(0禁用 1启用)") private Integer isEnable; @Schema(description = "创建者") private String creator; @Schema(description = "创建时间") private Date createTime; @Schema(description = "更新者") private String updater; @Schema(description = "更新时间") private Date updateTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmConfigSaveReqVO.java
对比新文件 @@ -0,0 +1,65 @@ package com.iailab.module.model.mcs.pre.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型服务 - 预警信息创建/修改 Request VO") @Data public class MmPredictAlarmConfigSaveReqVO { @Schema(description = "ID") private String id; @Schema(description = "消息标题") private String title; @Schema(description = "监控对象") private String alarmObj; @Schema(description = "预测项ID") private String itemId; @Schema(description = "输出ID") private String outId; @Schema(description = "比较长度") private Integer compLength; @Schema(description = "上限") private BigDecimal upperLimit; @Schema(description = "下限") private BigDecimal lowerLimit; @Schema(description = "单位") private String unit; @Schema(description = "转换系数") private BigDecimal coefficient; @Schema(description = "调度方案") private String scheduleId; @Schema(description = "是否启用(0禁用 1启用)") private Integer isEnable; @Schema(description = "创建者") private String creator; @Schema(description = "创建时间") private Date createTime; @Schema(description = "更新者") private String updater; @Schema(description = "更新时间") private Date updateTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmMessagePageReqVO.java
对比新文件 @@ -0,0 +1,39 @@ package com.iailab.module.model.mcs.pre.vo; import com.iailab.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型平台 - Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class MmPredictAlarmMessagePageReqVO extends PageParam { @Schema(description = "配置ID", example = "") private String configId; @Schema(description = "消息标题", example = "") private String title; @Schema(description = "消息内容", example = "") private String content; @Schema(description = "监控对象", example = "") private String alarmObj; @Schema(description = "开始时间", example = "") private Date startTime; @Schema(description = "结束时间", example = "") private Date endTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmMessageRespVO.java
对比新文件 @@ -0,0 +1,61 @@ package com.iailab.module.model.mcs.pre.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型服务 - 预警消息 Response VO") @Data @ExcelIgnoreUnannotated public class MmPredictAlarmMessageRespVO { @Schema(description = "ID") private String id; @Schema(description = "配置ID") private String configId; @Schema(description = "消息标题") private String title; @Schema(description = "消息内容") private String content; @Schema(description = "监控对象") private String alarmObj; @Schema(description = "监控点位ID") private String pointId; @Schema(description = "预测项ID") private String itemId; @Schema(description = "输出ID") private String outId; @Schema(description = "当前值") private BigDecimal currentValue; @Schema(description = "超出时间") private Date outTime; @Schema(description = "超出值") private BigDecimal outValue; @Schema(description = "预警类型") private String alarmType; @Schema(description = "预警时间") private Date alarmTime; @Schema(description = "创建时间") private Date createTime; } iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/vo/MmPredictAlarmMessageSaveReqVO.java
对比新文件 @@ -0,0 +1,59 @@ package com.iailab.module.model.mcs.pre.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @Schema(description = "模型服务 - 预警信息创建/修改 Request VO") @Data public class MmPredictAlarmMessageSaveReqVO { @Schema(description = "ID") private String id; @Schema(description = "配置ID") private String configId; @Schema(description = "消息标题") private String title; @Schema(description = "消息内容") private String content; @Schema(description = "监控对象") private String alarmObj; @Schema(description = "监控点位ID") private String pointId; @Schema(description = "预测项ID") private String itemId; @Schema(description = "输出ID") private String outId; @Schema(description = "当前值") private BigDecimal currentValue; @Schema(description = "超出时间") private Date outTime; @Schema(description = "超出值") private BigDecimal outValue; @Schema(description = "预警类型") private String alarmType; @Schema(description = "预警时间") private Date alarmTime; @Schema(description = "创建时间") private Date createTime; }