agent接收数据类型调整匹配,完善资源模板管理、资源监控策略逻辑。
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.rocketmq.handler;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||
@@ -85,6 +86,8 @@ public class DeviceMessageHandler {
|
||||
private IInitialSwitchOtherCollectDataService insertInitialSwitchOtherInfo;
|
||||
@Autowired
|
||||
private IInitialSystemOtherCollectDataService iInitialSystemOtherCollectDataService;
|
||||
@Autowired
|
||||
private IRmResourceRemoteService rmResourceRemoteService;
|
||||
// 在类中添加
|
||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||
|
||||
@@ -102,7 +105,7 @@ public class DeviceMessageHandler {
|
||||
registerHandler(MsgEnum.开启交换机采集应答.getValue(), this::handleResponseMessage);
|
||||
registerHandler(MsgEnum.关闭交换机采集应答.getValue(), this::handleResponseMessage);
|
||||
registerHandler(MsgEnum.告警设置应答.getValue(), this::handleResponseMessage);
|
||||
registerHandler(MsgEnum.执行脚本策略应答.getValue(), this::handleResponseMessage);
|
||||
registerHandler(MsgEnum.执行脚本策略应答.getValue(), this::handleScriptRspMessage);
|
||||
registerHandler(MsgEnum.Agent版本更新应答.getValue(), this::handleResponseMessage);
|
||||
|
||||
// 其他类型消息可以单独注册处理器
|
||||
@@ -798,14 +801,39 @@ public class DeviceMessageHandler {
|
||||
* 脚本策略应答信息
|
||||
* @param message
|
||||
*/
|
||||
private RspVo handleScriptRspMessage(DeviceMessage message) {
|
||||
private void handleScriptRspMessage(DeviceMessage message) {
|
||||
List<RspVo> rspVoList = JsonDataParser.parseJsonData(message.getData(), RspVo.class);
|
||||
if (!rspVoList.isEmpty()) {
|
||||
RspVo rsp = rspVoList.get(0);
|
||||
log.info("应答信息:{}",rsp);
|
||||
return rsp;
|
||||
// 时间戳转换
|
||||
long timestamp = rsp.getTimestamp();
|
||||
long millis = timestamp * 1000;
|
||||
Date createTime = new Date(millis / 1000 * 1000); // 去除毫秒
|
||||
// 查询资源信息
|
||||
RmResourceRegistrationRemote queryParam = new RmResourceRegistrationRemote();
|
||||
queryParam.setHardwareSn(message.getClientId());
|
||||
R<RmResourceRegistrationRemote> resourceMsg = remoteRevenueConfigService.getListByHardwareSn(queryParam, SecurityConstants.INNER);
|
||||
RmResourceRegistrationRemote resourceMsgData = resourceMsg.getData();
|
||||
if(rsp.getResCode() == 1){
|
||||
if(rsp.getResult() != null){
|
||||
// 构建脚本执行结果实体类
|
||||
RmResourceRemote insertData = new RmResourceRemote();
|
||||
insertData.setHardwareSn(message.getClientId());
|
||||
insertData.setResourceName(resourceMsgData.getResourceName());
|
||||
insertData.setExternalIp(resourceMsgData.getIpAddress());
|
||||
insertData.setManagementPort(22);
|
||||
insertData.setConnectionMethod("1");
|
||||
insertData.setResourceType(resourceMsgData.getResourceType());
|
||||
insertData.setDescription(rsp.getResult());
|
||||
insertData.setCreateTime(createTime);
|
||||
// 执行插入sql
|
||||
rmResourceRemoteService.insertRmResourceRemote(insertData);
|
||||
log.info("脚本执行结果入库成功:{}",rsp);
|
||||
}
|
||||
}else{
|
||||
log.error("脚本执行失败:{}", rsp);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* 注册应答处理
|
||||
|
||||
Reference in New Issue
Block a user