package com.wgcloud.service; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.wgcloud.dto.SubtitleDto; import com.wgcloud.entity.HostDiskPer; import com.wgcloud.mapper.HostDiskPerMapper; import com.wgcloud.util.DateUtil; import com.wgcloud.util.FormatUtil; import com.wgcloud.util.UUIDUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import java.util.List; import java.util.Map; /** * @version v3.3 * @ClassName:HostDiskPerService.java * @author: http://www.wgstart.com * @date: 2021年3月18日 * @Description: HostDiskPerService.java * @Copyright: 2019-2021 wgcloud. All rights reserved. */ @Service public class HostDiskPerService { public PageInfo selectByParams(Map params, int currPage, int pageSize) throws Exception { PageHelper.startPage(currPage, pageSize); List list = hostDiskPerMapper.selectByParams(params); PageInfo pageInfo = new PageInfo(list); return pageInfo; } public void save(HostDiskPer HostDiskPer) throws Exception { HostDiskPer.setId(UUIDUtil.getUUID()); HostDiskPer.setCreateTime(DateUtil.getNowTime()); hostDiskPerMapper.save(HostDiskPer); } @Transactional public void saveRecord(List recordList) throws Exception { if (recordList.size() < 1) { return; } for (HostDiskPer as : recordList) { as.setId(UUIDUtil.getUUID()); } hostDiskPerMapper.insertList(recordList); } public int deleteById(String[] id) throws Exception { return hostDiskPerMapper.deleteById(id); } public HostDiskPer selectById(String id) throws Exception { return hostDiskPerMapper.selectById(id); } public List selectAllByParams(Map params) throws Exception { return hostDiskPerMapper.selectAllByParams(params); } public int deleteByAccHname(List recordList) throws Exception { return hostDiskPerMapper.deleteByAccHname(recordList); } public int deleteByAccountAndDate(Map map) throws Exception { return hostDiskPerMapper.deleteByAccountAndDate(map); } /** * 设置图表的副标题,磁盘使用率的最高、平均、最低值 * * @param model * @param hostDiskPerList 磁盘使用率状态数据 */ public void setSubtitle(Model model, List hostDiskPerList) { //磁盘使用率最高 Double maxDiskPer = 0d; //磁盘使用率最低 Double minDiskPer = 1000d; //磁盘使用率平均 Double avgDiskPer = 0d; Double sumDiskPer = 0d; for (HostDiskPer hostDiskPer : hostDiskPerList) { if (null != hostDiskPer.getDiskSumPer()) { if (hostDiskPer.getDiskSumPer() > maxDiskPer) { maxDiskPer = hostDiskPer.getDiskSumPer(); } if (hostDiskPer.getDiskSumPer() < minDiskPer) { minDiskPer = hostDiskPer.getDiskSumPer(); } sumDiskPer += hostDiskPer.getDiskSumPer(); } } if (hostDiskPerList.size() > 0) { avgDiskPer = sumDiskPer / hostDiskPerList.size(); } else { minDiskPer = 0d; } SubtitleDto hostDiskPerSubtitleDto = new SubtitleDto(); hostDiskPerSubtitleDto.setAvgValue(FormatUtil.formatDouble(avgDiskPer, 2) + ""); hostDiskPerSubtitleDto.setMaxValue(maxDiskPer + ""); hostDiskPerSubtitleDto.setMinValue(minDiskPer + ""); model.addAttribute("hostDiskPerSubtitleDto", hostDiskPerSubtitleDto); } @Autowired private HostDiskPerMapper hostDiskPerMapper; }