From 1dff06a35adde5b150ea3c94893edf57d6736ad3 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Thu, 26 Mar 2026 15:57:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/apps/Module/ChartInfo.java | 26 + .../jeesite/modules/apps/Module/HostInfo.java | 17 - .../java/com/jeesite/modules/apps/Start.java | 5 - .../apps/web/SysAnalysisController.java | 31 +- .../biz/web/MyNoticeTodoController.java | 3 + .../com/jeesite/modules/utils/HostUtils.java | 33 - web-vue/packages/biz/api/biz/myAnalysis.ts | 20 + .../desktop/analysis/components/HostInfo.vue | 403 ++++++++---- .../analysis/components/NoticeInfo.vue | 52 +- .../desktop/analysis/components/TodoInfo.vue | 579 +++++++++++++++++- 10 files changed, 969 insertions(+), 200 deletions(-) create mode 100644 web-api/src/main/java/com/jeesite/modules/apps/Module/ChartInfo.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/apps/Module/HostInfo.java delete mode 100644 web-api/src/main/java/com/jeesite/modules/utils/HostUtils.java create mode 100644 web-vue/packages/biz/api/biz/myAnalysis.ts diff --git a/web-api/src/main/java/com/jeesite/modules/apps/Module/ChartInfo.java b/web-api/src/main/java/com/jeesite/modules/apps/Module/ChartInfo.java new file mode 100644 index 0000000..a5f3316 --- /dev/null +++ b/web-api/src/main/java/com/jeesite/modules/apps/Module/ChartInfo.java @@ -0,0 +1,26 @@ +package com.jeesite.modules.apps.Module; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ChartInfo implements Serializable { + + private String key; + private String label; + private double value; + private String color; + private String remark; + + public ChartInfo() { + } + + public ChartInfo(String key, String label, double value, String color,String remark) { + this.key = key; + this.label = label; + this.value = value; + this.color = color; + this.remark = remark; + } +} diff --git a/web-api/src/main/java/com/jeesite/modules/apps/Module/HostInfo.java b/web-api/src/main/java/com/jeesite/modules/apps/Module/HostInfo.java deleted file mode 100644 index 0f854ae..0000000 --- a/web-api/src/main/java/com/jeesite/modules/apps/Module/HostInfo.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.jeesite.modules.apps.Module; - -import lombok.Data; - -import java.io.Serializable; - -@Data -public class HostInfo implements Serializable { - private Integer cpuNum; - - - public HostInfo(){} - - public HostInfo(Integer cpuNum){ - this.cpuNum = cpuNum; - } -} diff --git a/web-api/src/main/java/com/jeesite/modules/apps/Start.java b/web-api/src/main/java/com/jeesite/modules/apps/Start.java index 98a7240..ad6f52d 100644 --- a/web-api/src/main/java/com/jeesite/modules/apps/Start.java +++ b/web-api/src/main/java/com/jeesite/modules/apps/Start.java @@ -6,10 +6,5 @@ public class Start { public static void main(String[] args) { - - - - - } } diff --git a/web-api/src/main/java/com/jeesite/modules/apps/web/SysAnalysisController.java b/web-api/src/main/java/com/jeesite/modules/apps/web/SysAnalysisController.java index 6d80650..e17fb52 100644 --- a/web-api/src/main/java/com/jeesite/modules/apps/web/SysAnalysisController.java +++ b/web-api/src/main/java/com/jeesite/modules/apps/web/SysAnalysisController.java @@ -1,14 +1,39 @@ package com.jeesite.modules.apps.web; -import cn.hutool.system.SystemUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.system.oshi.CpuInfo; +import cn.hutool.system.oshi.OshiUtil; +import com.jeesite.modules.apps.Module.ChartInfo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.ArrayList; +import java.util.List; @Controller @RequestMapping(value = "${adminPath}/sys/analysis") public class SysAnalysisController { - public void sss(){ - SystemUtil.getJvmInfo(); + @RequestMapping(value = "getHostInfo") + @ResponseBody + public List getHostInfo() { + List chartInfoList = new ArrayList<>(); + CpuInfo cpuInfo = OshiUtil.getCpuInfo(); + long uptimeMs = OshiUtil.getOs().getSystemUptime(); + String runTime = DateUtil.formatBetween(uptimeMs); + // 系统使用率(红色) + chartInfoList.add(new ChartInfo("sys", "系统使用率", cpuInfo.getSys(), "#F43F5E", runTime)); + // 用户使用率(蓝色) + chartInfoList.add(new ChartInfo("user", "用户使用率", cpuInfo.getUser(), "#3B82F6", runTime)); + // CPU等待率(橙色) + chartInfoList.add(new ChartInfo("wait", "CPU等待率", cpuInfo.getWait(), "#F97316", runTime)); + // CPU空闲率(绿色) + chartInfoList.add(new ChartInfo("free", "CPU空闲率", cpuInfo.getFree(), "#10B981", runTime)); + // CPU总使用率(粉色) + chartInfoList.add(new ChartInfo("used", "CPU总使用率", cpuInfo.getUsed(), "#EC4899", runTime)); + // 系统运行时间(紫色) + chartInfoList.add(new ChartInfo("time", "系统运行时间", 0, "#8B5CF6", runTime)); + return chartInfoList; } } diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/MyNoticeTodoController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/MyNoticeTodoController.java index c5a6af4..9f4beef 100644 --- a/web-api/src/main/java/com/jeesite/modules/biz/web/MyNoticeTodoController.java +++ b/web-api/src/main/java/com/jeesite/modules/biz/web/MyNoticeTodoController.java @@ -167,6 +167,9 @@ public class MyNoticeTodoController extends BaseController { @RequestMapping(value = "fileList") @ResponseBody public List fileList(MyNoticeTodo myNoticeTodo) { + MyNoticeTodo noticeTodo = myNoticeTodoService.get(myNoticeTodo); + noticeTodo.setReadFlag("1"); + myNoticeTodoService.save(noticeTodo); List fileLists = new ArrayList<>(); List fileUploadList = FileUploadUtils.findFileUpload(myNoticeTodo.getId(), "myNoticeTodo_file"); for (FileUpload fileUpload : fileUploadList) { diff --git a/web-api/src/main/java/com/jeesite/modules/utils/HostUtils.java b/web-api/src/main/java/com/jeesite/modules/utils/HostUtils.java deleted file mode 100644 index fcc72fa..0000000 --- a/web-api/src/main/java/com/jeesite/modules/utils/HostUtils.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.jeesite.modules.utils; - -import cn.hutool.system.oshi.CpuInfo; -import cn.hutool.system.oshi.OshiUtil; -import com.jeesite.modules.apps.Module.HostInfo; - -public class HostUtils { - - - public static HostInfo getHostInfo() { - - // return "CpuInfo{CPU核心数=" + this.cpuNum + ", CPU总的使用率=" + this.toTal + ", - // CPU系统使用率=" + this.sys + ", CPU用户使用率=" + this.user + ", CPU当前等待率=" + this.wait + ", - // CPU当前空闲率=" + this.free + ", CPU利用率=" + this.getUsed() + ", CPU型号信息='" + this.cpuModel + '\'' + '}'; - CpuInfo cpuInfo = OshiUtil.getCpuInfo(); - - System.out.println(cpuInfo); - - System.out.println("================"); - System.out.println(cpuInfo.getCpuNum()); - System.out.println(cpuInfo.getToTal()); - System.out.println(cpuInfo.getSys()); - System.out.println(cpuInfo.getUser()); - System.out.println(cpuInfo.getWait()); - System.out.println(cpuInfo.getFree()); - System.out.println(cpuInfo.getUsed()); - return new HostInfo(); - } - - public static void main(String[] args) { - getHostInfo(); - } -} diff --git a/web-vue/packages/biz/api/biz/myAnalysis.ts b/web-vue/packages/biz/api/biz/myAnalysis.ts new file mode 100644 index 0000000..ab6193c --- /dev/null +++ b/web-vue/packages/biz/api/biz/myAnalysis.ts @@ -0,0 +1,20 @@ +/** + * Copyright (c) 2013-Now https://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + * @author gaoxq + */ +import { defHttp } from '@jeesite/core/utils/http/axios'; +import { useGlobSetting } from '@jeesite/core/hooks/setting'; +import { BasicModel } from '@jeesite/core/api/model/baseModel'; + +const { adminPath } = useGlobSetting(); + +export interface ChartInfo extends BasicModel { + key: string; // 指标Key + label: string; // 指标名称 + value: number; // 指标数值 + color: string; // 指标颜色 + remark?: string; // 运行时长 +} + +export const HostInfoData = () => defHttp.get({ url: adminPath + '/sys/analysis/getHostInfo' }); diff --git a/web-vue/packages/core/layouts/views/desktop/analysis/components/HostInfo.vue b/web-vue/packages/core/layouts/views/desktop/analysis/components/HostInfo.vue index a672efe..7c0071b 100644 --- a/web-vue/packages/core/layouts/views/desktop/analysis/components/HostInfo.vue +++ b/web-vue/packages/core/layouts/views/desktop/analysis/components/HostInfo.vue @@ -1,12 +1,24 @@ diff --git a/web-vue/packages/core/layouts/views/desktop/analysis/components/NoticeInfo.vue b/web-vue/packages/core/layouts/views/desktop/analysis/components/NoticeInfo.vue index 66ff23e..e62ef50 100644 --- a/web-vue/packages/core/layouts/views/desktop/analysis/components/NoticeInfo.vue +++ b/web-vue/packages/core/layouts/views/desktop/analysis/components/NoticeInfo.vue @@ -15,15 +15,27 @@
- - - - + + + + + + + + @@ -39,7 +51,7 @@
发布时间:{{ selectedNotice.createTime }} - 发布人:{{ selectedNotice.createUser }} + 发布人员:{{ selectedNotice.createUser }}
截至时间:{{ selectedNotice.datetime }}
@@ -61,13 +73,12 @@
{{ item.fileSize }} 下载 + >
@@ -79,6 +90,7 @@