/** * Copyright (c) 2018 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */ package com.zt.modules.sys.controller; import com.sun.management.OperatingSystemMXBean; import com.zt.common.servlet.Result; import com.zt.modules.sys.dto.ConfigDto; import com.zt.modules.sys.dto.SystemDto; import com.zt.modules.sys.service.SysParamsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.lang.management.ManagementFactory; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.List; /** * 系统接口 * * @author hehz */ @RestController @Api(tags = "系统接口") public class SystemController { @Autowired private SysParamsService sysParamsService; @GetMapping("sys/config") @ApiOperation("系统信息") public Result> configs() { return Result.ok(sysParamsService.getConfigs()); } @GetMapping("sys/info") @ApiOperation("系统信息") public Result info() { OperatingSystemMXBean osmx = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); SystemDto dto = new SystemDto(); dto.setSysTime(System.currentTimeMillis()); dto.setOsName(System.getProperty("os.name")); dto.setOsArch(System.getProperty("os.arch")); dto.setOsVersion(System.getProperty("os.version")); dto.setUserLanguage(System.getProperty("user.language")); dto.setUserDir(System.getProperty("user.dir")); dto.setTotalPhysical(osmx.getTotalPhysicalMemorySize() / 1024 / 1024); dto.setFreePhysical(osmx.getFreePhysicalMemorySize() / 1024 / 1024); dto.setMemoryRate(BigDecimal.valueOf( (1 - osmx.getFreePhysicalMemorySize() * 1.0 / osmx.getTotalPhysicalMemorySize()) * 100).setScale(2, RoundingMode.HALF_UP)); dto.setProcessors(osmx.getAvailableProcessors()); dto.setJvmName(System.getProperty("java.vm.name")); dto.setJavaVersion(System.getProperty("java.version")); dto.setJavaHome(System.getProperty("java.home")); dto.setJavaTotalMemory(Runtime.getRuntime().totalMemory() / 1024 / 1024); dto.setJavaFreeMemory(Runtime.getRuntime().freeMemory() / 1024 / 1024); dto.setJavaMaxMemory(Runtime.getRuntime().maxMemory() / 1024 / 1024); dto.setUserName(System.getProperty("user.name")); dto.setSystemCpuLoad(BigDecimal.valueOf(osmx.getSystemCpuLoad() * 100).setScale(2, RoundingMode.HALF_UP)); dto.setUserTimezone(System.getProperty("user.timezone")); return Result.ok(dto); } }