package com.wgcloud.service;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.wgcloud.dto.SubtitleDto;
|
import com.wgcloud.entity.DockerState;
|
import com.wgcloud.mapper.DockerStateMapper;
|
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.ui.Model;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @version v3.3
|
* @ClassName:DockerStateService.java
|
* @author: http://www.wgstart.com
|
* @date: 2021年1月16日
|
* @Description: DockerStateService.java
|
* @Copyright: 2019-2021 wgcloud. All rights reserved.
|
*/
|
@Service
|
public class DockerStateService {
|
|
public PageInfo selectByParams(Map<String, Object> params, int currPage, int pageSize) throws Exception {
|
PageHelper.startPage(currPage, pageSize);
|
List<DockerState> list = dockerStateMapper.selectByParams(params);
|
PageInfo<DockerState> pageInfo = new PageInfo<DockerState>(list);
|
return pageInfo;
|
}
|
|
public void save(DockerState DockerState) throws Exception {
|
DockerState.setId(UUIDUtil.getUUID());
|
DockerState.setCreateTime(DateUtil.getNowTime());
|
DockerState.setDateStr(DateUtil.getDateTimeString(DockerState.getCreateTime()));
|
dockerStateMapper.save(DockerState);
|
}
|
|
public void saveRecord(List<DockerState> recordList) throws Exception {
|
if (recordList.size() < 1) {
|
return;
|
}
|
for (DockerState as : recordList) {
|
as.setId(UUIDUtil.getUUID());
|
as.setDateStr(DateUtil.getDateTimeString(as.getCreateTime()));
|
}
|
dockerStateMapper.insertList(recordList);
|
}
|
|
public int deleteByAppInfoId(String appInfoId) throws Exception {
|
return dockerStateMapper.deleteByDockerInfoId(appInfoId);
|
}
|
|
|
public int deleteById(String[] id) throws Exception {
|
return dockerStateMapper.deleteById(id);
|
}
|
|
public DockerState selectById(String id) throws Exception {
|
return dockerStateMapper.selectById(id);
|
}
|
|
public List<DockerState> selectAllByParams(Map<String, Object> params) throws Exception {
|
return dockerStateMapper.selectAllByParams(params);
|
}
|
|
public int deleteByDate(Map<String, Object> map) throws Exception{
|
return dockerStateMapper.deleteByDate(map);
|
}
|
|
/**
|
* 设置图表的副标题,内存的最高、平均、最低值
|
*
|
* @param model
|
* @param dockerStateList docker容器状态数据
|
*/
|
public void setSubtitle(Model model, List<DockerState> dockerStateList) {
|
//内存使用率最高
|
Double maxMem = 0d;
|
//内存使用率最低
|
Double minMem = 100000d;
|
//内存使用率平均
|
Double avgMem = 0d;
|
Double sumMem = 0d;
|
|
for (DockerState dockerState : dockerStateList) {
|
if (null != dockerState.getMemPer()) {
|
if (dockerState.getMemPer() > maxMem) {
|
maxMem = dockerState.getMemPer();
|
}
|
if (dockerState.getMemPer() < minMem) {
|
minMem = dockerState.getMemPer();
|
}
|
sumMem += dockerState.getMemPer();
|
}
|
}
|
if (dockerStateList.size() > 0) {
|
avgMem = sumMem / dockerStateList.size();
|
} else {
|
minMem = 0d;
|
}
|
|
SubtitleDto memSubtitleDto = new SubtitleDto();
|
memSubtitleDto.setAvgValue(FormatUtil.formatDouble(avgMem, 2) + "");
|
memSubtitleDto.setMaxValue(maxMem + "");
|
memSubtitleDto.setMinValue(minMem + "");
|
model.addAttribute("memSubtitleDto", memSubtitleDto);
|
|
}
|
|
@Autowired
|
private DockerStateMapper dockerStateMapper;
|
|
|
}
|