diff --git a/bonus-admin/src/main/java/com/bonus/web/controller/data/StorageController.java b/bonus-admin/src/main/java/com/bonus/web/controller/data/StorageController.java new file mode 100644 index 0000000..806f83e --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/controller/data/StorageController.java @@ -0,0 +1,46 @@ +package com.bonus.web.controller.data; + +import com.bonus.common.annotation.RequiresPermissions; +import com.bonus.common.annotation.SysLog; +import com.bonus.common.core.domain.AjaxResult; +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.enums.OperaType; +import com.bonus.web.service.data.StorageService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @className:StorageController + * @author:cwchen + * @date:2025-12-24-14:17 + * @version:1.0 + * @description:数据存储-web层 + */ +@RestController +@RequestMapping("/data/storage/") +public class StorageController { + + @Resource(name = "StorageService") + private StorageService storageService; + + @ApiOperation(notes = "查询数据存储",value = "查询数据存储") + @RequiresPermissions("devops:storage:info") + @GetMapping("/getStorageInfo") + @SysLog(title = "系统信息", businessType = OperaType.QUERY, logType = 1, module = "设备运维->数据存储", details = "查询数据存储") + public AjaxResult getStorageInfo(ParamsDto dto) { + return storageService.getStorageInfo(dto); + } + + @ApiOperation(notes = "格式化存储",value = "格式化存储") + @RequiresPermissions("devops:storage:formatStorage") + @PostMapping("/formatStorage") + @SysLog(title = "系统信息", businessType = OperaType.QUERY, logType = 1, module = "设备运维->数据存储", details = "格式化存储") + public AjaxResult formatStorage(ParamsDto dto) { + return storageService.formatStorage(dto); + } +} diff --git a/bonus-admin/src/main/java/com/bonus/web/controller/data/SystemInfoController.java b/bonus-admin/src/main/java/com/bonus/web/controller/data/SystemInfoController.java new file mode 100644 index 0000000..75a2e1f --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/controller/data/SystemInfoController.java @@ -0,0 +1,51 @@ +package com.bonus.web.controller.data; + +import com.bonus.common.annotation.RequiresPermissions; +import com.bonus.common.annotation.SysLog; +import com.bonus.common.core.domain.AjaxResult; +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.enums.OperaType; +import com.bonus.web.service.data.SystemInfoService; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @className:SystemInfoController + * @author:cwchen + * @date:2025-12-24-11:11 + * @version:1.0 + * @description:系统信息-web层 + */ +@RestController +@RequestMapping("/data/device/") +public class SystemInfoController { + + @Resource(name = "SystemInfoService") + private SystemInfoService systemInfoService; + + @ApiOperation(notes = "查询系统信息",value = "查询系统信息") + @RequiresPermissions("devops:info:list") + @GetMapping("/getDeviceInfo") + @SysLog(title = "系统信息", businessType = OperaType.QUERY, logType = 1, module = "设备运维->系统信息", details = "查询系统信息") + public AjaxResult getDeviceInfo(ParamsDto dto) { + return systemInfoService.getDeviceInfo(dto); + } + + @ApiOperation(notes = "修改设备信息",value = "修改设备信息") + @RequiresPermissions("devops:info:edit") + @PostMapping("/updateDevice") + @SysLog(title = "系统信息", businessType = OperaType.UPDATE, logType = 1, module = "设备运维->系统信息", details = "修改设备信息") + public AjaxResult updateDevice(@RequestBody ParamsDto dto) { + return systemInfoService.updateDevice(dto); + } + + @ApiOperation(notes = "修改告警状态",value = "修改告警状态") + @RequiresPermissions("devops:info:edit") + @PostMapping("/updateAlarmStatus") + @SysLog(title = "系统信息", businessType = OperaType.UPDATE, logType = 1, module = "设备运维->系统信息", details = "修改告警状态") + public AjaxResult updateAlarmStatus(@RequestBody ParamsDto dto) { + return systemInfoService.updateAlarmStatus(dto); + } +} diff --git a/bonus-admin/src/main/java/com/bonus/web/service/data/StorageService.java b/bonus-admin/src/main/java/com/bonus/web/service/data/StorageService.java new file mode 100644 index 0000000..855300f --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/service/data/StorageService.java @@ -0,0 +1,73 @@ +package com.bonus.web.service.data; + +import com.bonus.common.core.domain.AjaxResult; +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.StorageVo; +import com.bonus.common.utils.StorageScanner; +import com.bonus.data.service.DIStorageService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * @className:StorageService + * @author:cwchen + * @date:2025-12-24-14:18 + * @version:1.0 + * @description:数据存储-业务逻辑层 + */ +@Service(value = "StorageService") +@Slf4j +public class StorageService { + + @Resource(name = "DIStorageService") + private DIStorageService diStorageService; + + /** + * 查询数据存储 + * + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2025/12/24 14:23 + */ + public AjaxResult getStorageInfo(ParamsDto dto) { + StorageVo vo = null; + try { + List results = StorageScanner.scanAllStorages(1L); + StorageVo totalVo = StorageScanner.mergeStorageData(results, 1L, "TOTAL_SYSTEM_STORAGE"); + if (Objects.nonNull(totalVo)) { + // 保存存储信息 + try { + totalVo.setSystemStorageId(1L); + diStorageService.saveStorageInfo(totalVo); + } catch (Exception e) { + log.error(e.toString(), e); + } + vo = totalVo; + } else { + // 查询 + vo = diStorageService.getStorageInfo(dto); + } + + } catch (Exception e) { + log.error(e.toString(), e); + vo = new StorageVo(); + } + return AjaxResult.success(vo); + } + + /** + * 格式化存储 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2025/12/24 14:56 + */ + public AjaxResult formatStorage(ParamsDto dto) { + return AjaxResult.success(); + } +} diff --git a/bonus-admin/src/main/java/com/bonus/web/service/data/SystemInfoService.java b/bonus-admin/src/main/java/com/bonus/web/service/data/SystemInfoService.java new file mode 100644 index 0000000..4c9e2a4 --- /dev/null +++ b/bonus-admin/src/main/java/com/bonus/web/service/data/SystemInfoService.java @@ -0,0 +1,84 @@ +package com.bonus.web.service.data; + +import com.bonus.common.core.domain.AjaxResult; +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.SystemInfoVo; +import com.bonus.data.service.DISystemInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import javax.annotation.Resource; + +/** + * @className:SystemInfoService + * @author:cwchen + * @date:2025-12-24-11:11 + * @version:1.0 + * @description:系统信息-业务层 + */ +@Slf4j +@Service(value = "SystemInfoService") +public class SystemInfoService { + + @Resource(name = "DISystemInfoService") + private DISystemInfoService systemInfoService; + + /** + * 查询系统信息 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2025/12/24 11:24 + */ + public AjaxResult getDeviceInfo(ParamsDto dto) { + SystemInfoVo vo = null; + try { + vo = systemInfoService.getDeviceInfo(dto); + return AjaxResult.success(vo == null ? new SystemInfoVo() : vo); + } catch (Exception e) { + log.error(e.toString(),e); + vo = new SystemInfoVo(); + } + return AjaxResult.success(vo); + } + + /** + * 修改设备信息 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2025/12/24 13:12 + */ + @Transactional(rollbackFor = Exception.class) + public AjaxResult updateDevice(ParamsDto dto) { + try { + systemInfoService.updateDevice(dto); + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } + + /** + * 修改告警状态 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2025/12/24 13:18 + */ + public AjaxResult updateAlarmStatus(ParamsDto dto) { + try { + // 1.是否调用第三方接口 + systemInfoService.updateAlarmStatus(dto); + return AjaxResult.success(); + } catch (Exception e) { + log.error(e.toString(),e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error(); + } + } +} diff --git a/bonus-common/src/main/java/com/bonus/common/domain/data/dto/ParamsDto.java b/bonus-common/src/main/java/com/bonus/common/domain/data/dto/ParamsDto.java index 2fa7de8..fed167b 100644 --- a/bonus-common/src/main/java/com/bonus/common/domain/data/dto/ParamsDto.java +++ b/bonus-common/src/main/java/com/bonus/common/domain/data/dto/ParamsDto.java @@ -26,4 +26,13 @@ public class ParamsDto { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; + + /**设备名称*/ + private String equipmentName; + + /**设备ID*/ + private Long systemId; + + /**告警状态*/ + private String alarmStatus; } diff --git a/bonus-common/src/main/java/com/bonus/common/domain/data/vo/StorageVo.java b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/StorageVo.java new file mode 100644 index 0000000..801c176 --- /dev/null +++ b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/StorageVo.java @@ -0,0 +1,46 @@ +package com.bonus.common.domain.data.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @className:StorageVo + * @author:cwchen + * @date:2025-12-24-14:25 + * @version:1.0 + * @description:系统存储-vo + */ +@Data +public class StorageVo { + + /** + * 系统存储id + */ + private Long systemStorageId; + + /** + * 系统id + */ + private Long systemId; + + /** + * 存储类型 1.TF + */ + private String storageType; + + /** + * 容量大小 GB为单位 + */ + private BigDecimal capacity; + + /** + * 可用容量 GB为单位 + */ + private BigDecimal availableCapacity; + + /** + * 已用容量 GB为单位 + */ + private BigDecimal usedCapacity; +} diff --git a/bonus-common/src/main/java/com/bonus/common/domain/data/vo/SystemInfoVo.java b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/SystemInfoVo.java new file mode 100644 index 0000000..c6d12f3 --- /dev/null +++ b/bonus-common/src/main/java/com/bonus/common/domain/data/vo/SystemInfoVo.java @@ -0,0 +1,128 @@ +package com.bonus.common.domain.data.vo; + +import lombok.Data; + +import java.util.Date; + +/** + * @className:SystemInfoVo + * @author:cwchen + * @date:2025-12-24-11:08 + * @version:1.0 + * @description:系统信息-vo + */ +@Data +public class SystemInfoVo { + + /** + * 系统id + */ + private Long systemId; + + /** + * 设备名称 + */ + private String equipmentName; + + /** + * 设备型号 + */ + private String equipmentModel; + + /** + * 固件版本 + */ + private String firmwareVersion; + + /** + * 软件版本 + */ + private String softwareVersion; + + /** + * 运行内存 + */ + private String ram; + + /** + * 硬盘大小 + */ + private String hardDriveSize; + + /** + * NPU + */ + private String npu; + + /** + * 电池容量 + */ + private String batteryCapacity; + + /** + * TF存储 + */ + private String tfStorage; + + /** + * 序列号 + */ + private String serialNumber; + + /** + * 设备状态 + + 设备状态 1.在线/0.离线/2.待机/3.升级中 + */ + private String equipmentStatus; + + /** + * 供电方式 1.外接电源/2.电池供电 + */ + private String powerSupplyMethod; + + /** + * 电池电量 + */ + private String batteryPower; + + /** + * 网络连接方式 4G/5G/以太网 + */ + private String networkConnectionMethod; + + /** + * 设备运行温度 + */ + private String equipmentOperatingTemperature; + + /** + * 告警状态 1.设置告警 0.设置告警 + */ + private String alarmStatus; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 创建人 + */ + private Long createUserId; + + /** + * 修改时间 + */ + private Date updateTime; + + /** + * 修改人 + */ + private Long updateUserId; + + /** + * 是否删除 0.未删除 1,已删除 + */ + private String delFlag; +} diff --git a/bonus-common/src/main/java/com/bonus/common/utils/StorageScanner.java b/bonus-common/src/main/java/com/bonus/common/utils/StorageScanner.java new file mode 100644 index 0000000..f4732b9 --- /dev/null +++ b/bonus-common/src/main/java/com/bonus/common/utils/StorageScanner.java @@ -0,0 +1,117 @@ +package com.bonus.common.utils; +import com.bonus.common.domain.data.vo.StorageVo; + +import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.nio.file.FileStore; +import java.nio.file.FileSystems; +import java.util.ArrayList; +import java.util.List; +/** + * @className:StorageScanner + * @author:cwchen + * @date:2025-12-24-14:37 + * @version:1.0 + * @description:磁盘扫描 + */ +public class StorageScanner { + + private static final BigDecimal GB_FACTOR = new BigDecimal(1024 * 1024 * 1024); + + /** + * 自动扫描并获取系统中所有存储设备的状态 + * @param systemId 关联的系统ID + * @return 存储信息列表 + */ + public static List scanAllStorages(Long systemId) { + List storageList = new ArrayList<>(); + + // 获取当前文件系统的所有存储卷(Windows的C/D盘,Linux的/、/mnt等) + Iterable fileStores = FileSystems.getDefault().getFileStores(); + for (FileStore store : fileStores) { + try { + // 过滤一些虚拟文件系统(如 Linux 下的内存盘、内核文件系统等) + // 通常只保留物理存储,排除总空间为 0 的设备 + if (store.getTotalSpace() <= 0) { + continue; + } + StorageVo vo = new StorageVo(); + vo.setSystemId(systemId); + + // 设置存储类型:根据名称或挂载路径判断 + // 1.TF 是你的约定值,这里可以加入逻辑判断,或者默认设为磁盘名 + String storeName = store.name(); + String storeDescription = store.toString(); // 例如 "/ (/dev/sda1)" 或 "(C:)" + vo.setStorageType(identifyStorageType(storeName, storeDescription)); + // 核心数据计算 + long totalSpace = store.getTotalSpace(); + long usableSpace = store.getUsableSpace(); + long usedSpace = totalSpace - usableSpace; + vo.setCapacity(byteToGb(totalSpace)); + vo.setAvailableCapacity(byteToGb(usableSpace)); + vo.setUsedCapacity(byteToGb(usedSpace)); + storageList.add(vo); + } catch (IOException e) { + // 某些系统分区可能因为权限无法读取,跳过即可 + System.err.println("无法读取存储设备: " + store + " - " + e.getMessage()); + } + } + return storageList; + } + + /** + * 将多个存储节点的数据累加合并为一个 + * @param results 扫描到的存储列表 + * @param systemId 合并后的系统ID + * @param combinedType 合并后的存储类型描述(如 "Total") + * @return 累加后的 StorageVo + */ + public static StorageVo mergeStorageData(List results, Long systemId, String combinedType) { + if (results == null || results.isEmpty()) { + return null; + } + + // 使用 Stream 进行累加计算 + BigDecimal totalCapacity = results.stream() + .map(StorageVo::getCapacity) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + BigDecimal totalAvailable = results.stream() + .map(StorageVo::getAvailableCapacity) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + BigDecimal totalUsed = results.stream() + .map(StorageVo::getUsedCapacity) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + // 创建合并后的实体类 + StorageVo summary = new StorageVo(); + summary.setSystemId(systemId); + summary.setStorageType(combinedType); // 例如设置为 "ALL" 或 "TOTAL" + + summary.setCapacity(totalCapacity); + summary.setAvailableCapacity(totalAvailable); + summary.setUsedCapacity(totalUsed); + + return summary; + } + + /** + * 简单的存储类型识别逻辑 + */ + private static String identifyStorageType(String name, String description) { + String lowerDesc = description.toLowerCase(); + // 如果挂载点包含 sdcard, mmcblk, tf 等关键字,标记为 TF卡 (类型 1) + if (lowerDesc.contains("mmcblk") || lowerDesc.contains("sdcard") || lowerDesc.contains("tf")) { + return "1"; // TF卡 + } + return "Disk: " + name; // 其他普通磁盘 + } + + private static BigDecimal byteToGb(long bytes) { + if (bytes <= 0) return BigDecimal.ZERO; + return new BigDecimal(bytes) + .divide(GB_FACTOR, 2, RoundingMode.HALF_UP); + } +} \ No newline at end of file diff --git a/bonus-data/src/main/java/com/bonus/data/mapper/DIStorageMapper.java b/bonus-data/src/main/java/com/bonus/data/mapper/DIStorageMapper.java new file mode 100644 index 0000000..66a6c1a --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/mapper/DIStorageMapper.java @@ -0,0 +1,34 @@ +package com.bonus.data.mapper; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.StorageVo; +import org.springframework.stereotype.Repository; + +/** + * @className:DIStorageMapper + * @author:cwchen + * @date:2025-12-24-14:20 + * @version:1.0 + * @description:数据存储-数据层 + */ +@Repository(value = "DIStorageMapper") +public interface DIStorageMapper { + + /** + * 查询数据存储 + * @param dto + * @return StorageVo + * @author cwchen + * @date 2025/12/24 14:29 + */ + StorageVo getStorageInfo(ParamsDto dto); + + /** + * 保存存储信息 + * @param vo + * @return void + * @author cwchen + * @date 2025/12/24 14:46 + */ + void saveStorageInfo(StorageVo vo); +} diff --git a/bonus-data/src/main/java/com/bonus/data/mapper/DISystemInfoMapper.java b/bonus-data/src/main/java/com/bonus/data/mapper/DISystemInfoMapper.java new file mode 100644 index 0000000..7f396a6 --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/mapper/DISystemInfoMapper.java @@ -0,0 +1,42 @@ +package com.bonus.data.mapper; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.SystemInfoVo; +import org.springframework.stereotype.Repository; + +/** + * @className:DISystemInfoMapper + * @author:cwchen + * @date:2025-12-24-11:15 + * @version:1.0 + * @description:系统信息-数据层 + */ +@Repository(value = "DISystemInfoMapper") +public interface DISystemInfoMapper { + /** + * 查询系统信息 + * @param dto + * @return SystemInfoVo + * @author cwchen + * @date 2025/12/24 11:29 + */ + SystemInfoVo getDeviceInfo(ParamsDto dto); + + /** + * 修改设备信息 + * @param dto + * @return void + * @author cwchen + * @date 2025/12/24 13:15 + */ + void updateDevice(ParamsDto dto); + + /** + * 修改告警状态 + * @param dto + * @return void + * @author cwchen + * @date 2025/12/24 13:20 + */ + void updateAlarmStatus(ParamsDto dto); +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/DIStorageService.java b/bonus-data/src/main/java/com/bonus/data/service/DIStorageService.java new file mode 100644 index 0000000..a4c5e26 --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/DIStorageService.java @@ -0,0 +1,31 @@ +package com.bonus.data.service; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.StorageVo; + +/** + * @className:DIStorageService + * @author:cwchen + * @date:2025-12-24-14:19 + * @version:1.0 + * @description:数据存储-业务层 + */ +public interface DIStorageService { + /** + * 查询数据存储 + * @param dto + * @return StorageVo + * @author cwchen + * @date 2025/12/24 14:28 + */ + StorageVo getStorageInfo(ParamsDto dto); + + /** + * 保存存储信息 + * @param vo + * @return void + * @author cwchen + * @date 2025/12/24 14:46 + */ + void saveStorageInfo(StorageVo vo); +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/DISystemInfoService.java b/bonus-data/src/main/java/com/bonus/data/service/DISystemInfoService.java new file mode 100644 index 0000000..90af97f --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/DISystemInfoService.java @@ -0,0 +1,40 @@ +package com.bonus.data.service; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.SystemInfoVo; + +/** + * @className:DISystemInfoService + * @author:cwchen + * @date:2025-12-24-11:12 + * @version:1.0 + * @description:系统信息-业务层 + */ +public interface DISystemInfoService { + /** + * 查询系统信息 + * @param dto + * @return SystemInfoVo + * @author cwchen + * @date 2025/12/24 11:28 + */ + SystemInfoVo getDeviceInfo(ParamsDto dto); + + /** + * 修改设备信息 + * @param dto + * @return void + * @author cwchen + * @date 2025/12/24 13:15 + */ + void updateDevice(ParamsDto dto); + + /** + * 修改告警状态 + * @param dto + * @return void + * @author cwchen + * @date 2025/12/24 13:20 + */ + void updateAlarmStatus(ParamsDto dto); +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/impl/DStorageServiceImpl.java b/bonus-data/src/main/java/com/bonus/data/service/impl/DStorageServiceImpl.java new file mode 100644 index 0000000..92ce54a --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/impl/DStorageServiceImpl.java @@ -0,0 +1,33 @@ +package com.bonus.data.service.impl; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.StorageVo; +import com.bonus.data.mapper.DIStorageMapper; +import com.bonus.data.service.DIStorageService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @className:DStorageServiceImpl + * @author:cwchen + * @date:2025-12-24-14:19 + * @version:1.0 + * @description:数据存储-业务逻辑层 + */ +@Service(value = "DIStorageService") +public class DStorageServiceImpl implements DIStorageService { + + @Resource(name = "DIStorageMapper") + private DIStorageMapper diStorageMapper; + + @Override + public StorageVo getStorageInfo(ParamsDto dto) { + return diStorageMapper.getStorageInfo(dto); + } + + @Override + public void saveStorageInfo(StorageVo vo) { + diStorageMapper.saveStorageInfo(vo); + } +} diff --git a/bonus-data/src/main/java/com/bonus/data/service/impl/DSystemInfoServiceImpl.java b/bonus-data/src/main/java/com/bonus/data/service/impl/DSystemInfoServiceImpl.java new file mode 100644 index 0000000..3638ab2 --- /dev/null +++ b/bonus-data/src/main/java/com/bonus/data/service/impl/DSystemInfoServiceImpl.java @@ -0,0 +1,38 @@ +package com.bonus.data.service.impl; + +import com.bonus.common.domain.data.dto.ParamsDto; +import com.bonus.common.domain.data.vo.SystemInfoVo; +import com.bonus.data.mapper.DISystemInfoMapper; +import com.bonus.data.service.DISystemInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @className:DSystemInfoServiceImpl + * @author:cwchen + * @date:2025-12-24-11:13 + * @version:1.0 + * @description:系统信息-业务逻辑层 + */ +@Service(value = "DISystemInfoService") +public class DSystemInfoServiceImpl implements DISystemInfoService { + + @Resource(name = "DISystemInfoMapper") + private DISystemInfoMapper diSystemInfoMapper; + + @Override + public SystemInfoVo getDeviceInfo(ParamsDto dto) { + return diSystemInfoMapper.getDeviceInfo(dto); + } + + @Override + public void updateDevice(ParamsDto dto) { + diSystemInfoMapper.updateDevice(dto); + } + + @Override + public void updateAlarmStatus(ParamsDto dto) { + diSystemInfoMapper.updateAlarmStatus(dto); + } +} diff --git a/bonus-data/src/main/resources/mapper/DStorageMapper.xml b/bonus-data/src/main/resources/mapper/DStorageMapper.xml new file mode 100644 index 0000000..5c4faf7 --- /dev/null +++ b/bonus-data/src/main/resources/mapper/DStorageMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + REPLACE INTO tb_system_storage + + system_id, + storage_type, + capacity, + available_capacity, + used_capacity, + + + #{systemId}, + #{storageType}, + #{capacity}, + #{availableCapacity}, + #{usedCapacity}, + + + + diff --git a/bonus-data/src/main/resources/mapper/DSystemInfoMapper.xml b/bonus-data/src/main/resources/mapper/DSystemInfoMapper.xml new file mode 100644 index 0000000..e98ccad --- /dev/null +++ b/bonus-data/src/main/resources/mapper/DSystemInfoMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + UPDATE tb_system_info SET equipment_name = #{equipmentName} WHERE system_id = #{systemId} + + + + + UPDATE tb_system_info SET alarm_status = #{alarmStatus} WHERE system_id = #{systemId} + +