From fd0323865bfc924a8868b2ac13024af99fe6644e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Thu, 18 Sep 2025 08:59:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AEid?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2json=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/device/DeviceController.java | 40 ++++++++++++++ .../admin/device/vo/DeviceRespVO.java | 37 +++++++++++++ .../alert/dal/dataobject/device/DeviceDO.java | 46 ++++++++++++++++ .../alert/dal/mysql/device/DeviceMapper.java | 10 ++++ .../alert/service/device/DeviceService.java | 16 ++++++ .../service/device/DeviceServiceImpl.java | 52 +++++++++++++++++++ 6 files changed, 201 insertions(+) create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/DeviceController.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/vo/DeviceRespVO.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/device/DeviceDO.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/mysql/device/DeviceMapper.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceService.java create mode 100644 yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceServiceImpl.java diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/DeviceController.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/DeviceController.java new file mode 100644 index 0000000..9688b49 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/DeviceController.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.alert.controller.admin.device; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.alert.controller.admin.calcgroup.vo.CalcGroupPageReqVO; +import cn.iocoder.yudao.module.alert.controller.admin.calcgroup.vo.CalcGroupRespVO; +import cn.iocoder.yudao.module.alert.controller.admin.device.vo.DeviceRespVO; +import cn.iocoder.yudao.module.alert.dal.dataobject.calcgroup.CalcGroupDO; +import cn.iocoder.yudao.module.alert.dal.dataobject.device.DeviceDO; +import cn.iocoder.yudao.module.alert.service.calcgroup.CalcGroupService; +import cn.iocoder.yudao.module.alert.service.device.DeviceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Comparator; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "设备 - 设备首页") +@RestController +@RequestMapping("/device") +@Validated +public class DeviceController { + @Resource + private DeviceService deviceService; + + @GetMapping("/info") + @Operation(summary = "获取页面属性", description = "用于构造前端页面") + public CommonResult getdeviceInfo(Long id) { + DeviceDO list = deviceService.getDeviceInfo(id); + return success(BeanUtils.toBean(list, DeviceRespVO.class)); + } +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/vo/DeviceRespVO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/vo/DeviceRespVO.java new file mode 100644 index 0000000..1703f26 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/device/vo/DeviceRespVO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.alert.controller.admin.device.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "设备 - 设备首页") +@Data +@ExcelIgnoreUnannotated +public class DeviceRespVO { + @JsonProperty("ID") + + @Schema(description = "id", example = "id") + private Long id; + + @JsonProperty("Unit_ID") + @Schema(description = "机组id", example = "id") + + private Long unitId; + + @JsonProperty("System_ID") + + @Schema(description = "系统id", example = "id") + + private Long systemId; + + @JsonProperty("Name") + + @Schema(description = "页面名称", example = "yudao") + private String name; + + @JsonProperty("Page_Content") + + @Schema(description = "页面信息", example = "yudao") + private String pageContent; +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/device/DeviceDO.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/device/DeviceDO.java new file mode 100644 index 0000000..b324e70 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/dataobject/device/DeviceDO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.alert.dal.dataobject.device; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@DS("slave") +@TableName(value = "Page_Display", autoResultMap = true) +@KeySequence("system_role_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = false) +public class DeviceDO { + @TableId("ID") + + @Schema(description = "id", example = "id") + private Long id; + + @TableField("Unit_ID") + @Schema(description = "机组id", example = "id") + + private Long unitId; + + @TableField("System_ID") + + @Schema(description = "系统id", example = "id") + + private Long systemId; + + @TableField("Name") + + @Schema(description = "页面名称", example = "yudao") + private String name; + + @TableField("Page_Content") + + @Schema(description = "页面信息", example = "yudao") + private String pageContent; + +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/mysql/device/DeviceMapper.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/mysql/device/DeviceMapper.java new file mode 100644 index 0000000..67fa2ec --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dal/mysql/device/DeviceMapper.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.alert.dal.mysql.device; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.alert.dal.dataobject.device.DeviceDO; +import cn.iocoder.yudao.module.alert.dal.dataobject.instant.InstantTableDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceMapper extends BaseMapperX { +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceService.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceService.java new file mode 100644 index 0000000..a6d57b1 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceService.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.module.alert.service.device; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.alert.controller.admin.instant.vo.*; +import cn.iocoder.yudao.module.alert.dal.dataobject.device.DeviceDO; +import cn.iocoder.yudao.module.alert.dal.dataobject.instant.InstantDO; +import jakarta.validation.Valid; + +import java.io.IOException; +import java.util.List; + +public interface DeviceService { + DeviceDO getDeviceInfo(Long id); + + +} diff --git a/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceServiceImpl.java b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceServiceImpl.java new file mode 100644 index 0000000..a3c8883 --- /dev/null +++ b/yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/device/DeviceServiceImpl.java @@ -0,0 +1,52 @@ +package cn.iocoder.yudao.module.alert.service.device; + +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.Point; +import cn.iocoder.yudao.module.alert.controller.admin.instant.vo.*; +import cn.iocoder.yudao.module.alert.controller.admin.model.vo.RunModelInfoVO; +import cn.iocoder.yudao.module.alert.dal.dataobject.device.DeviceDO; +import cn.iocoder.yudao.module.alert.dal.dataobject.instant.InstantDO; +import cn.iocoder.yudao.module.alert.dal.dataobject.instant.InstantTableDO; +import cn.iocoder.yudao.module.alert.dal.mysql.device.DeviceMapper; +import cn.iocoder.yudao.module.alert.dal.mysql.instant.InstantMapper; +import cn.iocoder.yudao.module.alert.dal.mysql.instant.InstantTableMapper; +import cn.iocoder.yudao.module.alert.utils.EXAUtils; +import cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.annotation.Slave; +import com.google.common.annotations.VisibleForTesting; +import com.mzt.logapi.context.LogRecordContext; +import com.mzt.logapi.service.impl.DiffParseFunction; +import com.mzt.logapi.starter.annotation.LogRecord; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.INSTANT_NOT_EXISTS; +import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*; + +@Slave +@Service +@Slf4j +public class DeviceServiceImpl implements DeviceService { + @Resource + private DeviceMapper deviceMapper; + @Override + public DeviceDO getDeviceInfo(Long id) { + return deviceMapper.selectById(id); + } + +}