1、定位并解决收益未自动生成问题。
2、优化服务器列表筛选条件查询速度。
This commit is contained in:
+36
-12
@@ -68,21 +68,45 @@ public class RmMtrPolicyConfigServiceImpl implements IRmMtrPolicyConfigService
|
||||
* 辅助方法,给ip集合赋值
|
||||
* @param mtrPolicyConfig
|
||||
*/
|
||||
public void setServerip(RmMtrPolicyConfig mtrPolicyConfig){
|
||||
public void setServerip(RmMtrPolicyConfig mtrPolicyConfig) {
|
||||
StringJoiner resultJoiner = new StringJoiner(";");
|
||||
String serverGroupStr = mtrPolicyConfig.getServerGroup().replace("\n",",");
|
||||
RmNetworkInterfaceRemote query = new RmNetworkInterfaceRemote();
|
||||
query.setClientIds(serverGroupStr);
|
||||
R<List<RmNetworkInterfaceRemote>> networkList = remoteRocketMqService.getNetworkInterfaceList(query, SecurityConstants.INNER);
|
||||
if(networkList != null && networkList.getData() != null){
|
||||
List<RmNetworkInterfaceRemote> rmNetworkInterfaceRemoteList = networkList.getData();
|
||||
if(!rmNetworkInterfaceRemoteList.isEmpty()){
|
||||
for (RmNetworkInterfaceRemote rmNetworkInterfaceRemote : rmNetworkInterfaceRemoteList) {
|
||||
String publicIp = rmNetworkInterfaceRemote.getPublicIp();
|
||||
resultJoiner.add(publicIp);
|
||||
String serverGroupStr = mtrPolicyConfig.getServerGroup().replace("\n", ",");
|
||||
String[] serverIds = serverGroupStr.split(",");
|
||||
|
||||
// 分批次处理,每批200个
|
||||
int batchSize = 200;
|
||||
for (int i = 0; i < serverIds.length; i += batchSize) {
|
||||
int end = Math.min(i + batchSize, serverIds.length);
|
||||
|
||||
// 构建当前批次的id字符串
|
||||
StringBuilder batchIds = new StringBuilder();
|
||||
for (int j = i; j < end; j++) {
|
||||
if (batchIds.length() > 0) {
|
||||
batchIds.append(",");
|
||||
}
|
||||
mtrPolicyConfig.setServeripGroup(resultJoiner.toString());
|
||||
batchIds.append(serverIds[j].trim());
|
||||
}
|
||||
|
||||
// 查询当前批次
|
||||
RmNetworkInterfaceRemote query = new RmNetworkInterfaceRemote();
|
||||
query.setClientIds(batchIds.toString());
|
||||
R<List<RmNetworkInterfaceRemote>> networkList = remoteRocketMqService.getNetworkInterfaceList(query, SecurityConstants.INNER);
|
||||
|
||||
// 处理结果
|
||||
if (networkList != null && networkList.getData() != null) {
|
||||
for (RmNetworkInterfaceRemote rmNetworkInterfaceRemote : networkList.getData()) {
|
||||
String publicIp = rmNetworkInterfaceRemote.getPublicIp();
|
||||
if (publicIp != null && !publicIp.trim().isEmpty()) {
|
||||
resultJoiner.add(publicIp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 设置最终结果
|
||||
String result = resultJoiner.toString();
|
||||
if (!result.isEmpty()) {
|
||||
mtrPolicyConfig.setServeripGroup(result);
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user