agent接收数据类型调整匹配,完善资源模板管理、资源监控策略逻辑。

This commit is contained in:
gaoyutao
2025-09-24 17:40:53 +08:00
parent d5f232e295
commit 543b51ca6f
20 changed files with 419 additions and 101 deletions

View File

@@ -1,8 +1,8 @@
package com.ruoyi.system.controller;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageDomain;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.system.domain.RmResourceGroup;
import com.ruoyi.system.domain.RmResourceRegistration;
@@ -12,8 +12,6 @@ import com.ruoyi.system.service.IRmResourceRegistrationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 资源监控API
*
@@ -35,7 +33,7 @@ public class ResourceMonitorController extends BaseController
* 获取资源分组列表
* @return
*/
@GetMapping("resourceGroupList")
@GetMapping("/resourceGroupList")
public AjaxResult resourceGroupList(){
RmResourceGroup rmResourceGroup = new RmResourceGroup();
return success(rmResourceGroupService.selectRmResourceGroupList(rmResourceGroup));
@@ -45,7 +43,7 @@ public class ResourceMonitorController extends BaseController
* 服务器整体发送带宽利用率
* @return
*/
@GetMapping("trafficRateByServer")
@GetMapping("/trafficRateByServer")
public AjaxResult trafficRateByServer(){
return success(epsInitialTrafficDataService.trafficRateByServer());
}
@@ -54,14 +52,10 @@ public class ResourceMonitorController extends BaseController
* 获取资源列表
* @return
*/
@PostMapping("getRegisterListByGroupId")
@PostMapping("/getRegisterListByGroupId")
public TableDataInfo getRegisterListByGroupId(@RequestBody RmResourceGroup rmResourceGroup){
// 拿到注册信息
PageDomain pageDomain = new PageDomain();
pageDomain.setPageNum(rmResourceGroup.getPageNum());
pageDomain.setPageSize(rmResourceGroup.getPageSize());
startPage(pageDomain);
List<RmResourceRegistration> list = rmResourceGroupService.getRegisterList(rmResourceGroup);
return getDataTable(list);
PageInfo<RmResourceRegistration> pageInfo = rmResourceGroupService.getRegisterList(rmResourceGroup);
return getDataTable(pageInfo.getList(), pageInfo.getTotal());
}
}

View File

@@ -155,6 +155,15 @@ public class RmResourceRegistrationController extends BaseController
List<RmResourceRegistration> list = rmResourceRegistrationService.getRegistrationByIds(ids);
return R.ok(list);
}
/**
* 查询资源注册列表
*/
@InnerAuth
@PostMapping("/getListByHardwareSn")
public R<RmResourceRegistration> getListByHardwareSn(@RequestBody RmResourceRegistration rmResourceRegistration)
{
List<RmResourceRegistration> list = rmResourceRegistrationService.selectRmResourceRegistrationList(rmResourceRegistration);
return R.ok(list.get(0));
}
}

View File

@@ -68,4 +68,8 @@ public interface RmResourceGroupMapper
public RmResourceGroup selectMonitorMsgAndGroupMsg(Long id);
int exitsResourceById(RmResourceGroup rmResourceGroup);
int updateRmPolicyStatus(Long resourceGroupId);
int updateScriptPolicyStatus(Long resourceGroupId);
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.system.service;
import com.github.pagehelper.PageInfo;
import com.ruoyi.system.domain.RmResourceGroup;
import com.ruoyi.system.domain.RmResourceRegistration;
@@ -61,7 +62,7 @@ public interface IRmResourceGroupService
*/
public int deleteRmResourceGroupById(Long id);
List<RmResourceRegistration> getRegisterList(RmResourceGroup rmResourceGroup);
PageInfo<RmResourceRegistration> getRegisterList(RmResourceGroup rmResourceGroup);
String exitsResourceById(RmResourceGroup rmResourceGroup);
}

View File

