优化执行结果根据失败关键字筛选
优化告警日志 监控看板概览功能
This commit is contained in:
@@ -130,7 +130,7 @@ public interface RemoteRevenueConfigService
|
||||
@PostMapping("/bandwidth/getEpsNodeBandWidthList")
|
||||
public R<List<EpsNodeBandwidthRemote>> getEpsNodeBandWidthList(@RequestBody EpsNodeBandwidthRemote epsNodeBandwidthRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
@GetMapping("/businessScript/{id}")
|
||||
@GetMapping("/businessScript/inner/{id}")
|
||||
public R<EpsBusinessScriptRemote> getBusinessScriptMsgByScriptId(@PathVariable("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.system.config;
|
||||
|
||||
import com.ruoyi.system.domain.*;
|
||||
import com.ruoyi.system.mapper.RmResourceRegistrationMapper;
|
||||
import com.ruoyi.system.service.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -8,6 +9,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@@ -39,6 +41,12 @@ public class TableScheduleConfig {
|
||||
private IRmEpsTopologyManagementService rmEpsTopologyManagementService;
|
||||
@Autowired
|
||||
private IEpsMethodChangeRecordService epsMethodChangeRecordService;
|
||||
@Autowired
|
||||
private IRmMonitorConfigService rmMonitorConfigService;
|
||||
@Autowired
|
||||
private IRmMonitorConfigDetailsService rmMonitorConfigDetailsService;
|
||||
@Autowired
|
||||
private RmResourceRegistrationMapper rmResourceRegistrationMapper;
|
||||
|
||||
// 每月25号创建下月表
|
||||
@Scheduled(cron = "0 0 0 25 * ?")
|
||||
@@ -46,6 +54,71 @@ public class TableScheduleConfig {
|
||||
public void createNextMonthTables() {
|
||||
epsInitialTrafficDataService.createNextMonthTables();
|
||||
}
|
||||
@Scheduled(cron = "0 1/5 * * * ?")
|
||||
public void sumTrafficMyMonitorConfig() {
|
||||
// 查询所有配置
|
||||
List<RmMonitorConfig> rmMonitorConfigList = rmMonitorConfigService.selectRmMonitorConfigList(new RmMonitorConfig());
|
||||
if (rmMonitorConfigList == null || rmMonitorConfigList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (RmMonitorConfig rmMonitorConfig : rmMonitorConfigList) {
|
||||
// 判断资源类型
|
||||
if("1".equals(rmMonitorConfig.getResourceType()) || "3".equals(rmMonitorConfig.getResourceType())){
|
||||
if("3".equals(rmMonitorConfig.getResourceType())){
|
||||
if(rmMonitorConfig.getBusinessName() == null){
|
||||
log.warn("不存在业务");
|
||||
continue;
|
||||
}
|
||||
// 根据业务代码查询服务器clientId
|
||||
RmResourceRegistration queryRegist = new RmResourceRegistration();
|
||||
queryRegist.setBusinessName(rmMonitorConfig.getBusinessName());
|
||||
List<RmResourceRegistration> registrationList = rmResourceRegistrationMapper.getRegistrationTableInfoList(queryRegist);
|
||||
StringBuilder clientIds = new StringBuilder();
|
||||
if (registrationList != null && !registrationList.isEmpty()) {
|
||||
for (RmResourceRegistration registration : registrationList) {
|
||||
if (registration.getClientId() != null) {
|
||||
if (clientIds.length() > 0) {
|
||||
clientIds.append("\n");
|
||||
}
|
||||
clientIds.append(registration.getClientId());
|
||||
}
|
||||
}
|
||||
}
|
||||
rmMonitorConfig.setDeployDevice(clientIds.toString());
|
||||
}
|
||||
List<EpsInitialTrafficData> serverTrafficList = epsInitialTrafficDataService.getServerTrafficByMonitorView(rmMonitorConfig);
|
||||
// 计算结果落入临时表
|
||||
for (EpsInitialTrafficData epsInitialTrafficData : serverTrafficList) {
|
||||
RmMonitorConfigDetails configDetails = new RmMonitorConfigDetails();
|
||||
configDetails.setMonitorId(rmMonitorConfig.getId());
|
||||
configDetails.setCreateTime(epsInitialTrafficData.getCreateTime());
|
||||
// 查询该数据是否存在
|
||||
List<RmMonitorConfigDetails> exitsList = rmMonitorConfigDetailsService.selectRmMonitorConfigDetailsList(configDetails);
|
||||
if(exitsList == null || exitsList.isEmpty()){
|
||||
configDetails.setInSpeed(new BigDecimal(epsInitialTrafficData.getInSpeed() == null ? "0" : epsInitialTrafficData.getInSpeed()));
|
||||
configDetails.setOutSpeed(new BigDecimal(epsInitialTrafficData.getOutSpeed() == null ? "0" : epsInitialTrafficData.getOutSpeed()));
|
||||
configDetails.setDeployDevice(rmMonitorConfig.getDeployDevice());
|
||||
rmMonitorConfigDetailsService.insertRmMonitorConfigDetails(configDetails);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
List<InitialSwitchInfoDetails> switchInfoDetailsList = initialSwitchInfoDetailsService.getMonitorViewDetails(rmMonitorConfig);
|
||||
for (InitialSwitchInfoDetails initialSwitchInfoDetails : switchInfoDetailsList) {
|
||||
RmMonitorConfigDetails configDetails = new RmMonitorConfigDetails();
|
||||
configDetails.setMonitorId(rmMonitorConfig.getId());
|
||||
configDetails.setCreateTime(initialSwitchInfoDetails.getCreateTime());
|
||||
// 查询该数据是否存在
|
||||
List<RmMonitorConfigDetails> exitsList = rmMonitorConfigDetailsService.selectRmMonitorConfigDetailsList(configDetails);
|
||||
if(exitsList == null || exitsList.isEmpty()){
|
||||
configDetails.setInSpeed(initialSwitchInfoDetails.getInSpeed());
|
||||
configDetails.setOutSpeed(initialSwitchInfoDetails.getOutSpeed());
|
||||
configDetails.setDeployDevice(rmMonitorConfig.getDeployDevice());
|
||||
rmMonitorConfigDetailsService.insertRmMonitorConfigDetails(configDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 每天0点执行 计算95带宽值/日
|
||||
@Scheduled(cron = "0 4 0 * * ?", zone = "Asia/Shanghai")
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.ruoyi.system.controller;
|
||||
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
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.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.InnerAuth;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import com.ruoyi.system.domain.EpsBusinessScript;
|
||||
import com.ruoyi.system.service.IEpsBusinessScriptService;
|
||||
@@ -52,7 +54,15 @@ public class EpsBusinessScriptController extends BaseController
|
||||
{
|
||||
return success(epsBusinessScriptService.selectEpsBusinessScriptById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取业务脚本管理详细信息
|
||||
*/
|
||||
@GetMapping(value = "/inner/{id}")
|
||||
@InnerAuth
|
||||
public R<EpsBusinessScript> innerGetInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return R.ok(epsBusinessScriptService.selectEpsBusinessScriptById(id));
|
||||
}
|
||||
/**
|
||||
* 新增业务脚本管理
|
||||
*/
|
||||
|
||||
@@ -82,11 +82,11 @@ public class EpsInitialTrafficDataController {
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
*/
|
||||
@RequiresPermissions("system:bandwidth:list")
|
||||
@PostMapping("/getServerTrafficByMonitorView")
|
||||
public AjaxResult getServerTrafficByMonitorView(@RequestBody EpsInitialTrafficData queryParam)
|
||||
{
|
||||
Map<String, Object> echartsData = epsInitialTrafficDataService.getServerTrafficByMonitorView(queryParam);
|
||||
return success(echartsData);
|
||||
}
|
||||
// @RequiresPermissions("system:bandwidth:list")
|
||||
// @PostMapping("/getServerTrafficByMonitorView")
|
||||
// public AjaxResult getServerTrafficByMonitorView(@RequestBody EpsInitialTrafficData queryParam)
|
||||
// {
|
||||
// Map<String, Object> echartsData = epsInitialTrafficDataService.getServerTrafficByMonitorView(queryParam);
|
||||
// return success(echartsData);
|
||||
// }
|
||||
}
|
||||
@@ -130,13 +130,13 @@ public class InitialSwitchInfoDetailsController extends BaseController
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
*/
|
||||
@RequiresPermissions("system:bandwidth:list")
|
||||
@PostMapping("/getSwitchTrafficByMonitorView")
|
||||
public AjaxResult getSwitchTrafficByMonitorView(@RequestBody InitialSwitchInfoDetails initialSwitchInfoDetails)
|
||||
{
|
||||
Map<String, Object> echartsData = initialSwitchInfoDetailsService.getMonitorViewDetails(initialSwitchInfoDetails);
|
||||
return success(echartsData);
|
||||
}
|
||||
// @RequiresPermissions("system:bandwidth:list")
|
||||
// @PostMapping("/getSwitchTrafficByMonitorView")
|
||||
// public AjaxResult getSwitchTrafficByMonitorView(@RequestBody InitialSwitchInfoDetails initialSwitchInfoDetails)
|
||||
// {
|
||||
// Map<String, Object> echartsData = initialSwitchInfoDetailsService.getMonitorViewDetails(initialSwitchInfoDetails);
|
||||
// return success(echartsData);
|
||||
// }
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量列表
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.ruoyi.system.controller;
|
||||
|
||||
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.web.controller.BaseController;
|
||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
||||
import com.ruoyi.common.log.annotation.Log;
|
||||
import com.ruoyi.common.log.enums.BusinessType;
|
||||
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
||||
import com.ruoyi.system.domain.RmMonitorConfigDetails;
|
||||
import com.ruoyi.system.service.IRmMonitorConfigDetailsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 监控看板详情Controller
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-11-14
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/monitorConfigDetails")
|
||||
public class RmMonitorConfigDetailsController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IRmMonitorConfigDetailsService rmMonitorConfigDetailsService;
|
||||
|
||||
/**
|
||||
* 查询监控看板详情列表
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
startPage();
|
||||
List<RmMonitorConfigDetails> list = rmMonitorConfigDetailsService.selectRmMonitorConfigDetailsList(rmMonitorConfigDetails);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出监控看板详情列表
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:export")
|
||||
@Log(title = "监控看板详情", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
List<RmMonitorConfigDetails> list = rmMonitorConfigDetailsService.selectRmMonitorConfigDetailsList(rmMonitorConfigDetails);
|
||||
ExcelUtil<RmMonitorConfigDetails> util = new ExcelUtil<RmMonitorConfigDetails>(RmMonitorConfigDetails.class);
|
||||
util.exportExcel(response, list, "监控看板详情数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取监控看板详情详细信息
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:query")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return success(rmMonitorConfigDetailsService.selectRmMonitorConfigDetailsById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增监控看板详情
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:add")
|
||||
@Log(title = "监控看板详情", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
return toAjax(rmMonitorConfigDetailsService.insertRmMonitorConfigDetails(rmMonitorConfigDetails));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改监控看板详情
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:edit")
|
||||
@Log(title = "监控看板详情", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
return toAjax(rmMonitorConfigDetailsService.updateRmMonitorConfigDetails(rmMonitorConfigDetails));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除监控看板详情
|
||||
*/
|
||||
@RequiresPermissions("system:monitorConfigDetails:remove")
|
||||
@Log(title = "监控看板详情", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
return toAjax(rmMonitorConfigDetailsService.deleteRmMonitorConfigDetailsByIds(ids));
|
||||
}
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
*/
|
||||
@RequiresPermissions("system:bandwidth:list")
|
||||
@PostMapping("/getTrafficByMonitorView")
|
||||
public AjaxResult getTrafficByMonitorView(@RequestBody RmMonitorConfigDetails queryParam)
|
||||
{
|
||||
Map<String, Object> echartsData = rmMonitorConfigDetailsService.getTrafficByMonitorView(queryParam);
|
||||
return success(echartsData);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.core.annotation.Excel;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 监控配置对象 rm_monitor_config
|
||||
@@ -11,6 +10,7 @@ import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
* @author gyt
|
||||
* @date 2025-11-12
|
||||
*/
|
||||
@Data
|
||||
public class RmMonitorConfig extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -29,73 +29,16 @@ public class RmMonitorConfig extends BaseEntity
|
||||
/** 资源类型 */
|
||||
@Excel(name = "资源类型")
|
||||
private String resourceType;
|
||||
/** 业务代码 */
|
||||
@Excel(name = "业务代码")
|
||||
private String businessCode;
|
||||
|
||||
/** 业务名称 */
|
||||
@Excel(name = "业务名称")
|
||||
private String businessName;
|
||||
|
||||
/** 部署设备 */
|
||||
@Excel(name = "部署设备")
|
||||
private String deployDevice;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setConfigName(String configName)
|
||||
{
|
||||
this.configName = configName;
|
||||
}
|
||||
|
||||
public String getConfigName()
|
||||
{
|
||||
return configName;
|
||||
}
|
||||
|
||||
public void setMonitorStartTime(String monitorStartTime)
|
||||
{
|
||||
this.monitorStartTime = monitorStartTime;
|
||||
}
|
||||
|
||||
public String getMonitorStartTime()
|
||||
{
|
||||
return monitorStartTime;
|
||||
}
|
||||
|
||||
public void setResourceType(String resourceType)
|
||||
{
|
||||
this.resourceType = resourceType;
|
||||
}
|
||||
|
||||
public String getResourceType()
|
||||
{
|
||||
return resourceType;
|
||||
}
|
||||
|
||||
public void setDeployDevice(String deployDevice)
|
||||
{
|
||||
this.deployDevice = deployDevice;
|
||||
}
|
||||
|
||||
public String getDeployDevice()
|
||||
{
|
||||
return deployDevice;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("configName", getConfigName())
|
||||
.append("monitorStartTime", getMonitorStartTime())
|
||||
.append("resourceType", getResourceType())
|
||||
.append("deployDevice", getDeployDevice())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import com.ruoyi.common.core.annotation.Excel;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 监控看板详情对象 rm_monitor_config_details
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-11-14
|
||||
*/
|
||||
@Data
|
||||
public class RmMonitorConfigDetails extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 自增主键ID */
|
||||
private Long id;
|
||||
|
||||
/** 监控id */
|
||||
@Excel(name = "监控id")
|
||||
private Long monitorId;
|
||||
|
||||
/** 包含设备 */
|
||||
@Excel(name = "包含设备")
|
||||
private String deployDevice;
|
||||
|
||||
/** 接收流量(字节) */
|
||||
@Excel(name = "接收流量(字节)")
|
||||
private BigDecimal inBytes;
|
||||
|
||||
/** 发送流量(字节) */
|
||||
@Excel(name = "发送流量(字节)")
|
||||
private BigDecimal outBytes;
|
||||
|
||||
/** 接收流量(bit/s) */
|
||||
@Excel(name = "接收流量", readConverterExp = "b=it/s")
|
||||
private BigDecimal inSpeed;
|
||||
|
||||
/** 发送流量(bit/s) */
|
||||
@Excel(name = "发送流量", readConverterExp = "b=it/s")
|
||||
private BigDecimal outSpeed;
|
||||
/** 开始时间 */
|
||||
private String startTime;
|
||||
/** 结束时间 */
|
||||
private String endTime;
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
}
|
||||
@@ -304,4 +304,8 @@ public class RmResourceRegistration extends BaseEntity
|
||||
private Date onboardTime;
|
||||
/** 服务器列表 */
|
||||
private String deployDevice;
|
||||
/** 业务空标识 */
|
||||
private boolean businessEmpty;
|
||||
/** 逻辑节点空标识 */
|
||||
private boolean logicalNodeEmpty;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.ruoyi.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.RmMonitorConfigDetails;
|
||||
|
||||
/**
|
||||
* 监控看板详情Mapper接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-11-14
|
||||
*/
|
||||
public interface RmMonitorConfigDetailsMapper
|
||||
{
|
||||
/**
|
||||
* 查询监控看板详情
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 监控看板详情
|
||||
*/
|
||||
public RmMonitorConfigDetails selectRmMonitorConfigDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 查询监控看板详情列表
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 监控看板详情集合
|
||||
*/
|
||||
public List<RmMonitorConfigDetails> selectRmMonitorConfigDetailsList(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 新增监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 修改监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 删除监控看板详情
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRmMonitorConfigDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除监控看板详情
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRmMonitorConfigDetailsByIds(Long[] ids);
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.system.service;
|
||||
|
||||
import com.ruoyi.system.domain.EpsInitialTrafficData;
|
||||
import com.ruoyi.system.domain.EpsNodeBandwidth;
|
||||
import com.ruoyi.system.domain.RmMonitorConfig;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
@@ -93,5 +94,5 @@ public interface EpsInitialTrafficDataService {
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getServerTrafficByMonitorView(EpsInitialTrafficData queryParam);
|
||||
List<EpsInitialTrafficData> getServerTrafficByMonitorView(RmMonitorConfig queryParam);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.system.service;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.system.domain.EpsNodeBandwidth;
|
||||
import com.ruoyi.system.domain.InitialSwitchInfoDetails;
|
||||
import com.ruoyi.system.domain.RmMonitorConfig;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
@@ -115,7 +116,7 @@ public interface IInitialSwitchInfoDetailsService
|
||||
* @param initialSwitchInfoDetails
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getMonitorViewDetails(InitialSwitchInfoDetails initialSwitchInfoDetails);
|
||||
List<InitialSwitchInfoDetails> getMonitorViewDetails(RmMonitorConfig rmMonitorConfig);
|
||||
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量列表
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.ruoyi.system.service;
|
||||
|
||||
import com.ruoyi.system.domain.RmMonitorConfigDetails;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 监控看板详情Service接口
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-11-14
|
||||
*/
|
||||
public interface IRmMonitorConfigDetailsService
|
||||
{
|
||||
/**
|
||||
* 查询监控看板详情
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 监控看板详情
|
||||
*/
|
||||
public RmMonitorConfigDetails selectRmMonitorConfigDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 查询监控看板详情列表
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 监控看板详情集合
|
||||
*/
|
||||
public List<RmMonitorConfigDetails> selectRmMonitorConfigDetailsList(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 新增监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 修改监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails);
|
||||
|
||||
/**
|
||||
* 批量删除监控看板详情
|
||||
*
|
||||
* @param ids 需要删除的监控看板详情主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRmMonitorConfigDetailsByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除监控看板详情信息
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteRmMonitorConfigDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getTrafficByMonitorView(RmMonitorConfigDetails queryParam);
|
||||
}
|
||||
@@ -54,6 +54,8 @@ public class EpsInitialTrafficDataServiceImpl implements EpsInitialTrafficDataSe
|
||||
private RmRegistrationMachineMapper rmRegistrationMachineMapper;
|
||||
@Autowired
|
||||
private IRmMonitorConfigService rmMonitorConfigService;
|
||||
@Autowired
|
||||
private RmResourceRegistrationMapper rmResourceRegistrationMapper;
|
||||
@Override
|
||||
public void createNextMonthTables() {
|
||||
LocalDate nextMonth = LocalDate.now().plusMonths(1);
|
||||
@@ -590,49 +592,43 @@ public class EpsInitialTrafficDataServiceImpl implements EpsInitialTrafficDataSe
|
||||
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
* @param queryParam
|
||||
* @param rmMonitorConfig
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getServerTrafficByMonitorView(EpsInitialTrafficData queryParam) {
|
||||
// 查询概览配置内容
|
||||
RmMonitorConfig rmMonitorConfig = rmMonitorConfigService.selectRmMonitorConfigById(queryParam.getMonitorId());
|
||||
public List<EpsInitialTrafficData> getServerTrafficByMonitorView(RmMonitorConfig rmMonitorConfig) {
|
||||
if(rmMonitorConfig != null){
|
||||
// 拿到开始时间
|
||||
String startTime = rmMonitorConfig.getMonitorStartTime();
|
||||
// 拿到结束时间
|
||||
String endTime = DateUtils.dateTimeNow(DATE_TIME_FORMATTER);
|
||||
// 拿到部署设备
|
||||
String deoloyDevice = rmMonitorConfig.getDeployDevice();
|
||||
if("3".equals(rmMonitorConfig.getResourceType())){
|
||||
// 根据业务代码查询服务器clientId
|
||||
RmResourceRegistration queryRegist = new RmResourceRegistration();
|
||||
queryRegist.setBusinessName(rmMonitorConfig.getBusinessName());
|
||||
List<RmResourceRegistration> registrationList = rmResourceRegistrationMapper.getRegistrationTableInfoList(queryRegist);
|
||||
StringBuilder clientIds = new StringBuilder();
|
||||
if (registrationList != null && !registrationList.isEmpty()) {
|
||||
for (RmResourceRegistration registration : registrationList) {
|
||||
if (registration.getClientId() != null) {
|
||||
if (clientIds.length() > 0) {
|
||||
clientIds.append("\n");
|
||||
}
|
||||
clientIds.append(registration.getClientId());
|
||||
}
|
||||
}
|
||||
}
|
||||
deoloyDevice = clientIds.toString();
|
||||
}
|
||||
String clientIds = deoloyDevice.replace("\n",",");
|
||||
EpsInitialTrafficData queryParam = new EpsInitialTrafficData();
|
||||
queryParam.setStartTime(startTime);
|
||||
queryParam.setEndTime(endTime);
|
||||
queryParam.setClientIds(clientIds);
|
||||
List<EpsInitialTrafficData> list = getTrafficListByClientIds(queryParam);
|
||||
if(list == null){
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
try {
|
||||
String unit = SpeedUtils.calculateUnit(list, "inSpeed", "outSpeed");
|
||||
if(queryParam.getUnit() != null){
|
||||
unit = queryParam.getUnit();
|
||||
}
|
||||
BigDecimal divisor = SpeedUtils.getDivisor(unit);
|
||||
Map<String, Function<EpsInitialTrafficData, ?>> extractors = new LinkedHashMap<>();
|
||||
|
||||
extractors.put("netOutSpeedData", info ->
|
||||
info != null && info.getOutSpeed() != null ?
|
||||
new BigDecimal(info.getOutSpeed()).divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
extractors.put("netMachineFlowData", info ->
|
||||
info != null && info.getMachineFlow() != null ?
|
||||
new BigDecimal(info.getMachineFlow()).divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsDataAutoPadding(
|
||||
list, EpsInitialTrafficData::getCreateTime, extractors, queryParam.getStartTime(), queryParam.getEndTime()
|
||||
);
|
||||
resultMap.put("unit", unit);
|
||||
return resultMap;
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return list;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -926,19 +926,16 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
|
||||
}
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
* @param initialSwitchInfoDetails
|
||||
* @param rmMonitorConfig
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getMonitorViewDetails(InitialSwitchInfoDetails initialSwitchInfoDetails) {
|
||||
// 查询概览配置内容
|
||||
RmMonitorConfig rmMonitorConfig = rmMonitorConfigService.selectRmMonitorConfigById(initialSwitchInfoDetails.getMonitorId());
|
||||
public List<InitialSwitchInfoDetails> getMonitorViewDetails(RmMonitorConfig rmMonitorConfig) {
|
||||
if(rmMonitorConfig != null){
|
||||
// 拿到开始时间
|
||||
String startTime = rmMonitorConfig.getMonitorStartTime();
|
||||
// 拿到结束时间
|
||||
String endTime = initialSwitchInfoDetails.getEndTime();
|
||||
// 拿到选中的交换机
|
||||
String endTime = DateUtils.dateTimeNow(DATE_TIME_FORMATTER);
|
||||
String resources = rmMonitorConfig.getDeployDevice();
|
||||
String clientIds = Arrays.stream(resources.split(","))
|
||||
.map(msg -> msg.split(";"))
|
||||
@@ -957,30 +954,7 @@ public class InitialSwitchInfoDetailsServiceImpl implements IInitialSwitchInfoDe
|
||||
queryParam.setClientIds(clientIds);
|
||||
queryParam.setInterfaceNames(interfaceNames);
|
||||
List<InitialSwitchInfoDetails> list = initialSwitchInfoDetailsMapper.sumSwitchTrafficByclientIds(queryParam);
|
||||
try {
|
||||
String unit = SpeedUtils.calculateUnit(list, "inSpeed", "outSpeed");
|
||||
if(initialSwitchInfoDetails.getUnit() != null){
|
||||
unit = initialSwitchInfoDetails.getUnit();
|
||||
}
|
||||
BigDecimal divisor = SpeedUtils.getDivisor(unit);
|
||||
Map<String, Function<InitialSwitchInfoDetails, ?>> extractors = new LinkedHashMap<>();
|
||||
extractors.put("netInSpeedData", info ->
|
||||
info != null && info.getInSpeed() != null ?
|
||||
info.getInSpeed().divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
|
||||
extractors.put("netOutSpeedData", info ->
|
||||
info != null && info.getOutSpeed() != null ?
|
||||
info.getOutSpeed().divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsDataAutoPadding(
|
||||
list, InitialSwitchInfoDetails::getCreateTime, extractors,
|
||||
queryParam.getStartTime(), queryParam.getEndTime());
|
||||
resultMap.put("unit", unit);
|
||||
return resultMap;
|
||||
}catch (Exception e){
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import com.ruoyi.common.core.utils.EchartsDataUtils;
|
||||
import com.ruoyi.common.core.utils.SpeedUtils;
|
||||
import com.ruoyi.system.domain.RmMonitorConfig;
|
||||
import com.ruoyi.system.domain.RmMonitorConfigDetails;
|
||||
import com.ruoyi.system.mapper.RmMonitorConfigDetailsMapper;
|
||||
import com.ruoyi.system.mapper.RmMonitorConfigMapper;
|
||||
import com.ruoyi.system.service.IRmMonitorConfigDetailsService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
/**
|
||||
* 监控看板详情Service业务层处理
|
||||
*
|
||||
* @author gyt
|
||||
* @date 2025-11-14
|
||||
*/
|
||||
@Service
|
||||
public class RmMonitorConfigDetailsServiceImpl implements IRmMonitorConfigDetailsService
|
||||
{
|
||||
@Autowired
|
||||
private RmMonitorConfigDetailsMapper rmMonitorConfigDetailsMapper;
|
||||
@Autowired
|
||||
private RmMonitorConfigMapper rmMonitorConfigMapper;
|
||||
|
||||
/**
|
||||
* 查询监控看板详情
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 监控看板详情
|
||||
*/
|
||||
@Override
|
||||
public RmMonitorConfigDetails selectRmMonitorConfigDetailsById(Long id)
|
||||
{
|
||||
return rmMonitorConfigDetailsMapper.selectRmMonitorConfigDetailsById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询监控看板详情列表
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 监控看板详情
|
||||
*/
|
||||
@Override
|
||||
public List<RmMonitorConfigDetails> selectRmMonitorConfigDetailsList(RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
return rmMonitorConfigDetailsMapper.selectRmMonitorConfigDetailsList(rmMonitorConfigDetails);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
rmMonitorConfigDetails.setCreateTime(DateUtils.getNowDate());
|
||||
return rmMonitorConfigDetailsMapper.insertRmMonitorConfigDetails(rmMonitorConfigDetails);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改监控看板详情
|
||||
*
|
||||
* @param rmMonitorConfigDetails 监控看板详情
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateRmMonitorConfigDetails(RmMonitorConfigDetails rmMonitorConfigDetails)
|
||||
{
|
||||
rmMonitorConfigDetails.setUpdateTime(DateUtils.getNowDate());
|
||||
return rmMonitorConfigDetailsMapper.updateRmMonitorConfigDetails(rmMonitorConfigDetails);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除监控看板详情
|
||||
*
|
||||
* @param ids 需要删除的监控看板详情主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRmMonitorConfigDetailsByIds(Long[] ids)
|
||||
{
|
||||
return rmMonitorConfigDetailsMapper.deleteRmMonitorConfigDetailsByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除监控看板详情信息
|
||||
*
|
||||
* @param id 监控看板详情主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRmMonitorConfigDetailsById(Long id)
|
||||
{
|
||||
return rmMonitorConfigDetailsMapper.deleteRmMonitorConfigDetailsById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 监控看板-详情视图 出入流量
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getTrafficByMonitorView(RmMonitorConfigDetails queryParam) {
|
||||
|
||||
// 查询概览配置内容
|
||||
RmMonitorConfig rmMonitorConfig = rmMonitorConfigMapper.selectRmMonitorConfigById(queryParam.getMonitorId());
|
||||
if(rmMonitorConfig != null){
|
||||
// 拿到开始时间
|
||||
String startTime = rmMonitorConfig.getMonitorStartTime();
|
||||
queryParam.setStartTime(startTime);
|
||||
List<RmMonitorConfigDetails> list = rmMonitorConfigDetailsMapper.selectRmMonitorConfigDetailsList(queryParam);
|
||||
if(list == null){
|
||||
list = new ArrayList<>();
|
||||
}
|
||||
try {
|
||||
String unit = SpeedUtils.calculateUnit(list, "inSpeed", "outSpeed");
|
||||
if(queryParam.getUnit() != null){
|
||||
unit = queryParam.getUnit();
|
||||
}
|
||||
BigDecimal divisor = SpeedUtils.getDivisor(unit);
|
||||
Map<String, Function<RmMonitorConfigDetails, ?>> extractors = new LinkedHashMap<>();
|
||||
|
||||
extractors.put("netOutSpeedData", info ->
|
||||
info != null && info.getOutSpeed() != null ?
|
||||
info.getOutSpeed().divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
extractors.put("netInSpeedData", info ->
|
||||
info != null && info.getInSpeed() != null ?
|
||||
info.getInSpeed().divide(divisor, 2, RoundingMode.HALF_UP) :
|
||||
0);
|
||||
Map<String, Object> resultMap = EchartsDataUtils.buildEchartsDataAutoPadding(
|
||||
list, RmMonitorConfigDetails::getCreateTime, extractors, queryParam.getStartTime(), queryParam.getEndTime()
|
||||
);
|
||||
resultMap.put("unit", unit);
|
||||
return resultMap;
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.RmMonitorConfigDetailsMapper">
|
||||
|
||||
<resultMap type="RmMonitorConfigDetails" id="RmMonitorConfigDetailsResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="monitorId" column="monitor_id" />
|
||||
<result property="deployDevice" column="deploy_device" />
|
||||
<result property="inBytes" column="in_bytes" />
|
||||
<result property="outBytes" column="out_bytes" />
|
||||
<result property="inSpeed" column="in_speed" />
|
||||
<result property="outSpeed" column="out_speed" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRmMonitorConfigDetailsVo">
|
||||
select id, monitor_id, deploy_device, in_bytes, out_bytes, in_speed, out_speed, create_by, update_by, create_time, update_time from rm_monitor_config_details
|
||||
</sql>
|
||||
|
||||
<select id="selectRmMonitorConfigDetailsList" parameterType="RmMonitorConfigDetails" resultMap="RmMonitorConfigDetailsResult">
|
||||
<include refid="selectRmMonitorConfigDetailsVo"/>
|
||||
<where>
|
||||
<if test="monitorId != null "> and monitor_id = #{monitorId}</if>
|
||||
<if test="deployDevice != null and deployDevice != ''"> and deploy_device = #{deployDevice}</if>
|
||||
<if test="inBytes != null "> and in_bytes = #{inBytes}</if>
|
||||
<if test="outBytes != null "> and out_bytes = #{outBytes}</if>
|
||||
<if test="inSpeed != null "> and in_speed = #{inSpeed}</if>
|
||||
<if test="outSpeed != null "> and out_speed = #{outSpeed}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectRmMonitorConfigDetailsById" parameterType="Long" resultMap="RmMonitorConfigDetailsResult">
|
||||
<include refid="selectRmMonitorConfigDetailsVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertRmMonitorConfigDetails" parameterType="RmMonitorConfigDetails" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into rm_monitor_config_details
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="monitorId != null">monitor_id,</if>
|
||||
<if test="deployDevice != null">deploy_device,</if>
|
||||
<if test="inBytes != null">in_bytes,</if>
|
||||
<if test="outBytes != null">out_bytes,</if>
|
||||
<if test="inSpeed != null">in_speed,</if>
|
||||
<if test="outSpeed != null">out_speed,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="monitorId != null">#{monitorId},</if>
|
||||
<if test="deployDevice != null">#{deployDevice},</if>
|
||||
<if test="inBytes != null">#{inBytes},</if>
|
||||
<if test="outBytes != null">#{outBytes},</if>
|
||||
<if test="inSpeed != null">#{inSpeed},</if>
|
||||
<if test="outSpeed != null">#{outSpeed},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateRmMonitorConfigDetails" parameterType="RmMonitorConfigDetails">
|
||||
update rm_monitor_config_details
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="monitorId != null">monitor_id = #{monitorId},</if>
|
||||
<if test="deployDevice != null">deploy_device = #{deployDevice},</if>
|
||||
<if test="inBytes != null">in_bytes = #{inBytes},</if>
|
||||
<if test="outBytes != null">out_bytes = #{outBytes},</if>
|
||||
<if test="inSpeed != null">in_speed = #{inSpeed},</if>
|
||||
<if test="outSpeed != null">out_speed = #{outSpeed},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRmMonitorConfigDetailsById" parameterType="Long">
|
||||
delete from rm_monitor_config_details where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRmMonitorConfigDetailsByIds" parameterType="String">
|
||||
delete from rm_monitor_config_details where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
@@ -1,14 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.RmMonitorConfigMapper">
|
||||
|
||||
|
||||
<resultMap type="RmMonitorConfig" id="RmMonitorConfigResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="configName" column="config_name" />
|
||||
<result property="monitorStartTime" column="monitor_start_time" />
|
||||
<result property="resourceType" column="resource_type" />
|
||||
<result property="businessCode" column="business_code" />
|
||||
<result property="businessName" column="business_name" />
|
||||
<result property="deployDevice" column="deploy_device" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
@@ -17,19 +19,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRmMonitorConfigVo">
|
||||
select id, config_name, monitor_start_time, resource_type, deploy_device, create_time, update_time, create_by, update_by from rm_monitor_config
|
||||
select id, config_name, monitor_start_time, resource_type, business_code, business_name, deploy_device, create_time, update_time, create_by, update_by from rm_monitor_config
|
||||
</sql>
|
||||
|
||||
<select id="selectRmMonitorConfigList" parameterType="RmMonitorConfig" resultMap="RmMonitorConfigResult">
|
||||
<include refid="selectRmMonitorConfigVo"/>
|
||||
<where>
|
||||
<where>
|
||||
<if test="configName != null and configName != ''"> and config_name = #{configName}</if>
|
||||
<if test="monitorStartTime != null and monitorStartTime != ''"> and monitor_start_time = #{monitorStartTime}</if>
|
||||
<if test="resourceType != null and resourceType != ''"> and resource_type = #{resourceType}</if>
|
||||
<if test="businessCode != null and businessCode != ''"> and business_code = #{businessCode}</if>
|
||||
<if test="businessName != null and businessName != ''"> and business_name like concat('%', #{businessName}, '%')</if>
|
||||
<if test="deployDevice != null and deployDevice != ''"> and deploy_device = #{deployDevice}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectRmMonitorConfigById" parameterType="Long" resultMap="RmMonitorConfigResult">
|
||||
<include refid="selectRmMonitorConfigVo"/>
|
||||
where id = #{id}
|
||||
@@ -41,22 +45,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="configName != null and configName != ''">config_name,</if>
|
||||
<if test="monitorStartTime != null and monitorStartTime != ''">monitor_start_time,</if>
|
||||
<if test="resourceType != null and resourceType != ''">resource_type,</if>
|
||||
<if test="businessCode != null">business_code,</if>
|
||||
<if test="businessName != null">business_name,</if>
|
||||
<if test="deployDevice != null and deployDevice != ''">deploy_device,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
</trim>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="configName != null and configName != ''">#{configName},</if>
|
||||
<if test="monitorStartTime != null and monitorStartTime != ''">#{monitorStartTime},</if>
|
||||
<if test="resourceType != null and resourceType != ''">#{resourceType},</if>
|
||||
<if test="businessCode != null">#{businessCode},</if>
|
||||
<if test="businessName != null">#{businessName},</if>
|
||||
<if test="deployDevice != null and deployDevice != ''">#{deployDevice},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
</trim>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateRmMonitorConfig" parameterType="RmMonitorConfig">
|
||||
@@ -65,6 +73,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="configName != null and configName != ''">config_name = #{configName},</if>
|
||||
<if test="monitorStartTime != null and monitorStartTime != ''">monitor_start_time = #{monitorStartTime},</if>
|
||||
<if test="resourceType != null and resourceType != ''">resource_type = #{resourceType},</if>
|
||||
<if test="businessCode != null">business_code = #{businessCode},</if>
|
||||
<if test="businessName != null">business_name = #{businessName},</if>
|
||||
<if test="deployDevice != null and deployDevice != ''">deploy_device = #{deployDevice},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
@@ -79,7 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</delete>
|
||||
|
||||
<delete id="deleteRmMonitorConfigByIds" parameterType="String">
|
||||
delete from rm_monitor_config where id in
|
||||
delete from rm_monitor_config where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
@@ -412,6 +412,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="businessName != null and businessName != ''"> and a.business_name like concat('%', #{businessName}, '%')</if>
|
||||
<if test="logicalNodeId != null and logicalNodeId != ''"> and a.logical_node_id = #{logicalNodeId}</if>
|
||||
<if test="multiPublicIpStatus != null and multiPublicIpStatus != ''"> and a.multi_public_ip_status = #{multiPublicIpStatus}</if>
|
||||
<if test="businessEmpty"> and a.business_name is null</if>
|
||||
<if test="logicalNodeEmpty"> and a.logical_node_id is null</if>
|
||||
</where>
|
||||
order by a.create_time desc
|
||||
</select>
|
||||
|
||||
@@ -84,6 +84,8 @@ public class RmDeploymentPolicy extends BaseEntity
|
||||
private Boolean resourceGroupIdNull;
|
||||
/** 部署设备 */
|
||||
private String deployDevice;
|
||||
/** 业务脚本id */
|
||||
private Long scriptId;
|
||||
/** 业务脚本名称 */
|
||||
private String scriptName;
|
||||
/** 业务脚本文件地址 */
|
||||
|
||||
@@ -4,7 +4,8 @@ import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum AlarmTypeEnum {
|
||||
服务器下线("1", "服务器下线");
|
||||
服务器下线("1", "服务器下线"),
|
||||
交换机下线("2", "交换机下线");
|
||||
private final String code;
|
||||
private final String msg;
|
||||
AlarmTypeEnum(String code, String msg){
|
||||
|
||||
@@ -103,10 +103,14 @@ public class RmDeploymentPolicyServiceImpl implements IRmDeploymentPolicyService
|
||||
}
|
||||
});
|
||||
}
|
||||
policy.setSucessNum(successList.size());
|
||||
policy.setSucessClientIds(successList);
|
||||
policy.setFailNum(failList.size());
|
||||
policy.setFailClientIds(failList);
|
||||
// 对三个list分别去重
|
||||
List<String> successListDict = successList.stream().distinct().collect(Collectors.toList());
|
||||
List<String> failListDict = failList.stream().distinct().collect(Collectors.toList());
|
||||
offOnlineList = offOnlineList.stream().distinct().collect(Collectors.toList());
|
||||
policy.setSucessNum(successListDict.size());
|
||||
policy.setSucessClientIds(successListDict);
|
||||
policy.setFailNum(failListDict.size());
|
||||
policy.setFailClientIds(failListDict);
|
||||
policy.setOfflineNum(offOnlineList.size());
|
||||
policy.setOfflineClientIds(offOnlineList);
|
||||
}
|
||||
@@ -161,6 +165,18 @@ public class RmDeploymentPolicyServiceImpl implements IRmDeploymentPolicyService
|
||||
{
|
||||
rmDeploymentPolicy.setCreateTime(DateUtils.getNowDate());
|
||||
rmDeploymentPolicy.setCreateBy(SecurityUtils.getUsername());
|
||||
// 部署设备去重
|
||||
String clientIds = rmDeploymentPolicy.getDeployDevice();
|
||||
String[] clientIdArr = clientIds.split("\n");
|
||||
// 去重并保持顺序
|
||||
String distinctClientIds = Arrays.stream(clientIdArr)
|
||||
.map(String::trim) // 去除前后空格
|
||||
.filter(s -> !s.isEmpty()) // 过滤空行
|
||||
.distinct() // 去重
|
||||
.collect(Collectors.joining("\n")); // 用换行符重新拼接
|
||||
// 设置回原对象
|
||||
rmDeploymentPolicy.setDeployDevice(distinctClientIds);
|
||||
|
||||
return rmDeploymentPolicyMapper.insertRmDeploymentPolicy(rmDeploymentPolicy);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,24 +58,10 @@
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- RocketMQ消息追踪日志 -->
|
||||
<appender name="file_trace" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.path}/trace.log</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${log.path}/trace.%d{yyyy-MM-dd}.log</fileNamePattern>
|
||||
<maxHistory>30</maxHistory>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>DEBUG</level>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- RocketMQ模块日志级别控制 -->
|
||||
<logger name="com.ruoyi.rocketmq" level="info" additivity="false">
|
||||
<appender-ref ref="file_trace" />
|
||||
<appender-ref ref="console" /> <!-- 显式添加控制台 -->
|
||||
<appender-ref ref="file_info" />
|
||||
<appender-ref ref="file_error" />
|
||||
</logger>
|
||||
@@ -89,7 +75,5 @@
|
||||
<!-- 根日志配置 -->
|
||||
<root level="info">
|
||||
<appender-ref ref="console" />
|
||||
<appender-ref ref="file_info" />
|
||||
<appender-ref ref="file_error" />
|
||||
</root>
|
||||
</configuration>
|
||||
@@ -24,6 +24,7 @@
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="deployDevice" column="deploy_device" />
|
||||
<result property="scriptId" column="script_id" />
|
||||
<result property="scriptName" column="script_name" />
|
||||
<result property="scriptPath" column="script_path" />
|
||||
<result property="defaultParams" column="default_params" />
|
||||
@@ -31,7 +32,7 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRmDeploymentPolicyVo">
|
||||
select id, policy_name, description, resource_group_id, included_devices_id, source_file_path_type, source_file_path, target_directory, command_content, execution_method, scheduled_time, policy_status, deploy_time, script_type, create_time, update_time, create_by, update_by, deploy_device, script_name, script_path, default_params, task_name from rm_deployment_policy
|
||||
select id, policy_name, description, resource_group_id, included_devices_id, source_file_path_type, source_file_path, target_directory, command_content, execution_method, scheduled_time, policy_status, deploy_time, script_type, create_time, update_time, create_by, update_by, deploy_device, script_id, script_name, script_path, default_params, task_name from rm_deployment_policy
|
||||
</sql>
|
||||
|
||||
<select id="selectRmDeploymentPolicyList" parameterType="RmDeploymentPolicy" resultMap="RmDeploymentPolicyResult">
|
||||
@@ -51,6 +52,7 @@
|
||||
<if test="deployTime != null "> and deploy_time = #{deployTime}</if>
|
||||
<if test="scriptType != null and scriptType != ''"> and script_type = #{scriptType}</if>
|
||||
<if test="deployDevice != null and deployDevice != ''"> and deploy_device = #{deployDevice}</if>
|
||||
<if test="scriptId != null "> and script_id = #{scriptId}</if>
|
||||
<if test="scriptName != null and scriptName != ''"> and script_name like concat('%', #{scriptName}, '%')</if>
|
||||
<if test="scriptPath != null and scriptPath != ''"> and script_path = #{scriptPath}</if>
|
||||
<if test="defaultParams != null and defaultParams != ''"> and default_params = #{defaultParams}</if>
|
||||
@@ -85,6 +87,7 @@
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="deployDevice != null">deploy_device,</if>
|
||||
<if test="scriptId != null">script_id,</if>
|
||||
<if test="scriptName != null">script_name,</if>
|
||||
<if test="scriptPath != null">script_path,</if>
|
||||
<if test="defaultParams != null">default_params,</if>
|
||||
@@ -109,6 +112,7 @@
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="deployDevice != null">#{deployDevice},</if>
|
||||
<if test="scriptId != null">#{scriptId},</if>
|
||||
<if test="scriptName != null">#{scriptName},</if>
|
||||
<if test="scriptPath != null">#{scriptPath},</if>
|
||||
<if test="defaultParams != null">#{defaultParams},</if>
|
||||
@@ -137,6 +141,7 @@
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="deployDevice != null">deploy_device = #{deployDevice},</if>
|
||||
<if test="scriptId != null">script_id = #{scriptId},</if>
|
||||
<if test="scriptName != null">script_name = #{scriptName},</if>
|
||||
<if test="scriptPath != null">script_path = #{scriptPath},</if>
|
||||
<if test="defaultParams != null">default_params = #{defaultParams},</if>
|
||||
|
||||
@@ -44,7 +44,14 @@
|
||||
<if test="resultFlag != null "> and result_flag = #{resultFlag}</if>
|
||||
<if test="scriptId != null "> and script_id = #{scriptId}</if>
|
||||
</where>
|
||||
order by result_flag asc,create_time desc
|
||||
<choose>
|
||||
<when test="clientId != null and clientId != ''">
|
||||
order by create_time desc
|
||||
</when>
|
||||
<otherwise>
|
||||
order by result_flag asc,create_time desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<select id="selectRmResourceRemoteById" parameterType="Long" resultMap="RmResourceRemoteResult">
|
||||
|
||||
Reference in New Issue
Block a user