/**
|
* 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<List<ConfigDto>> configs() {
|
return Result.ok(sysParamsService.getConfigs());
|
}
|
|
@GetMapping("sys/info")
|
@ApiOperation("系统信息")
|
public Result<SystemDto> 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);
|
}
|
|
}
|