fix:1.edit user 2.add freeMemory

This commit is contained in:
nieziyan 2024-02-05 17:25:21 +08:00
parent 9e2a90bb51
commit 25b0cdfadc
11 changed files with 50 additions and 64 deletions

View File

@ -9,6 +9,7 @@ public interface MonitorConstant {
// 监控项名称 // 监控项名称
String ITEM_CPUUSED = "cpuUtilization"; String ITEM_CPUUSED = "cpuUtilization";
String ITEM_SWAPUSED = "swapUtilization"; String ITEM_SWAPUSED = "swapUtilization";
String ITEM_MEMORYFREESIZE = "memoryFreeSize"; // byte
String ITEM_MEMORYUSED = "memoryUtilization"; String ITEM_MEMORYUSED = "memoryUtilization";
String ITEM_RUNTIME = "uptime"; String ITEM_RUNTIME = "uptime";
String ITEM_RAMSIZE = "totalMemory"; String ITEM_RAMSIZE = "totalMemory";

View File

@ -33,13 +33,13 @@ public class ServerDto implements Serializable {
private boolean memoryRed; private boolean memoryRed;
private String diskUsage; private String memoryFree;
private boolean diskRed; private boolean memoryFreeRed;
public ServerDto() { public ServerDto() {
this.cpuUutilzation = "--"; this.cpuUutilzation = "--";
this.memoryUsage = "--"; this.memoryUsage = "--";
this.diskUsage = "--"; this.memoryFree = "--";
} }
} }

View File

