All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.mingsoft.basic.action.SystemAction Maven / Gradle / Ivy

The newest version!
/**
 * Copyright (c) 2012-present 铭软科技(mingsoft.net)
 * 本软件及相关文档文件(以下简称“软件”)的版权归 铭软科技 所有
 * 遵循 铭软科技《服务协议》中的《保密条款》
 */

package net.mingsoft.basic.action;

import cn.hutool.system.oshi.CpuInfo;
import cn.hutool.system.oshi.OshiUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.mingsoft.base.entity.ResultData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Properties;

/**
 * 系统信息
 * @author 铭飞开发团队
 * @version
 * 版本号:1.0
* 创建日期:2022-8-24 23:40:55
* 历史修订:
*/ @Api(tags={"后端-系统信息"}) @Controller @RequestMapping("/${ms.manager.path}/basic/system") public class SystemAction extends BaseAction{ @Autowired private DataSource dataSource; /** * 系统信息 * @param request * @return 表单页面地址 */ @ApiIgnore @ApiOperation(value = "加载UI的表单页面") @GetMapping("/index") public String index(HttpServletRequest request) { return "/basic/system/index"; } /** * 获取系统配置信息 * @param request 请求对象 * @return true退出成功 */ @ApiOperation(value = "获取系统配置信息") @PostMapping("/info") @ResponseBody public ResultData info(HttpServletResponse response, HttpServletRequest request) { Properties props = System.getProperties();// 获取当前的系统属性 HashMap map = new HashMap<>(); map.put("CPU核数", String.valueOf(Runtime.getRuntime().availableProcessors())); // 单位B 转换为M map.put("虚拟机内存总量", String.valueOf(Runtime.getRuntime().totalMemory() / 1048576)); map.put("虚拟机空闲内存量", String.valueOf(Runtime.getRuntime().freeMemory() / 1048576)); map.put("虚拟机使用最大内存量", String.valueOf(Runtime.getRuntime().maxMemory() / 1048576)); map.put("系统名称", props.getProperty("os.name")); map.put("系统构架", props.getProperty("os.arch")); map.put("系统版本", props.getProperty("os.version")); map.put("Java版本", props.getProperty("java.version")); map.put("Java安装路径", props.getProperty("java.home")); CpuInfo cpu = OshiUtil.getCpuInfo(); map.put("cpu信息", cpu.getCpuModel() + "" + cpu.getCpuNum()); map.put("内存总量", OshiUtil.getMemory().getTotal() / 1048576); map.put("内存可用", OshiUtil.getMemory().getAvailable() / 1048576); //数据库 Connection connection = null; try { connection = dataSource.getConnection(); DatabaseMetaData mtdt = connection.getMetaData(); map.put("数据库链接", mtdt.getURL()); map.put("数据库",mtdt.getDatabaseProductName()); map.put("数据库版本",mtdt.getDatabaseProductVersion()); } catch (SQLException throwables) { throwables.printStackTrace(); } finally { if(connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } ServletContext context = request.getServletContext(); map.put("web容器",context.getServerInfo()); map.put("发布路径",context.getRealPath("")); // return ResultData.build().success(map); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy