package com.wgcloud.service;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.wgcloud.dto.SubtitleDto;
|
import com.wgcloud.entity.DbTableCount;
|
import com.wgcloud.mapper.DbTableCountMapper;
|
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:DbTableCountCountService.java
|
* @author: http://www.wgstart.com
|
* @date: 2021年1月16日
|
* @Description: DbTableCountService.java
|
* @Copyright: 2019-2021 wgcloud. All rights reserved.
|
*/
|
@Service
|
public class DbTableCountService {
|
|
public PageInfo selectByParams(Map<String, Object> params, int currPage, int pageSize) throws Exception {
|
PageHelper.startPage(currPage, pageSize);
|
List<DbTableCount> list = dbTableCountMapper.selectByParams(params);
|
PageInfo<DbTableCount> pageInfo = new PageInfo<DbTableCount>(list);
|
return pageInfo;
|
}
|
|
public void save(DbTableCount DbTableCount) throws Exception {
|
DbTableCount.setId(UUIDUtil.getUUID());
|
DbTableCount.setCreateTime(DateUtil.getNowTime());
|
dbTableCountMapper.save(DbTableCount);
|
}
|
|
public void saveRecord(List<DbTableCount> recordList) throws Exception {
|
if (recordList.size() < 1) {
|
return;
|
}
|
for (DbTableCount as : recordList) {
|
as.setId(UUIDUtil.getUUID());
|
as.setDateStr(DateUtil.getDateTimeString(as.getCreateTime()));
|
}
|
dbTableCountMapper.insertList(recordList);
|
}
|
|
|
public int countByParams(Map<String, Object> params) throws Exception {
|
return dbTableCountMapper.countByParams(params);
|
}
|
|
@Transactional
|
public int deleteById(String[] id) throws Exception {
|
return dbTableCountMapper.deleteById(id);
|
}
|
|
public void updateById(DbTableCount DbTableCount)
|
throws Exception {
|
dbTableCountMapper.updateById(DbTableCount);
|
}
|
|
public DbTableCount selectById(String id) throws Exception {
|
return dbTableCountMapper.selectById(id);
|
}
|
|
public List<DbTableCount> selectAllByParams(Map<String, Object> params) throws Exception {
|
return dbTableCountMapper.selectAllByParams(params);
|
}
|
|
public int deleteByDate(Map<String, Object> map) throws Exception {
|
return dbTableCountMapper.deleteByDate(map);
|
}
|
|
/**
|
* 设置图表的副标题,数据量的最高、平均、最低值
|
*
|
* @param model
|
* @param dbTableCountList 数据量列表
|
*/
|
public void setSubtitle(Model model, List<DbTableCount> dbTableCountList) {
|
//最高
|
long maxValue = 0L;
|
//最低
|
long minValue = 1000000L;
|
//平均
|
Double avgValue = 0d;
|
long sumValue = 0L;
|
|
for (DbTableCount dbTableCount : dbTableCountList) {
|
if (null != dbTableCount.getTableCount()) {
|
if (dbTableCount.getTableCount() > maxValue) {
|
maxValue = dbTableCount.getTableCount();
|
}
|
if (dbTableCount.getTableCount() < minValue) {
|
minValue = dbTableCount.getTableCount();
|
}
|
sumValue += dbTableCount.getTableCount();
|
}
|
}
|
if (dbTableCountList.size() > 0) {
|
avgValue = sumValue / (double) dbTableCountList.size();
|
} else {
|
minValue = 0L;
|
}
|
SubtitleDto countSubtitleDto = new SubtitleDto();
|
countSubtitleDto.setAvgValue(FormatUtil.formatDouble(avgValue, 2) + "");
|
countSubtitleDto.setMaxValue(maxValue + "");
|
countSubtitleDto.setMinValue(minValue + "");
|
model.addAttribute("countSubtitleDto", countSubtitleDto);
|
}
|
|
@Autowired
|
private DbTableCountMapper dbTableCountMapper;
|
|
|
}
|