@ -41,15 +41,15 @@
<groupId>com.netease.qiye</groupId> <groupId>com.netease.qiye</groupId>
<artifactId>open-common</artifactId> <artifactId>open-common</artifactId>
<version>1.0</version> <version>1.0</version>
<scope>system</scope> <!--<scope>system</scope>
<systemPath>${project.basedir}/lib/open-common-1.0-SNAPSHOT.jar</systemPath> <systemPath>${project.basedir}/lib/open-common-1.0-SNAPSHOT.jar</systemPath>-->
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.netease.qiye</groupId> <groupId>com.netease.qiye</groupId>
<artifactId>open-sdk</artifactId> <artifactId>open-sdk</artifactId>
<version>1.0</version> <version>1.0</version>
<scope>system</scope> <!--<scope>system</scope>
<systemPath>${project.basedir}/lib/open-sdk-20211201132528.jar</systemPath> <systemPath>${project.basedir}/lib/open-sdk-20211201132528.jar</systemPath>-->
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -103,7 +103,7 @@ public class StatusAspect {
try { try {
databaseService.status2Redis(database); databaseService.status2Redis(database);
String token = ManageUtil.getToken(); String token = ManageUtil.getToken();
Page<Host> hostPage = monitorAlarm.dbList(null, 1, 99, token).getResult(); Page<Host> hostPage = monitorAlarm.dbList(MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult();
if (ObjectUtil.isNull(hostPage) || CollUtil.isEmpty(hostPage.getRecords())) return; if (ObjectUtil.isNull(hostPage) || CollUtil.isEmpty(hostPage.getRecords())) return;
List<Host> hosts = hostPage.getRecords(); List<Host> hosts = hostPage.getRecords();
String name = database.getName(); String name = database.getName();
@ -139,11 +139,9 @@ public class StatusAspect {
SysServer server = (SysServer) args[0]; SysServer server = (SysServer) args[0];
String id = server.getId(); String id = server.getId();
String name = server.getName(); String name = server.getName();
String ipAddress = server.getIpAddress();
try { try {
String token = ManageUtil.getToken(); String token = ManageUtil.getToken();
Page<Host> hostPage = monitorAlarm.listApp(ipAddress, MonitorConstant.SERVER_APP, Page<Host> hostPage = monitorAlarm.listApp(name, MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult();
MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult();
if (ObjectUtil.isNull(hostPage) || CollUtil.isEmpty(hostPage.getRecords())){ if (ObjectUtil.isNull(hostPage) || CollUtil.isEmpty(hostPage.getRecords())){
redisUtil.hset(key, id, new NameValue(name, online)); redisUtil.hset(key, id, new NameValue(name, online));
return; return;
@ -151,7 +149,7 @@ public class StatusAspect {
List<Host> hosts = hostPage.getRecords(); List<Host> hosts = hostPage.getRecords();
Host host = null; Host host = null;
for (Host oneHost : hosts) { for (Host oneHost : hosts) {
if (StrUtil.equals(ipAddress, oneHost.getCode())) if (StrUtil.equals(name, oneHost.getCode()))
host = oneHost; host = oneHost;
} }
if (ObjectUtil.isNull(host)){ if (ObjectUtil.isNull(host)){

View File

@ -24,25 +24,16 @@ public interface MonitorAlarm {
// --------------------后端专用------------------- // --------------------后端专用-------------------
@GetMapping("/omms/device/monitor/list") // 获取所有 服务器/数据库服务 信息 @GetMapping("/omms/device/monitor/list") // 获取所有 服务器/数据库服务 信息
Result<Page<Host>> listApp(@RequestParam("type") String type, Result<Page<Host>> listApp(@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize, @RequestParam("pageSize") Integer pageSize,
@RequestHeader("X-Access-Token") String token); @RequestHeader("X-Access-Token") String token);
@GetMapping("/omms/device/monitor/list") // 获取所有 服务器/数据库服务 信息 @GetMapping("/omms/device/monitor/list") // 获取所有 服务器/数据库服务 信息
Result<Page<Host>> listApp(@RequestParam("code") String code, Result<Page<Host>> listApp(@RequestParam("code") String code,
@RequestParam("type") String type,
@RequestParam("pageNo") Integer pageNo, @RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize, @RequestParam("pageSize") Integer pageSize,
@RequestHeader("X-Access-Token") String token); @RequestHeader("X-Access-Token") String token);
@GetMapping("/omms/device/monitor/list") // 获取所有在线 服务器/数据库服务 信息
Result<Page<Host>> listOnApp(@RequestParam("status") String status,
@RequestParam("type") String type,
@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize,
@RequestHeader("X-Access-Token") String token);
@GetMapping("/omms/device/monitor/queryHostDetails") // 获取服务器摘要信息 @GetMapping("/omms/device/monitor/queryHostDetails") // 获取服务器摘要信息
Result<Host> summary(@RequestParam("hostId") String hostId, Result<Host> summary(@RequestParam("hostId") String hostId,
@RequestParam("pageName") String pageName, @RequestParam("pageName") String pageName,
@ -116,8 +107,7 @@ public interface MonitorAlarm {
@RequestHeader("X-Access-Token") String token); @RequestHeader("X-Access-Token") String token);
@GetMapping("/omms/monitor/db/list") @GetMapping("/omms/monitor/db/list")
Result<Page<Host>> dbList(@RequestParam("code") String code, Result<Page<Host>> dbList(@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize, @RequestParam("pageSize") Integer pageSize,
@RequestHeader("X-Access-Token") String token); @RequestHeader("X-Access-Token") String token);
} }

View File

@ -86,7 +86,7 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
Map<String,Host> dbMap = new HashMap<>(); Map<String,Host> dbMap = new HashMap<>();
try { try {
String token = ManageUtil.getToken(); String token = ManageUtil.getToken();
Page<Host> dbPage = monitorAlarm.dbList(null, 1, 99, token).getResult(); Page<Host> dbPage = monitorAlarm.dbList( MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult();
if (ObjectUtil.isNotNull(dbPage) && CollUtil.isNotEmpty(dbPage.getRecords())) if (ObjectUtil.isNotNull(dbPage) && CollUtil.isNotEmpty(dbPage.getRecords()))
dbMap = dbPage.getRecords().stream().collect(Collectors.toMap(Host::getName, host -> host)); dbMap = dbPage.getRecords().stream().collect(Collectors.toMap(Host::getName, host -> host));
}catch (FeignException.Unauthorized e){ }catch (FeignException.Unauthorized e){
@ -110,11 +110,12 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
String dataBaseType = dataSourceMap.get(type); String dataBaseType = dataSourceMap.get(type);
databaseDto.setDataBaseType(dataBaseType) databaseDto.setDataBaseType(dataBaseType)
.setAlarmRed(alarmRed).setOnline(online); .setAlarmRed(alarmRed).setOnline(online);
// 如果数据库不在线 则不需要查询数据库的使用情况
if (!online) continue;
// 获取数据库指标信息 // 获取数据库指标信息
Host db = dbMap.get(name); Host db = dbMap.get(name);
if (ObjectUtil.isNull(db)) continue; if (ObjectUtil.isNull(db)) continue;
if (!online) continue;
Map<String, Item> itemMap = db.getItems(); Map<String, Item> itemMap = db.getItems();
if (MapUtil.isEmpty(itemMap)) continue; if (MapUtil.isEmpty(itemMap)) continue;
// dbMemory kb -> GB // dbMemory kb -> GB

View File

@ -81,8 +81,7 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
List<Host> hosts = new ArrayList<>(); List<Host> hosts = new ArrayList<>();
try { try {
String token = ManageUtil.getToken(); String token = ManageUtil.getToken();
hosts = monitorAlarm.listOnApp(ON.getValue(), MonitorConstant.SERVER_APP, hosts = monitorAlarm.listApp(MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult().getRecords();
MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult().getRecords();
}catch (FeignException.Unauthorized e){ }catch (FeignException.Unauthorized e){
ManageUtil.refreshToken(); ManageUtil.refreshToken();
log.warn("向运管系统查询Hosts信息异常: Token失效,已刷新Token"); log.warn("向运管系统查询Hosts信息异常: Token失效,已刷新Token");
@ -105,24 +104,29 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
if (ObjectUtil.isNotNull(nameValue)) if (ObjectUtil.isNotNull(nameValue))
value = nameValue.getValue(); value = nameValue.getValue();
boolean online = ObjectUtil.isNotNull(value) && value; boolean online = ObjectUtil.isNotNull(value) && value;
serverDto.setOnline(online);
// 如果机器不在线 则不需要查询机器的硬件使用情况
if (!online) continue;
// 设置服务器的硬件使用情况信息 // 设置服务器的硬件使用情况信息
Host host = hostMap.get(hostId); Host host = hostMap.get(hostId);
if (ObjectUtil.isNull(host)) if (ObjectUtil.isNull(host)) continue;
continue;
Map<String, Item> items = host.getItems(); Map<String, Item> items = host.getItems();
// CPU利用率 // CPU利用率
Item cpuItem = items.getOrDefault(MonitorConstant.ITEM_CPUUSED, new Item()); Item item = items.getOrDefault(MonitorConstant.ITEM_CPUUSED, new Item());
String cpuValue = cpuItem.getLastValue(); String cpu = item.getLastValue();
String cpu = StrUtil.isBlank(cpuValue) ? "--" : if (StrUtil.isNotBlank(cpu))
NumUtil.keepStr(cpuValue, 1) + "%"; serverDto.setCpuUutilzation(NumUtil.keepStr(cpu, 1) + "%");
// 内存使用率 // 内存使用率
Item memoryItem = items.getOrDefault(MonitorConstant.ITEM_MEMORYUSED, new Item()); item = items.getOrDefault(MonitorConstant.ITEM_MEMORYUSED, new Item());
String memoryValue = memoryItem.getLastValue(); String memory = item.getLastValue();
String memory = StrUtil.isBlank(memoryValue) ? "--" : if (StrUtil.isNotBlank(memory))
NumUtil.keepStr(memoryValue, 1) + "%"; serverDto.setMemoryUsage(NumUtil.keepStr(memory, 1) + "%");
// 磁盘使用率 // 内存可用空间
serverDto.setOnline(online).setCpuUutilzation(cpu) item = items.getOrDefault(MonitorConstant.ITEM_MEMORYFREESIZE, new Item());
.setMemoryUsage(memory).setDiskUsage("--"); String memoryFree = item.getLastValue();
if (StrUtil.isNotBlank(memoryFree))
serverDto.setMemoryFree(NumUtil.byte2Gb(memoryFree, 2) + "GB");
} }
page.setRecords(serverDtos); page.setRecords(serverDtos);
return Result.OK(page); return Result.OK(page);
@ -365,8 +369,7 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
Map<String, Object> values = new HashMap<>(); Map<String, Object> values = new HashMap<>();
try { try {
String token = ManageUtil.getToken(); String token = ManageUtil.getToken();
List<Host> hosts = monitorAlarm.listApp(MonitorConstant.SERVER_APP, List<Host> hosts = monitorAlarm.listApp(MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult().getRecords();
MonitorConstant.pageNo, MonitorConstant.pageSize, token).getResult().getRecords();
Map<String, Host> hostMap = hosts.stream().collect(Collectors.toMap(Host::getHostId, Host -> Host)); Map<String, Host> hostMap = hosts.stream().collect(Collectors.toMap(Host::getHostId, Host -> Host));
for (SysServer server : sysServers) { for (SysServer server : sysServers) {
Boolean online = null; Boolean online = null;

View File

@ -1,10 +1,6 @@
package org.jeecg.modules.controller; package org.jeecg.modules.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("")
public class AlarmController { public class AlarmController {

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.system.controller; package org.jeecg.modules.system.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -11,6 +12,7 @@ import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.config.TenantContext; import org.jeecg.common.config.TenantContext;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.Prompt;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
@ -142,22 +144,16 @@ public class SysRoleController {
//@RequiresPermissions("system:role:edit") //@RequiresPermissions("system:role:edit")
@RequestMapping(value = "/edit",method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit",method = {RequestMethod.PUT,RequestMethod.POST})
public Result<SysRole> edit(@RequestBody SysRole role) { public Result<SysRole> edit(@RequestBody SysRole role) {
Result<SysRole> result = new Result<SysRole>(); String roleId = role.getId();
SysRole sysrole = sysRoleService.getById(role.getId()); SysRole sysRole = sysRoleService.getById(roleId);
if(sysrole==null) { if (ObjectUtil.isNull(sysRole))
result.error500("未找到对应实体"); return Result.error(Prompt.DATA_NOT_EXITS);
}else { boolean success = sysRoleService.updateById(role);
role.setUpdateTime(new Date()); if (success)
boolean ok = sysRoleService.updateById(role); return Result.OK(Prompt.UPDATE_SUCC);
//TODO 返回false说明什么 return Result.error(Prompt.UPDATE_ERR);
if(ok) {
result.success("修改成功!");
}
}
return result;
} }
/** /**
* 通过id删除 * 通过id删除
* @param id * @param id

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.system.mapper.SysUserDepartMapper"> <mapper namespace="org.jeecg.modules.system.mapper.SysUserDepartMapper">
<select id="getUserDepartByUid" parameterType="String" resultType="org.jeecg.modules.base.entity.postgre.SysUserDepart"> <select id="getUserDepartByUid" parameterType="String" resultType="org.jeecg.modules.base.entity.postgre.SysUserDepart">
SELECT * SELECT user_id, dep_id
FROM sys_user_depart FROM sys_user_depart
WHERE user_id = #{userId, jdbcType=VARCHAR} WHERE user_id = #{userId, jdbcType=VARCHAR}
</select> </select>

View File

@ -749,7 +749,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
arr = departs.split(","); arr = departs.split(",");
} }
//查询已关联部门 //查询已关联部门
List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId())); // List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
List<SysUserDepart> userDepartList = sysUserDepartMapper.getUserDepartByUid(user.getId());
if(userDepartList != null && userDepartList.size()>0){ if(userDepartList != null && userDepartList.size()>0){
for(SysUserDepart depart : userDepartList ){ for(SysUserDepart depart : userDepartList ){
//修改已关联部门删除部门用户角色关系 //修改已关联部门删除部门用户角色关系