优化常用单位、交换机心跳上报优化、agent更新列表优化
This commit is contained in:
+3
@@ -106,6 +106,9 @@ public class UnitChangeUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if("NaN".equals(numberStr)){
|
||||||
|
numberStr = "0";
|
||||||
|
}
|
||||||
BigDecimal number = new BigDecimal(numberStr);
|
BigDecimal number = new BigDecimal(numberStr);
|
||||||
return number.setScale(1, RoundingMode.HALF_UP).toString();
|
return number.setScale(1, RoundingMode.HALF_UP).toString();
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ public class RmAgentManagement extends BaseEntity
|
|||||||
private String lastUpdateResult;
|
private String lastUpdateResult;
|
||||||
|
|
||||||
/** 最后一次更新时间 */
|
/** 最后一次更新时间 */
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@Excel(name = "最后一次更新时间", width = 30, dateFormat = "yyyy-MM-dd")
|
@Excel(name = "最后一次更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date lastUpdateTime;
|
private Date lastUpdateTime;
|
||||||
/** 生效服务器id */
|
/** 生效服务器id */
|
||||||
private String includeIds;
|
private String includeIds;
|
||||||
|
|||||||
@@ -356,6 +356,17 @@ public class MessageHandler {
|
|||||||
if(rows == 2){
|
if(rows == 2){
|
||||||
// 注册成功,下发优先级为0的策略
|
// 注册成功,下发优先级为0的策略
|
||||||
rmMonitorPolicyService.issueDefaultPolicyByClientId(message.getClientId());
|
rmMonitorPolicyService.issueDefaultPolicyByClientId(message.getClientId());
|
||||||
|
// agent更新表插入数据
|
||||||
|
// 存储更新结果
|
||||||
|
// agent更新结果存储
|
||||||
|
RmAgentManagement query = new RmAgentManagement();
|
||||||
|
query.setClientId(clientId);
|
||||||
|
List<RmAgentManagement> agentManagements = rmAgentManagementService.selectRmAgentManagementList(query);
|
||||||
|
if(agentManagements == null || agentManagements.isEmpty()) {
|
||||||
|
RmAgentManagement insertAgentUpdateData = new RmAgentManagement();
|
||||||
|
insertAgentUpdateData.setClientId(clientId);
|
||||||
|
rmAgentManagementService.insertRmAgentManagement(insertAgentUpdateData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 时间戳转换
|
// 时间戳转换
|
||||||
long timestamp = registerMsg.getTimestamp();
|
long timestamp = registerMsg.getTimestamp();
|
||||||
|
|||||||
+46
-14
@@ -1,6 +1,8 @@
|
|||||||
package com.ruoyi.rocketmq.service.impl;
|
package com.ruoyi.rocketmq.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.ruoyi.common.core.constant.SecurityConstants;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.enums.MsgEnum;
|
import com.ruoyi.common.core.enums.MsgEnum;
|
||||||
import com.ruoyi.common.core.utils.DateUtils;
|
import com.ruoyi.common.core.utils.DateUtils;
|
||||||
import com.ruoyi.rocketmq.domain.DeviceMessage;
|
import com.ruoyi.rocketmq.domain.DeviceMessage;
|
||||||
@@ -15,6 +17,8 @@ import com.ruoyi.rocketmq.mapper.RmNetworkInterfaceMapper;
|
|||||||
import com.ruoyi.rocketmq.model.ProducerMode;
|
import com.ruoyi.rocketmq.model.ProducerMode;
|
||||||
import com.ruoyi.rocketmq.producer.MessageProducer;
|
import com.ruoyi.rocketmq.producer.MessageProducer;
|
||||||
import com.ruoyi.rocketmq.service.IRmAgentManagementService;
|
import com.ruoyi.rocketmq.service.IRmAgentManagementService;
|
||||||
|
import com.ruoyi.system.api.RemoteRevenueConfigService;
|
||||||
|
import com.ruoyi.system.api.domain.RmResourceRegistrationRemote;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -39,6 +43,8 @@ public class RmAgentManagementServiceImpl implements IRmAgentManagementService
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RmAgentManagementMapper rmAgentManagementMapper;
|
private RmAgentManagementMapper rmAgentManagementMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private RemoteRevenueConfigService remoteRevenueConfigService;
|
||||||
|
@Autowired
|
||||||
private RmNetworkInterfaceMapper rmNetworkInterfaceMapper;
|
private RmNetworkInterfaceMapper rmNetworkInterfaceMapper;
|
||||||
@Value("${fileDictory.filePath}")
|
@Value("${fileDictory.filePath}")
|
||||||
private String filePath;
|
private String filePath;
|
||||||
@@ -57,7 +63,14 @@ public class RmAgentManagementServiceImpl implements IRmAgentManagementService
|
|||||||
@Override
|
@Override
|
||||||
public RmAgentManagement selectRmAgentManagementById(Long id)
|
public RmAgentManagement selectRmAgentManagementById(Long id)
|
||||||
{
|
{
|
||||||
return rmAgentManagementMapper.selectRmAgentManagementById(id);
|
RmAgentManagement agentManagement = rmAgentManagementMapper.selectRmAgentManagementById(id);
|
||||||
|
if(agentManagement != null){
|
||||||
|
if(agentManagement.getClientId() != null){
|
||||||
|
// 赋其他值
|
||||||
|
setPropties(agentManagement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return agentManagement;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -72,24 +85,43 @@ public class RmAgentManagementServiceImpl implements IRmAgentManagementService
|
|||||||
List<RmAgentManagement> managementList = rmAgentManagementMapper.selectRmAgentManagementList(rmAgentManagement);
|
List<RmAgentManagement> managementList = rmAgentManagementMapper.selectRmAgentManagementList(rmAgentManagement);
|
||||||
for (RmAgentManagement agentManagement : managementList) {
|
for (RmAgentManagement agentManagement : managementList) {
|
||||||
if(agentManagement.getClientId()!=null){
|
if(agentManagement.getClientId()!=null){
|
||||||
// 设置管理网公网ip
|
// 查询注册表信息赋值
|
||||||
RmNetworkInterface queryParam = new RmNetworkInterface();
|
setPropties(agentManagement);
|
||||||
queryParam.setClientId(agentManagement.getClientId());
|
|
||||||
// 使用Optional处理可能的NPE,并筛选bindIp为2或3的接口
|
|
||||||
RmNetworkInterface networkInterface = Optional.ofNullable(rmNetworkInterfaceMapper.selectRmNetworkInterfaceList(queryParam))
|
|
||||||
.map(list -> list.stream()
|
|
||||||
.filter(ni -> "2".equals(ni.getBindIp()) || "3".equals(ni.getBindIp()))
|
|
||||||
.findFirst()
|
|
||||||
.orElse(null))
|
|
||||||
.orElseGet(() -> {
|
|
||||||
return new RmNetworkInterface(); // 返回空对象避免NPE
|
|
||||||
});
|
|
||||||
agentManagement.setManagePublicIp(networkInterface.getPublicIp());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return managementList;
|
return managementList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据注册表赋值
|
||||||
|
* @param agentManagement
|
||||||
|
*/
|
||||||
|
public void setPropties(RmAgentManagement agentManagement){
|
||||||
|
String clientId = agentManagement.getClientId();
|
||||||
|
// 设置管理网公网ip
|
||||||
|
RmNetworkInterface queryParam = new RmNetworkInterface();
|
||||||
|
queryParam.setClientId(clientId);
|
||||||
|
// 使用Optional处理可能的NPE,并筛选bindIp为2或3的接口
|
||||||
|
RmNetworkInterface networkInterface = Optional.ofNullable(rmNetworkInterfaceMapper.selectRmNetworkInterfaceList(queryParam))
|
||||||
|
.map(list -> list.stream()
|
||||||
|
.filter(ni -> "2".equals(ni.getBindIp()) || "3".equals(ni.getBindIp()))
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null))
|
||||||
|
.orElseGet(() -> {
|
||||||
|
return new RmNetworkInterface(); // 返回空对象避免NPE
|
||||||
|
});
|
||||||
|
agentManagement.setManagePublicIp(networkInterface.getPublicIp());
|
||||||
|
// 设置其他信息
|
||||||
|
RmResourceRegistrationRemote queryRegist = new RmResourceRegistrationRemote();
|
||||||
|
queryRegist.setClientId(clientId);
|
||||||
|
R<RmResourceRegistrationRemote> registMsgR = remoteRevenueConfigService.getListByHardwareSn(queryRegist, SecurityConstants.INNER);
|
||||||
|
if(registMsgR != null && registMsgR.getData() != null){
|
||||||
|
RmResourceRegistrationRemote registMsg = registMsgR.getData();
|
||||||
|
agentManagement.setStatus(registMsg.getOnlineStatus());
|
||||||
|
agentManagement.setHardwareSn(registMsg.getHardwareSn());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增Agent管理
|
* 新增Agent管理
|
||||||
*
|
*
|
||||||
|
|||||||
+1
-1
@@ -286,7 +286,7 @@ public class MultiSwitchCollectionScheduler {
|
|||||||
|
|
||||||
// 设置检测时间戳
|
// 设置检测时间戳
|
||||||
result.setTimestamp(checkTimestamp);
|
result.setTimestamp(checkTimestamp);
|
||||||
if(result != null && result.isSuccess()){
|
if(result != null && result.isSuccess() && !result.getData().isEmpty()){
|
||||||
// 构建心跳消息
|
// 构建心跳消息
|
||||||
DeviceMessage message = new DeviceMessage();
|
DeviceMessage message = new DeviceMessage();
|
||||||
message.setClientId(clientId);
|
message.setClientId(clientId);
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectRmMonitorPolicyById" parameterType="Long" resultMap="RmMonitorPolicyResult">
|
<select id="selectRmMonitorPolicyById" parameterType="Long" resultMap="RmMonitorPolicyResult">
|
||||||
|
|||||||
Reference in New Issue
Block a user