@@ -1,6 +1,8 @@
package com.ruoyi.system.service.impl;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.web.page.PageDomain;
import com.ruoyi.system.domain.RmResourceGroup;
import com.ruoyi.system.domain.RmResourceRegistration;
import com.ruoyi.system.mapper.RmResourceGroupMapper;
@@ -11,6 +13,8 @@ import org.springframework.stereotype.Service;
import java.util.List;
import static com.ruoyi.common.core.utils.PageUtils.startPage;
/**
* 资源分组Service业务层处理
*
@@ -72,9 +76,22 @@ public class RmResourceGroupServiceImpl implements IRmResourceGroupService
public int updateRmResourceGroup(RmResourceGroup rmResourceGroup)
{
rmResourceGroup.setUpdateTime(DateUtils.getNowDate());
return rmResourceGroupMapper.updateRmResourceGroup(rmResourceGroup);
rmResourceGroupMapper.updateRmResourceGroup(rmResourceGroup);
// 资源组修改,相关策略状态改为待下发
updatePolicyStatus(rmResourceGroup.getId());
return 1;
}
/**
* 相关策略状态改为待下发
* @param resourceGroupId
*/
public void updatePolicyStatus(Long resourceGroupId){
// 资源监控策略状态修改
rmResourceGroupMapper.updateRmPolicyStatus(resourceGroupId);
// 脚本策略状态修改
rmResourceGroupMapper.updateScriptPolicyStatus(resourceGroupId);
}
/**
* 批量删除资源分组
*
@@ -99,29 +116,54 @@ public class RmResourceGroupServiceImpl implements IRmResourceGroupService
return rmResourceGroupMapper.deleteRmResourceGroupById(id);
}
/**
* 根据资源分组获取资源列表
* @param rmResourceGroup
* @return
*/
@Override
public List<RmResourceRegistration> getRegisterList(RmResourceGroup rmResourceGroup) {
public PageInfo<RmResourceRegistration> getRegisterList(RmResourceGroup rmResourceGroup) {
// 配置分页参数
PageDomain pageDomain = new PageDomain();
pageDomain.setPageNum(rmResourceGroup.getPageNum());
pageDomain.setPageSize(rmResourceGroup.getPageSize());
if(rmResourceGroup.getId() == null){
RmResourceRegistration queryParam = new RmResourceRegistration();
// 开启分页
startPage(pageDomain);
List<RmResourceRegistration> rmResourceRegistrationList = rmResourceRegistrationMapper.selectRmResourceRegistrationList(queryParam);
// 监控项赋值-暂时不需要
for (RmResourceRegistration rmResourceRegistration : rmResourceRegistrationList) {
RmResourceGroup item = rmResourceGroupMapper.selectMonitorMsgAndGroupMsg(rmResourceRegistration.getId());
rmResourceRegistration.setMonitorItems(item.getMonitorItems());
rmResourceRegistration.setDiscoveryRules(item.getDiscoveryRules());
if(item != null){
rmResourceRegistration.setMonitorItems(item.getMonitorItems());
rmResourceRegistration.setDiscoveryRules(item.getDiscoveryRules());
}else{
rmResourceRegistration.setMonitorItems("0");
rmResourceRegistration.setDiscoveryRules("0");
}
}
return rmResourceRegistrationList;
return new PageInfo<>(rmResourceRegistrationList);
}else{
RmResourceGroup group = rmResourceGroupMapper.selectRmResourceGroupById(rmResourceGroup.getId());
String ids = group.getIncludedDevicesId();
String[] resourceIds = ids.split(",");
// 开启分页
startPage(pageDomain);
// 拿到资源信息
List<RmResourceRegistration> rmResourceRegistrationList = rmResourceRegistrationMapper.getRegistrationByIds(resourceIds);
// 监控项赋值-暂时不需要
for (RmResourceRegistration rmResourceRegistration : rmResourceRegistrationList) {
RmResourceGroup item = rmResourceGroupMapper.selectMonitorMsgAndGroupMsg(rmResourceRegistration.getId());
rmResourceRegistration.setMonitorItems(item.getMonitorItems());
rmResourceRegistration.setDiscoveryRules(item.getDiscoveryRules());
if(item != null){
rmResourceRegistration.setMonitorItems(item.getMonitorItems());
rmResourceRegistration.setDiscoveryRules(item.getDiscoveryRules());
}else{
rmResourceRegistration.setMonitorItems("0");
rmResourceRegistration.setDiscoveryRules("0");
}
}
return rmResourceRegistrationList;
return new PageInfo<>(rmResourceRegistrationList);
}
}

View File

@@ -100,10 +100,20 @@
<select id="selectMonitorMsgAndGroupMsg" parameterType="Long" resultType="RmResourceGroup">
select b.monitor_items monitorItems,b.discovery_rules discoveryRules from rm_resource_group a left join rm_monitor_template b on a.id=b.resource_group_id
where FIND_IN_SET(#{id}, a.included_devices_id) > 0
limit 1
</select>
<select id="exitsResourceById" parameterType="RmResourceGroup" resultType="java.lang.Integer">
select count(1) from rm_resource_group
where FIND_IN_SET(#{resourceIds}, included_devices_id) > 0
</select>
<update id="updateRmPolicyStatus" parameterType="Long">
update rm_monitor_policy set status = '0'
where resource_group_id = #{resourceGroupId}
</update>
<update id="updateScriptPolicyStatus" parameterType="Long">
update rm_deployment_policy set policy_status = '0'
where resource_group_id = #{resourceGroupId}
</update>
</mapper>