package com.iailab.module.infra.service.monitormem; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import com.iailab.module.infra.controller.admin.monitormem.vo.*; import com.iailab.module.infra.dal.dataobject.monitormem.MonitorMemDO; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.infra.dal.mysql.monitormem.MonitorMemMapper; import java.util.Collections; import java.util.List; import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.iailab.module.infra.enums.ErrorCodeConstants.*; /** * 内存监控日志 Service 实现类 * * @author 超级管理员 */ @Service @Validated public class MonitorMemServiceImpl implements MonitorMemService { @Resource private MonitorMemMapper monitorMemMapper; @Override public Long createMonitorMem(MonitorMemSaveReqVO createReqVO) { // 插入 MonitorMemDO monitorMem = BeanUtils.toBean(createReqVO, MonitorMemDO.class); monitorMem.setCreator("iailab"); monitorMem.setTenantId(1); monitorMemMapper.insert(monitorMem); // 返回 return monitorMem.getId(); } @Override public void updateMonitorMem(MonitorMemSaveReqVO updateReqVO) { // 校验存在 validateMonitorMemExists(updateReqVO.getId()); // 更新 MonitorMemDO updateObj = BeanUtils.toBean(updateReqVO, MonitorMemDO.class); updateObj.setUpdater("iailab"); monitorMemMapper.updateById(updateObj); } @Override public void deleteMonitorMem(Long id) { // 校验存在 validateMonitorMemExists(id); // 删除 monitorMemMapper.deleteById(id); } private void validateMonitorMemExists(Long id) { if (monitorMemMapper.selectById(id) == null) { throw exception(MONITOR_MEM_NOT_EXISTS); } } @Override public MonitorMemDO getMonitorMem(Long id) { return monitorMemMapper.selectById(id); } @Override public PageResult getMonitorMemPage(MonitorMemPageReqVO pageReqVO) { return monitorMemMapper.selectPage(pageReqVO); } @Override public List getMonitorMemList(MonitorMemReqVO reqVO) { return monitorMemMapper.getMonitorMemList(reqVO); } @Override public List getAllHost() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DISTINCT host_name"); // 添加 DISTINCT 修饰 List hosts = monitorMemMapper.selectObjs(queryWrapper); return hosts; } @Override public List getAllServer() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DISTINCT server_name"); // 添加 DISTINCT 修饰 List servers = monitorMemMapper.selectObjs(queryWrapper); return servers; } @Override public List getAllIp() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DISTINCT host_ip"); // 添加 DISTINCT 修饰 List ips = monitorMemMapper.selectObjs(queryWrapper); return ips; } }