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 params, int currPage, int pageSize) throws Exception { PageHelper.startPage(currPage, pageSize); List list = dbTableCountMapper.selectByParams(params); PageInfo pageInfo = new PageInfo(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 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 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 selectAllByParams(Map params) throws Exception { return dbTableCountMapper.selectAllByParams(params); } public int deleteByDate(Map map) throws Exception { return dbTableCountMapper.deleteByDate(map); } /** * 设置图表的副标题,数据量的最高、平均、最低值 * * @param model * @param dbTableCountList 数据量列表 */ public void setSubtitle(Model model, List 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; }