|
@@ -3,17 +3,21 @@ package com.css.simulation.resource.home.service;
|
|
import api.common.pojo.common.PageVO;
|
|
import api.common.pojo.common.PageVO;
|
|
import api.common.pojo.common.ResponseBodyVO;
|
|
import api.common.pojo.common.ResponseBodyVO;
|
|
import api.common.pojo.po.home.SystemServerPO;
|
|
import api.common.pojo.po.home.SystemServerPO;
|
|
-import api.common.pojo.vo.home.*;
|
|
|
|
|
|
+import api.common.pojo.vo.home.HardwareVO;
|
|
|
|
+import api.common.pojo.vo.home.LineChartVO;
|
|
|
|
+import api.common.pojo.vo.home.ServiceVO;
|
|
|
|
+import api.common.pojo.vo.home.SystemServerVO;
|
|
|
|
+import api.common.util.NumberUtil;
|
|
import api.common.util.ObjectUtil;
|
|
import api.common.util.ObjectUtil;
|
|
import api.common.util.TimeUtil;
|
|
import api.common.util.TimeUtil;
|
|
import com.css.simulation.resource.common.utils.AuthUtil;
|
|
import com.css.simulation.resource.common.utils.AuthUtil;
|
|
import com.css.simulation.resource.common.utils.PageUtil;
|
|
import com.css.simulation.resource.common.utils.PageUtil;
|
|
import com.css.simulation.resource.feign.OauthClientService;
|
|
import com.css.simulation.resource.feign.OauthClientService;
|
|
-import com.css.simulation.resource.log.mapper.LogMapper;
|
|
|
|
import com.css.simulation.resource.home.mapper.HomePageMapper;
|
|
import com.css.simulation.resource.home.mapper.HomePageMapper;
|
|
|
|
+import com.css.simulation.resource.log.mapper.LogMapper;
|
|
import com.css.simulation.resource.system.mapper.UserMapper;
|
|
import com.css.simulation.resource.system.mapper.UserMapper;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -23,16 +27,17 @@ import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+@Slf4j
|
|
@Service
|
|
@Service
|
|
public class HomePageService {
|
|
public class HomePageService {
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
HomePageMapper homePageMapper;
|
|
HomePageMapper homePageMapper;
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
+ @Resource
|
|
UserMapper userMapper;
|
|
UserMapper userMapper;
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
+ @Resource
|
|
LogMapper logMapper;
|
|
LogMapper logMapper;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
@@ -41,16 +46,26 @@ public class HomePageService {
|
|
|
|
|
|
public ResponseBodyVO<HardwareVO> selectHardware() {
|
|
public ResponseBodyVO<HardwareVO> selectHardware() {
|
|
List<SystemServerPO> systemServerPOList = homePageMapper.selectAll();
|
|
List<SystemServerPO> systemServerPOList = homePageMapper.selectAll();
|
|
- long memorySum = systemServerPOList.stream().mapToLong(SystemServerPO::getMemoryTotal).sum(); // 内存之和
|
|
|
|
- long diskSum = systemServerPOList.stream().mapToLong(SystemServerPO::getDiskTotal).sum(); // 磁盘之和
|
|
|
|
- long cpuSum = systemServerPOList.stream().mapToLong(SystemServerPO::getCpuTotal).sum(); // cpu线程数 之和
|
|
|
|
- long gpuSum = systemServerPOList.stream().mapToLong(SystemServerPO::getGpuTotal).sum(); // 显存之和
|
|
|
|
|
|
+ log.info("selectHardware() 服务器列表为:" + systemServerPOList);
|
|
|
|
+ long memoryTotalSum = systemServerPOList.stream().mapToLong(SystemServerPO::getMemoryTotal).sum(); // 内存之和
|
|
|
|
+ long diskTotalSum = systemServerPOList.stream().mapToLong(SystemServerPO::getDiskTotal).sum(); // 磁盘之和
|
|
|
|
+ long cpuTotalSum = systemServerPOList.stream().mapToLong(SystemServerPO::getCpuTotal).sum(); // cpu线程数 之和
|
|
|
|
+ long gpuTotalSum = systemServerPOList.stream().mapToLong(SystemServerPO::getGpuTotal).sum(); // 显存之和
|
|
|
|
+ log.info("selectHardware() 内存之和:" + memoryTotalSum);
|
|
|
|
+ log.info("selectHardware() 磁盘之和:" + diskTotalSum);
|
|
|
|
+ log.info("selectHardware() cpu线程数 之和:" + cpuTotalSum);
|
|
|
|
+ log.info("selectHardware() 显存之和 之和:" + gpuTotalSum);
|
|
|
|
+ long memoryUsedSum = systemServerPOList.stream().mapToLong(SystemServerPO::getMemoryAvailable).sum(); // 内存之和
|
|
|
|
+ long diskUsedSum = systemServerPOList.stream().mapToLong(SystemServerPO::getDiskAvailable).sum(); // 磁盘之和
|
|
|
|
+ long cpuUsedSum = systemServerPOList.stream().mapToLong(systemServer -> (long) (systemServer.getCpuTotal() * systemServer.getCpuUsage())).sum(); // cpu线程数 之和
|
|
|
|
+ long gpuUsedSum = systemServerPOList.stream().mapToLong(systemServer -> (long) (systemServer.getGpuTotal() * systemServer.getGpuUsage())).sum(); // cpu线程数 之和
|
|
|
|
+
|
|
HardwareVO build = HardwareVO.builder()
|
|
HardwareVO build = HardwareVO.builder()
|
|
.serverNumber(systemServerPOList.size())
|
|
.serverNumber(systemServerPOList.size())
|
|
- .memoryUsage((int) systemServerPOList.stream().mapToDouble(po -> po.getMemoryUsage() * po.getMemoryTotal() * 1.0 / memorySum).sum() + "%")
|
|
|
|
- .diskUsage((int) systemServerPOList.stream().mapToDouble(po -> po.getDiskUsage() * po.getDiskTotal() * 1.0 / diskSum).sum() + "%")
|
|
|
|
- .cpuUsage((int) systemServerPOList.stream().mapToDouble(po -> po.getCpuUsage() * po.getCpuTotal() * 1.0 / cpuSum).sum() + "%")
|
|
|
|
- .gpuUsage((int) systemServerPOList.stream().mapToDouble(po -> po.getGpuUsage() * po.getGpuTotal() * 1.0 / gpuSum).sum() + "%")
|
|
|
|
|
|
+ .memoryUsage(NumberUtil.cut(memoryUsedSum * 1.0 / memoryTotalSum, 2) + "%")
|
|
|
|
+ .diskUsage(NumberUtil.cut(diskUsedSum * 1.0 / diskTotalSum, 2) + "%")
|
|
|
|
+ .cpuUsage(NumberUtil.cut(cpuUsedSum * 1.0 / cpuTotalSum, 2) + "%")
|
|
|
|
+ .gpuUsage(NumberUtil.cut(gpuUsedSum * 1.0 / gpuTotalSum, 2) + "%")
|
|
.build();
|
|
.build();
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, build);
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, build);
|
|
}
|
|
}
|
|
@@ -59,9 +74,13 @@ public class HomePageService {
|
|
public ResponseBodyVO<ServiceVO> selectService() {
|
|
public ResponseBodyVO<ServiceVO> selectService() {
|
|
List<SystemServerPO> systemServerPOList = homePageMapper.selectAll();
|
|
List<SystemServerPO> systemServerPOList = homePageMapper.selectAll();
|
|
long count = systemServerPOList.stream().filter(system -> "gpu".equals(system.getServerType())).count();
|
|
long count = systemServerPOList.stream().filter(system -> "gpu".equals(system.getServerType())).count();
|
|
|
|
+ int onlineNumber = oauthClientService.online().getInfo();
|
|
|
|
+ if (onlineNumber == 0){
|
|
|
|
+ onlineNumber = 1;
|
|
|
|
+ }
|
|
ServiceVO build = ServiceVO.builder()
|
|
ServiceVO build = ServiceVO.builder()
|
|
.userNumber(userMapper.selectCount())
|
|
.userNumber(userMapper.selectCount())
|
|
- .onlineNumber(oauthClientService.online().getInfo())
|
|
|
|
|
|
+ .onlineNumber(onlineNumber)
|
|
.simulationNodeNumber((int) count)
|
|
.simulationNodeNumber((int) count)
|
|
.simulationLicenseNumber(homePageMapper.selectSumOfTaskNumber())
|
|
.simulationLicenseNumber(homePageMapper.selectSumOfTaskNumber())
|
|
.dynamicsLicenseNumber(0) // 待定
|
|
.dynamicsLicenseNumber(0) // 待定
|