From 2b38459508ed4776137a14f6c8837d2d8ab094aa Mon Sep 17 00:00:00 2001 From: Jiale Date: Fri, 23 May 2025 17:14:27 +0800 Subject: [PATCH] =?UTF-8?q?feat(module-alert):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E5=B9=B6?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 Algorithm、ModelStatus、ModelTrash 和 ModelVisible 枚举类- 重构了模型相关的数据结构和接口 - 新增模型列表查询和创建模型的功能 -优化了代码结构,提高了可维护性和可扩展性 --- .../module/alert/common/enums/Algorithm.java | 32 +++++++ .../alert/common/enums/ModelStatus.java | 22 +++++ .../module/alert/common/enums/ModelTrash.java | 21 +++++ .../alert/common/enums/ModelVisible.java | 19 ++++ .../controller/admin/exa/vo/EXAPageReqVO.java | 8 ++ .../controller/admin/exa/vo/ExaPoint.java | 67 ++++++++++++++ .../{ => admin}/model/ModelController.java | 14 +-- .../model/ModelDataController.java | 10 +-- .../admin/model/model/ModelInfo.java | 35 ++++++++ .../controller/admin/model/model/Point.java | 59 +++++++++++++ .../{ => admin}/model/vo/CreateModelInfo.java | 2 +- .../{ => admin}/model/vo/ModelDataQuery.java | 2 +- .../{ => admin}/model/vo/ModelDataVO.java | 2 +- .../{ => admin}/model/vo/ModelInfoVO.java | 21 +---- .../model/vo/ModelSelectQuery.java | 2 +- .../{ => admin}/model/vo/ModelSimpleVO.java | 6 +- .../{ => admin}/model/vo/PointVO.java | 2 +- .../{ => admin}/model/vo/TimeRange.java | 2 +- .../admin/system/SelectController.java | 56 ++++++++++++ .../admin/system/vo/OptionItemVO.java | 26 ++++++ .../admin/system/vo/PointOptionItemVO.java | 21 +++++ .../admin/system/vo/SelectAllOptionVO.java | 32 +++++++ .../admin/system/vo/SelectQuery.java | 18 ++++ .../module/alert/dao/domain/ModelCfg.java | 42 +++------ .../module/alert/dao/domain/SystemCfg.java | 34 +++++++ .../alert/dao/domain/SystemTypeCfg.java | 23 +++++ .../module/alert/dao/domain/UnitCfg.java | 41 +++++++++ .../alert/dao/mapper/ModelCfgMapper.java | 4 +- .../alert/dao/mapper/SystemCfgMapper.java | 18 ++++ .../alert/dao/mapper/SystemTypeCfgMapper.java | 18 ++++ .../alert/dao/mapper/UnitCfgMapper.java | 18 ++++ .../alert/dao/service/ModelCfgService.java | 4 +- .../alert/dao/service/SystemCfgService.java | 13 +++ .../dao/service/SystemTypeCfgService.java | 13 +++ .../alert/dao/service/UnitCfgService.java | 13 +++ .../dao/service/impl/ModelCfgServiceImpl.java | 4 +- .../service/impl/SystemCfgServiceImpl.java | 22 +++++ .../impl/SystemTypeCfgServiceImpl.java | 22 +++++ .../dao/service/impl/UnitCfgServiceImpl.java | 22 +++++ .../module/alert/service/exa/EXAService.java | 14 +-- .../alert/service/exa/EXAServiceImpl.java | 41 +++++---- .../alert/service/model/ModelDataService.java | 2 +- .../alert/service/model/ModelService.java | 10 +-- .../model/impl/ModelDataServiceImpl.java | 6 +- .../service/model/impl/ModelServiceImpl.java | 74 +++++++++++++--- .../alert/service/system/SelectService.java | 30 +++++++ .../system/impl/SelectServiceImpl.java | 88 +++++++++++++++++++ .../alert/dao/mapper/ModelCfgMapper.xml | 49 ----------- .../main/resources/mapper/ModelCfgMapper.xml | 54 ++++++++++++ .../main/resources/mapper/SystemCfgMapper.xml | 23 +++++ .../resources/mapper/SystemTypeCfgMapper.xml | 16 ++++ .../main/resources/mapper/UnitCfgMapper.xml | 28 ++++++ .../yudao/server/YudaoServerApplication.java | 4 +- 53 files changed, 1060 insertions(+), 169 deletions(-) create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelStatus.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelTrash.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelVisible.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/ExaPoint.java rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/ModelController.java (75%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/ModelDataController.java (70%) create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/CreateModelInfo.java (75%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/ModelDataQuery.java (91%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/ModelDataVO.java (88%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/ModelInfoVO.java (58%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/ModelSelectQuery.java (91%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/ModelSimpleVO.java (85%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/PointVO.java (92%) rename yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/{ => admin}/model/vo/TimeRange.java (74%) create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/SelectController.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/OptionItemVO.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/PointOptionItemVO.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectAllOptionVO.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectQuery.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemCfg.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemTypeCfg.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/UnitCfg.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemCfgMapper.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemTypeCfgMapper.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/UnitCfgMapper.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemCfgService.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemTypeCfgService.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/UnitCfgService.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemCfgServiceImpl.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemTypeCfgServiceImpl.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/UnitCfgServiceImpl.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/SelectService.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/impl/SelectServiceImpl.java delete mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelCfgMapper.xml create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemCfgMapper.xml create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemTypeCfgMapper.xml create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/UnitCfgMapper.xml diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java new file mode 100644 index 0000000..1834ab8 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/Algorithm.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.alert.common.enums; + +import lombok.AllArgsConstructor; + +import java.util.Objects; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 14:07 + */ +@AllArgsConstructor +public enum Algorithm { + /** + * 模型算法枚举 + */ + ERROR(-1), + PCA(0), + ANN(1); + + public final Integer code; + + + public static Algorithm of(Integer code) { + for (Algorithm algorithm : values()) { + if (Objects.equals(algorithm.code, code)) { + return algorithm; + } + } + return ERROR; + } +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelStatus.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelStatus.java new file mode 100644 index 0000000..53c829c --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelStatus.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.alert.common.enums; + +import lombok.AllArgsConstructor; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 13:48 + */ +@AllArgsConstructor +public enum ModelStatus { + /** + * 模型状态 + */ + TRAINING(0, "训练中"), + FINISH(1, "已下装"); + + + public final Integer code; + + public final String desc; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelTrash.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelTrash.java new file mode 100644 index 0000000..82247c9 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelTrash.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.alert.common.enums; + +import lombok.AllArgsConstructor; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 13:53 + */ +@AllArgsConstructor +public enum ModelTrash { + /** + * 删除状态 + */ + NORMAL(0, "正常"), + TRASH(1, "已删除"), + ; + public final Integer code; + + public final String desc; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelVisible.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelVisible.java new file mode 100644 index 0000000..d919d6c --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/common/enums/ModelVisible.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.alert.common.enums; + +import lombok.AllArgsConstructor; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 14:00 + */ +@AllArgsConstructor +public enum ModelVisible { + /** + * 模型可见状态 + */ + VISIBLE(1), + INVISIBLE(0), + ; + public final Integer code; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAPageReqVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAPageReqVO.java index 02a7fb9..38a62c6 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAPageReqVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/EXAPageReqVO.java @@ -4,11 +4,19 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; @Schema(description = "预警诊断系统 - EXA测点分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) +@NoArgsConstructor public class EXAPageReqVO extends PageParam { @Schema(description = "测点名称或描述,模糊匹配", example = "芋道") private String condition; + + public EXAPageReqVO(String condition) { + this.condition = condition; + } + + } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/ExaPoint.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/ExaPoint.java new file mode 100644 index 0000000..6b970a2 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/exa/vo/ExaPoint.java @@ -0,0 +1,67 @@ +package cn.iocoder.yudao.module.alert.controller.admin.exa.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-20 20:45 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExaPoint { + /** + * 点号 + */ + @JsonProperty("ItemName") + private String itemName; + /** + * + */ + @JsonProperty("SerialNumber") + private int serialNumber; + /** + * 组名 + */ + @JsonProperty("GroupName") + private String groupName; + /** + * 类型 + */ + @JsonProperty("ItemType") + private int itemType; + /** + * 描述 + */ + @JsonProperty("Descriptor") + private String descriptor; + /** + * 单位 + */ + @JsonProperty("EngUnits") + private String engUnits; + /** + * 上限 + */ + @JsonProperty("UpperLimit") + private Double upperLimit; + /** + * 下限 + */ + @JsonProperty("LowerLimit") + private Double lowerLimit; + /** + * 上边界 + */ + @JsonProperty("LowerBound") + private Double lowerBound; + /** + * 下变价 + */ + @JsonProperty("UpperBound") + private Double upperBound; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelController.java similarity index 75% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelController.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelController.java index ba843df..fb825dc 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelController.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelController.java @@ -1,10 +1,10 @@ -package cn.iocoder.yudao.module.alert.controller.model; +package cn.iocoder.yudao.module.alert.controller.admin.model; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.CreateModelInfo; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelInfoVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSelectQuery; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSimpleVO; import cn.iocoder.yudao.module.alert.service.model.ModelService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -21,7 +21,7 @@ import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeC */ @RestController @RequiredArgsConstructor -@RequestMapping("/api/model") +@RequestMapping("/alert/model") public class ModelController { private final ModelService modelService; @@ -39,7 +39,7 @@ public class ModelController { } @PostMapping("/") - public CommonResult saveModel(@RequestBody CreateModelInfo model) { + public CommonResult saveModel(@RequestBody ModelInfoVO model) { Integer id = modelService.createModel(model); if (Objects.nonNull(id) && id > 0) { return CommonResult.success(id); diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelDataController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelDataController.java similarity index 70% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelDataController.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelDataController.java index b6931bb..cf57c48 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelDataController.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelDataController.java @@ -1,9 +1,9 @@ -package cn.iocoder.yudao.module.alert.controller.model; +package cn.iocoder.yudao.module.alert.controller.admin.model; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataQuery; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO; -import cn.iocoder.yudao.module.alert.controller.model.vo.TimeRange; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataQuery; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.TimeRange; import cn.iocoder.yudao.module.alert.service.model.ModelDataService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @RequiredArgsConstructor -@RequestMapping("/api/model/data") +@RequestMapping("/alert/model/data") public class ModelDataController { private final ModelDataService modelDataService; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java new file mode 100644 index 0000000..85d4451 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.alert.controller.admin.model.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; + +import java.util.List; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 23:02 + */ +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ModelInfo { + /** + * id + */ + private Integer id; + /** + * 创建人 + */ + private String createName; + /** + * 名称 + */ + private String modelName; + + + + private List pointInfo; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java new file mode 100644 index 0000000..08fbd22 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.alert.controller.admin.model.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; + +import java.math.BigDecimal; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-19 22:48 + */ +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class Point { + /** + * 系统名称 + */ + private String systemName; + + /** + * 目标点号 + */ + @JsonProperty("target_point") + private String targetPoint; + + /** + * 描述 + */ + private String description; + + /** + * 单位 + */ + private String unit; + + /** + * 类型 + */ + private String marktype; + + /** + * 上限 + */ + private BigDecimal upperlimit; + + /** + * 下限 + */ + private BigDecimal lowerlimit; + + /** + * 网格数 + */ + private Integer gridNumber; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/CreateModelInfo.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/CreateModelInfo.java similarity index 75% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/CreateModelInfo.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/CreateModelInfo.java index 2a6f6e2..64670d5 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/CreateModelInfo.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/CreateModelInfo.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import lombok.Data; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataQuery.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataQuery.java similarity index 91% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataQuery.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataQuery.java index b6f9e2f..63ab0d1 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataQuery.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataQuery.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import com.fasterxml.jackson.annotation.JsonFormat; import jakarta.validation.constraints.NotBlank; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataVO.java similarity index 88% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataVO.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataVO.java index 58c560a..2226564 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelDataVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import lombok.*; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelInfoVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelInfoVO.java similarity index 58% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelInfoVO.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelInfoVO.java index 247ef5e..90f709f 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelInfoVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelInfoVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.*; @@ -42,25 +42,12 @@ public class ModelInfoVO { */ private String modelName; - private List steadyPoint; - /** - * 滑动窗参数 - */ - private MovingWindows movingWindows; - - private PointVO targetParameter; - - private List relationParameter; - private List boundaryParameter; + private List pointInfo; + private Integer algorithmId; - @Data - public static class MovingWindows { - private Integer windowLength; + private Integer systemId; - private Integer samplingInterval; - private Integer movingSpeed; - } } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSelectQuery.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSelectQuery.java similarity index 91% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSelectQuery.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSelectQuery.java index 8b31107..d15c65b 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSelectQuery.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSelectQuery.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import lombok.Data; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSimpleVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java similarity index 85% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSimpleVO.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java index f512743..76a7158 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSimpleVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/ModelSimpleVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; @@ -33,7 +33,7 @@ public class ModelSimpleVO { /** * 创建人 */ - private String creatName; + private String createName; /** * 模型状态 @@ -43,5 +43,5 @@ public class ModelSimpleVO { * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date creatTime; + private Date createTime; } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/PointVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/PointVO.java similarity index 92% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/PointVO.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/PointVO.java index fd0a66a..f108e3a 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/PointVO.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/PointVO.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/TimeRange.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/TimeRange.java similarity index 74% rename from yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/TimeRange.java rename to yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/TimeRange.java index cbc6477..bdbd413 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/TimeRange.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/vo/TimeRange.java @@ -1,4 +1,4 @@ -package cn.iocoder.yudao.module.alert.controller.model.vo; +package cn.iocoder.yudao.module.alert.controller.admin.model.vo; import lombok.Data; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/SelectController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/SelectController.java new file mode 100644 index 0000000..ddc5aeb --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/SelectController.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.alert.controller.admin.system; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.PointOptionItemVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; +import cn.iocoder.yudao.module.alert.service.exa.EXAService; +import cn.iocoder.yudao.module.alert.service.system.SelectService; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.List; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-16 22:37 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/alert/select") +public class SelectController { + /** + * 查询条件不能含有这个,否则exa会挂掉 + */ + private static final String EXA_NOT_SUPPORT_STR = "'"; + private final SelectService selectService; + + private final EXAService exaService; + + @GetMapping("list") + public CommonResult getAllOptions() { + SelectAllOptionVO allOptions = selectService.getAllOptions(); + return CommonResult.success(allOptions); + } + + @GetMapping("/system/options") + public CommonResult> getTypeOptions(@Valid SelectQuery query) { + List systemOptions = selectService.getSystemOptions(query); + return CommonResult.success(systemOptions); + } + + @GetMapping("/point/options") + public CommonResult> getPointOptions(String keyword) { + List pointOptionList = new ArrayList<>(); + if (StringUtils.hasText(keyword) && !keyword.contains(EXA_NOT_SUPPORT_STR)) { + pointOptionList = exaService.getPointOptionList(keyword); + } + return CommonResult.success(pointOptionList); + } +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/OptionItemVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/OptionItemVO.java new file mode 100644 index 0000000..877d5ec --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/OptionItemVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.alert.controller.admin.system.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.ToString; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-16 22:39 + */ +@Data +@Builder +@ToString +@AllArgsConstructor +public class OptionItemVO { + /** + * id + */ + private Integer id; + /** + * 名称 + */ + private String name; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/PointOptionItemVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/PointOptionItemVO.java new file mode 100644 index 0000000..c06e6d0 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/PointOptionItemVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.alert.controller.admin.system.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.ToString; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-20 20:55 + */ +@Data +@Builder +@ToString +@AllArgsConstructor +public class PointOptionItemVO { + private String id; + + private String name; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectAllOptionVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectAllOptionVO.java new file mode 100644 index 0000000..8c5e970 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectAllOptionVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.alert.controller.admin.system.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-16 22:38 + */ +@Data +@Builder +@ToString +@AllArgsConstructor +public class SelectAllOptionVO { + /** + * 机组选项 + */ + private List units; + /** + * 系统选项 + */ + private List types; + /** + * 子系统选项 + */ + private List systems; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectQuery.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectQuery.java new file mode 100644 index 0000000..aa284b1 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/system/vo/SelectQuery.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.alert.controller.admin.system.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-17 23:48 + */ +@Data +public class SelectQuery { + @NotNull + private Integer unitId; + @NotNull + private Integer typeId; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java index c24fee0..3361ffa 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java @@ -1,75 +1,53 @@ package cn.iocoder.yudao.module.alert.dao.domain; import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; +import java.io.Serializable; import java.util.Date; /** * @TableName model_cfg */ -@TableName(value ="model_cfg") +@TableName(value = "model_cfg") @Data -public class ModelCfg { +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ModelCfg implements Serializable { + private static final long serialVersionUID = 1L; private Integer id; - private Integer systemId; - private Integer algorithmId; - private String modelName; - private Date creatTime; - private String creatName; - private String modelInfo; - private Integer status; - private Integer visible; - private String conditionInfo; - private Integer trash; - private String assessRes; - private Integer needToAssess; - private Double score; - private String clearOrNot; - private Integer effNumber; - private Integer needToClean; - private String origAssessRes; - private Double loadCover; - private String coverOutput; - private String curVersion; - private String modelVersion; - private String versionInfo; - private String conditionName; - private Integer isOnline; - private Integer trainStatus; - private String creator; - private Date createTime; - private String updater; - private Date updateTime; - private Boolean deleted; } \ No newline at end of file diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemCfg.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemCfg.java new file mode 100644 index 0000000..0c10221 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemCfg.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.alert.dao.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName system_cfg + */ +@TableName(value ="system_cfg") +@Data +public class SystemCfg implements Serializable { + private Integer systemId; + + private Integer systemTypeId; + + private String systemName; + + private String systemShortname; + + private Integer unitId; + + private String resetpoint; + + private Date resettime; + + private String resetlist; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemTypeCfg.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemTypeCfg.java new file mode 100644 index 0000000..fa8fcdd --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/SystemTypeCfg.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.alert.dao.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * @TableName system_type_cfg + */ +@TableName(value ="system_type_cfg") +@Data +public class SystemTypeCfg implements Serializable { + private Integer systemTypeId; + + private String systemTypeName; + + private String systemTypeShortname; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/UnitCfg.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/UnitCfg.java new file mode 100644 index 0000000..630d044 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/UnitCfg.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.alert.dao.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * @TableName unit_cfg + */ +@TableName(value ="unit_cfg") +@Data +public class UnitCfg implements Serializable { + private Integer unitId; + + private Integer plantId; + + private String unitName; + + private String unitShortname; + + private String alertBasicSample; + + private String loadpoint; + + private String temppoint; + + private Integer capacity; + + private String zqylqx; + + private String zqylMeasured; + + private String zqylTarget; + + private String datas; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java index 6043a34..b91fd37 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java @@ -4,9 +4,9 @@ import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** -* @author cjl60 +* @author 陈小黑 * @description 针对表【model_cfg】的数据库操作Mapper -* @createDate 2025-05-18 10:52:08 +* @createDate 2025-05-22 15:45:38 * @Entity cn.iocoder.yudao.module.alert.dao.domain.ModelCfg */ public interface ModelCfgMapper extends BaseMapper { diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemCfgMapper.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemCfgMapper.java new file mode 100644 index 0000000..72ad7f6 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemCfgMapper.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.alert.dao.mapper; + +import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 陈小黑 +* @description 针对表【system_cfg】的数据库操作Mapper +* @createDate 2025-05-21 16:10:38 +* @Entity cn.iocoder.yudao.module.alert.dao.domain.SystemCfg +*/ +public interface SystemCfgMapper extends BaseMapper { + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemTypeCfgMapper.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemTypeCfgMapper.java new file mode 100644 index 0000000..0b0ecee --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/SystemTypeCfgMapper.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.alert.dao.mapper; + +import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 陈小黑 +* @description 针对表【system_type_cfg】的数据库操作Mapper +* @createDate 2025-05-21 16:10:57 +* @Entity cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg +*/ +public interface SystemTypeCfgMapper extends BaseMapper { + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/UnitCfgMapper.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/UnitCfgMapper.java new file mode 100644 index 0000000..7a68ff7 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/UnitCfgMapper.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.alert.dao.mapper; + +import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author 陈小黑 +* @description 针对表【unit_cfg】的数据库操作Mapper +* @createDate 2025-05-21 16:07:43 +* @Entity cn.iocoder.yudao.module.alert.dao.domain.UnitCfg +*/ +public interface UnitCfgMapper extends BaseMapper { + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java index df918fc..a0ac0c7 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java @@ -4,9 +4,9 @@ import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; import com.baomidou.mybatisplus.extension.service.IService; /** -* @author cjl60 +* @author 陈小黑 * @description 针对表【model_cfg】的数据库操作Service -* @createDate 2025-05-18 10:52:08 +* @createDate 2025-05-22 15:45:38 */ public interface ModelCfgService extends IService { diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemCfgService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemCfgService.java new file mode 100644 index 0000000..e8d11b1 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemCfgService.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.alert.dao.service; + +import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 陈小黑 +* @description 针对表【system_cfg】的数据库操作Service +* @createDate 2025-05-21 16:10:38 +*/ +public interface SystemCfgService extends IService { + +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemTypeCfgService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemTypeCfgService.java new file mode 100644 index 0000000..4ba6eb1 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/SystemTypeCfgService.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.alert.dao.service; + +import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 陈小黑 +* @description 针对表【system_type_cfg】的数据库操作Service +* @createDate 2025-05-21 16:10:57 +*/ +public interface SystemTypeCfgService extends IService { + +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/UnitCfgService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/UnitCfgService.java new file mode 100644 index 0000000..38b9859 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/UnitCfgService.java @@ -0,0 +1,13 @@ +package cn.iocoder.yudao.module.alert.dao.service; + +import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author 陈小黑 +* @description 针对表【unit_cfg】的数据库操作Service +* @createDate 2025-05-21 16:07:43 +*/ +public interface UnitCfgService extends IService { + +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java index 9721c90..66c2a2d 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java @@ -7,9 +7,9 @@ import cn.iocoder.yudao.module.alert.dao.mapper.ModelCfgMapper; import org.springframework.stereotype.Service; /** -* @author cjl60 +* @author 陈小黑 * @description 针对表【model_cfg】的数据库操作Service实现 -* @createDate 2025-05-18 10:52:08 +* @createDate 2025-05-22 15:45:38 */ @Service public class ModelCfgServiceImpl extends ServiceImpl diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemCfgServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemCfgServiceImpl.java new file mode 100644 index 0000000..5ac1ca0 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemCfgServiceImpl.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.alert.dao.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; +import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; +import cn.iocoder.yudao.module.alert.dao.mapper.SystemCfgMapper; +import org.springframework.stereotype.Service; + +/** +* @author 陈小黑 +* @description 针对表【system_cfg】的数据库操作Service实现 +* @createDate 2025-05-21 16:10:38 +*/ +@Service +public class SystemCfgServiceImpl extends ServiceImpl + implements SystemCfgService{ + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemTypeCfgServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemTypeCfgServiceImpl.java new file mode 100644 index 0000000..c61ea5e --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/SystemTypeCfgServiceImpl.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.alert.dao.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; +import cn.iocoder.yudao.module.alert.dao.service.SystemTypeCfgService; +import cn.iocoder.yudao.module.alert.dao.mapper.SystemTypeCfgMapper; +import org.springframework.stereotype.Service; + +/** +* @author 陈小黑 +* @description 针对表【system_type_cfg】的数据库操作Service实现 +* @createDate 2025-05-21 16:10:57 +*/ +@Service +public class SystemTypeCfgServiceImpl extends ServiceImpl + implements SystemTypeCfgService{ + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/UnitCfgServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/UnitCfgServiceImpl.java new file mode 100644 index 0000000..e7056d2 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/UnitCfgServiceImpl.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.alert.dao.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; +import cn.iocoder.yudao.module.alert.dao.service.UnitCfgService; +import cn.iocoder.yudao.module.alert.dao.mapper.UnitCfgMapper; +import org.springframework.stereotype.Service; + +/** +* @author 陈小黑 +* @description 针对表【unit_cfg】的数据库操作Service实现 +* @createDate 2025-05-21 16:07:43 +*/ +@Service +public class UnitCfgServiceImpl extends ServiceImpl + implements UnitCfgService{ + +} + + + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java index 7f01df9..80eb263 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAService.java @@ -1,12 +1,12 @@ package cn.iocoder.yudao.module.alert.service.exa; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.*; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.PointOptionItemVO; import java.io.IOException; import java.net.URISyntaxException; -import java.util.*; +import java.util.List; public interface EXAService { /** @@ -21,16 +21,20 @@ public interface EXAService { List getEXAListNow(List list) throws URISyntaxException, IOException; + String getEXANow(String itemName) throws URISyntaxException, IOException; - List getEXAHistory(EXAHistoryReqVO exaHistoryReqVo); + List getEXAHistory(EXAHistoryReqVO exaHistoryReqVo); List> getEXAHistorys(EXAHistoryReqVO exaHistoryReqVo); String createPoint(Point pointVo) throws IOException; - public List getEXAGroupInfo() throws URISyntaxException, IOException; + List getEXAGroupInfo() throws URISyntaxException, IOException; + + String deletePoint(String ItemName); - public String deletePoint(String ItemName); EXAPointImportRespVO importPointList(List importPoints, boolean isUpdateSupport); + + List getPointOptionList(String search); } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java index 9995b11..88fa652 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/exa/EXAServiceImpl.java @@ -1,36 +1,22 @@ package cn.iocoder.yudao.module.alert.service.exa; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.*; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.PointOptionItemVO; import cn.iocoder.yudao.module.alert.utils.EXAUtils; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.reflect.TypeToken; -import jakarta.validation.ConstraintViolationException; import lombok.extern.slf4j.Slf4j; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import java.io.IOException; -import java.lang.reflect.Type; import java.net.URISyntaxException; import java.util.*; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.alert.utils.PageUtils.getPartList; @@ -40,6 +26,11 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; @Validated @Slf4j public class EXAServiceImpl implements EXAService { + private static final String EXA_SEARCH_FORMATTER = "ItemName like'%%%s%%' or Descriptor like '%%%s%%'"; + + private static final String EXA_SEARCH_KEY = "WhereClause"; + + private static final String ID_SPLIT = "|"; EXAUtils exaUtils = new EXAUtils(); @@ -126,4 +117,22 @@ public class EXAServiceImpl implements EXAService { return respVO; } + @Override + public List getPointOptionList(String search) { + try { + List points = exaUtils.getPointInfo(EXA_IP, new EXAPageReqVO(search)); + return points.stream().map(p -> PointOptionItemVO.builder() + .id(p.getDescriptor() + ID_SPLIT + + p.getItemName() + ID_SPLIT + + p.getEngUnits() + ID_SPLIT + + p.getUpperLimit() + ID_SPLIT + + p.getLowerLimit()) + .name(p.getDescriptor() + " (" + p.getItemName() + ")") + .build()) + .collect(Collectors.toList()); + } catch (Exception e) { + log.error("获取exa异常:{}", search, e); + } + return new ArrayList<>(); + } } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java index a8d4f06..983c8d6 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java @@ -1,7 +1,7 @@ package cn.iocoder.yudao.module.alert.service.model; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; import java.util.Date; import java.util.List; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java index 8311db6..8dcb076 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java @@ -1,10 +1,10 @@ package cn.iocoder.yudao.module.alert.service.model; -import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.CreateModelInfo; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelInfoVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSelectQuery; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSimpleVO; import java.util.List; @@ -36,7 +36,7 @@ public interface ModelService { * @param model 模型参数 * @return 模型id */ - Integer createModel(CreateModelInfo model); + Integer createModel(ModelInfoVO model); /** * 更新model info diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java index 7df28ea..449c84e 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java @@ -1,15 +1,11 @@ package cn.iocoder.yudao.module.alert.service.model.impl; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelDataVO; import cn.iocoder.yudao.module.alert.service.model.ModelDataService; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; -import java.text.DecimalFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java index e907ce8..5696128 100644 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java @@ -1,21 +1,25 @@ package cn.iocoder.yudao.module.alert.service.model.impl; import cn.hutool.core.bean.BeanUtil; -import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery; -import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO; +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; +import cn.iocoder.yudao.module.alert.common.enums.Algorithm; +import cn.iocoder.yudao.module.alert.common.enums.ModelStatus; +import cn.iocoder.yudao.module.alert.common.enums.ModelTrash; +import cn.iocoder.yudao.module.alert.common.enums.ModelVisible; +import cn.iocoder.yudao.module.alert.controller.admin.model.model.ModelInfo; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelInfoVO; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSelectQuery; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.ModelSimpleVO; import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; +import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService; +import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; import cn.iocoder.yudao.module.alert.service.model.ModelService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.aspectj.asm.AsmManager; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -35,9 +39,39 @@ import java.util.stream.Collectors; public class ModelServiceImpl implements ModelService { private final ModelCfgService modelCfgService; + private final SystemCfgService systemCfgService; + @Override public List getModelList(ModelSelectQuery query) { - return null; + Integer systemId = query.getSystemId(); + String modelName = query.getName(); + Integer status = query.getStatus(); + Integer trash = query.getTrash(); + Integer typeId = query.getTypeId(); + List systems = null; + if (Objects.nonNull(typeId)) { + LambdaQueryWrapper systemQuery = new LambdaQueryWrapper<>(); + systemQuery.eq(SystemCfg::getSystemTypeId, typeId); + List list = systemCfgService.list(systemQuery); + systems = list.stream().map(SystemCfg::getSystemId).collect(Collectors.toList()); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Objects.nonNull(systemId), ModelCfg::getSystemId, systemId) + .eq(Objects.nonNull(status), ModelCfg::getStatus, status) + .eq(Objects.nonNull(trash), ModelCfg::getTrash, trash) + .eq(ModelCfg::getVisible, ModelVisible.VISIBLE.code) + .in(CollUtil.isNotEmpty(systems), ModelCfg::getSystemId, systems) + .like(StringUtils.hasLength(modelName), ModelCfg::getModelName, modelName); + List list = modelCfgService.list(queryWrapper); + return list.stream().map(modelCfg -> ModelSimpleVO.builder() + .id(modelCfg.getId()) + .name(modelCfg.getModelName().trim()) + .createName(modelCfg.getCreator()) + .createTime(modelCfg.getCreateTime()) + .status(modelCfg.getStatus()) + .algorithm(Algorithm.of(modelCfg.getAlgorithmId()).toString()) + .build()) + .collect(Collectors.toList()); } @Override @@ -46,8 +80,26 @@ public class ModelServiceImpl implements ModelService { } @Override - public Integer createModel(CreateModelInfo model) { + public Integer createModel(ModelInfoVO model) { try { + ModelInfo info = new ModelInfo(); + BeanUtil.copyProperties(model, info); + ModelCfg modelCfg = ModelCfg.builder() + .systemId(model.getSystemId()) + .algorithmId(model.getAlgorithmId()) + .modelName(model.getModelName()) + .createTime(new Date()) + .trash(ModelTrash.NORMAL.code) + .visible(ModelVisible.VISIBLE.code) + .status(ModelStatus.TRAINING.code) + .creator(SecurityFrameworkUtils.getLoginUserNickname()) + .build(); + modelCfgService.save(modelCfg); + Integer modelId = modelCfg.getId(); + info.setId(modelId); + modelCfg.setModelInfo(JsonUtils.toJsonString(info)); + modelCfgService.updateById(modelCfg); + return modelId; } catch (Exception e) { log.error("新建模型异常,model:{}", model); } diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/SelectService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/SelectService.java new file mode 100644 index 0000000..eca2571 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/SelectService.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.alert.service.system; + + +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; + +import java.util.List; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-16 22:44 + */ +public interface SelectService { + /** + * 获取所有的下拉框选项 + * + * @return 下拉框选项 + */ + SelectAllOptionVO getAllOptions(); + + /** + * 根据unit id和type id获取系统选项 + * + * @param query 查询参数 + * @return 系统选项 + */ + List getSystemOptions(SelectQuery query); +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/impl/SelectServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/impl/SelectServiceImpl.java new file mode 100644 index 0000000..1c90f17 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/system/impl/SelectServiceImpl.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.alert.service.system.impl; + +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.OptionItemVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectAllOptionVO; +import cn.iocoder.yudao.module.alert.controller.admin.system.vo.SelectQuery; +import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; +import cn.iocoder.yudao.module.alert.dao.domain.SystemTypeCfg; +import cn.iocoder.yudao.module.alert.dao.domain.UnitCfg; +import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; +import cn.iocoder.yudao.module.alert.dao.service.SystemTypeCfgService; +import cn.iocoder.yudao.module.alert.dao.service.UnitCfgService; +import cn.iocoder.yudao.module.alert.service.system.SelectService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author chenjiale + * @version 1.0 + * @date 2023-08-16 22:45 + */ +@Service +@RequiredArgsConstructor +public class SelectServiceImpl implements SelectService { + private final UnitCfgService unitCfgService; + + private final SystemTypeCfgService systemTypeCfgService; + + private final SystemCfgService systemCfgService; + + @Override + public SelectAllOptionVO getAllOptions() { + List unitCfgList = unitCfgService.list(); + + LambdaQueryWrapper typeQuery = new LambdaQueryWrapper<>(); + typeQuery.orderByAsc(SystemTypeCfg::getSystemTypeId); + List typeCfgList = systemTypeCfgService.list(typeQuery); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SystemCfg::getSystemTypeId, typeCfgList.get(0).getSystemTypeId()) + .eq(SystemCfg::getUnitId, unitCfgList.get(0).getUnitId()) + .orderByAsc(SystemCfg::getSystemId); + List systemCfgList = systemCfgService.list(queryWrapper); + + + List units = unitCfgList.stream().map(o -> OptionItemVO.builder() + .id(o.getUnitId()) + .name(o.getUnitName().trim()) + .build()).collect(Collectors.toList()); + List types = typeCfgList.stream().map(o -> OptionItemVO.builder() + .id(o.getSystemTypeId()) + .name(o.getSystemTypeShortname().trim()) + .build()).collect(Collectors.toList()); + + List systems = systemCfgList.stream().map(o -> OptionItemVO.builder() + .id(o.getSystemId()) + .name(o.getSystemName().trim()) + .build()).collect(Collectors.toList()); + systems.add(0, OptionItemVO.builder().id(null).name("全部").build()); + return SelectAllOptionVO.builder() + .units(units) + .types(types) + .systems(systems) + .build(); + } + + @Override + public List getSystemOptions(@Valid SelectQuery query) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Integer unitId = query.getUnitId(); + Integer typeId = query.getTypeId(); + queryWrapper.eq(SystemCfg::getSystemTypeId, typeId) + .eq(SystemCfg::getUnitId, unitId) + .orderByAsc(SystemCfg::getSystemId); + List systemCfgList = systemCfgService.list(queryWrapper); + List systems = systemCfgList.stream().map(o -> OptionItemVO.builder() + .id(o.getSystemId()) + .name(o.getSystemName().trim()) + .build()) + .collect(Collectors.toList()); + systems.add(0, OptionItemVO.builder().id(null).name("全部").build()); + return systems; + } +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml deleted file mode 100644 index 752dad8..0000000 --- a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - id,system_id,algorithm_id,model_name,creat_time,creat_name, - model_info,status,visible,condition_info,trash, - assess_res,need_to_assess,score,clear_or_not,eff_number, - need_to_clean,orig_assess_res,load_cover,cover_output,cur_version, - model_version,version_info,condition_name,is_online,train_status, - creator,create_time,updater,update_time,deleted - - diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelCfgMapper.xml b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelCfgMapper.xml new file mode 100644 index 0000000..ac7179d --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelCfgMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,system_id,algorithm_id, + model_name,creat_time,creat_name, + model_info,status,visible, + condition_info,trash,assess_res, + need_to_assess,score,clear_or_not, + eff_number,need_to_clean,orig_assess_res, + load_cover,cover_output,cur_version, + model_version,version_info,condition_name, + is_online,train_status,creator, + create_time,updater,update_time, + deleted + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemCfgMapper.xml b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemCfgMapper.xml new file mode 100644 index 0000000..74426d4 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemCfgMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + system_id,system_type_id,system_name, + system_shortname,unit_id,resetpoint, + resettime,resetlist + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemTypeCfgMapper.xml b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemTypeCfgMapper.xml new file mode 100644 index 0000000..26b627f --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/SystemTypeCfgMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + system_type_id,system_type_name,system_type_shortname + + diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/UnitCfgMapper.xml b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/UnitCfgMapper.xml new file mode 100644 index 0000000..8251109 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/UnitCfgMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + unit_id,plant_id,unit_name, + unit_shortname,alert_basic_sample,loadpoint, + temppoint,capacity,zqylqx, + zqyl_measured,zqyl_target,datas + + diff --git a/yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java b/yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java index b4bb105..5ad5370 100644 --- a/yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java +++ b/yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.server; import com.github.fppt.jedismock.RedisServer; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -8,7 +9,7 @@ import java.io.IOException; /** * 项目的启动类 - * + *

* 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 * 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 * 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 @@ -17,6 +18,7 @@ import java.io.IOException; */ @SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${yudao.info.base-package} @SpringBootApplication(scanBasePackages = {"${yudao.info.base-package}.server", "${yudao.info.base-package}.module"}) +@MapperScan("cn.iocoder.yudao.module.alert.dao.mapper") public class YudaoServerApplication { public static void main(String[] args) {