feat:联调bug修改

master
汤全昆 2025-09-04 09:52:22 +08:00
parent 917fc25027
commit 899911e7bf
5 changed files with 66 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package com.unisinsight.project.controller;
import com.unisinsight.project.entity.dao.NetworkManage;
import com.unisinsight.project.entity.dto.BridgeInterfaceDTO;
import com.unisinsight.project.entity.req.NetworkManagePageReq;
import com.unisinsight.project.entity.req.NetworkManageReq;
import com.unisinsight.project.entity.res.PageResult;
@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
/**
*
@ -62,5 +64,10 @@ public class NetworkManageController {
return Result.successResult(networkManageService.synchData());
}
@ApiOperation(value = "获取桥接接口列表")
@GetMapping("/bridge-interfaces")
public Result<List<BridgeInterfaceDTO>> getBridgeInterfaces() {
return Result.successResult(networkManageService.getBridgeInterfaces());
}
}

View File

@ -0,0 +1,34 @@
package com.unisinsight.project.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* DTO
*/
@Data
@ApiModel(description = "网络桥接接口信息")
public class BridgeInterfaceDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "接口名称")
private String name;
@ApiModelProperty(value = "接口状态")
private String status;
@ApiModelProperty(value = "接口标志")
private String flags;
public BridgeInterfaceDTO() {}
public BridgeInterfaceDTO(String name, String status, String flags) {
this.name = name;
this.status = status;
this.flags = flags;
}
}

View File

@ -1,11 +1,7 @@
package com.unisinsight.project.feign;
import com.unisinsight.project.config.FeignConfig;
import com.unisinsight.project.entity.dto.ApiResponse;
import com.unisinsight.project.entity.dto.Network;
import com.unisinsight.project.entity.dto.NetworkData;
import com.unisinsight.project.entity.dto.StoragePoolData;
import com.unisinsight.project.entity.dto.VmInfoDTO;
import com.unisinsight.project.entity.dto.*;
import com.unisinsight.project.entity.req.*;
import com.unisinsight.project.entity.res.ImageStatusRes;
import org.springframework.cloud.openfeign.FeignClient;
@ -91,4 +87,8 @@ public interface ExternalApiClient {
ApiResponse removeIso(@RequestBody ImageOperationReq operationReq);
@PostMapping("/api/v1/vm/attach-iso")
ApiResponse attachIso(@RequestBody ImageOperationIsoReq operationReq);
@GetMapping("/api/v1/network/bridge-interfaces")
ApiResponse<List<BridgeInterfaceDTO>> getBridgeInterfaces();
}

View File

@ -2,6 +2,7 @@ package com.unisinsight.project.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.unisinsight.project.entity.dao.NetworkManage;
import com.unisinsight.project.entity.dto.BridgeInterfaceDTO;
import com.unisinsight.project.entity.req.NetworkManagePageReq;
import com.unisinsight.project.entity.req.NetworkManageReq;
import com.unisinsight.project.entity.res.PageResult;
@ -63,4 +64,6 @@ public interface NetworkManageService {
PageResult<NetworkManage> pageNetworkManages(NetworkManagePageReq networkManagePageReq);
String synchData();
List<BridgeInterfaceDTO> getBridgeInterfaces();
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.unisinsight.project.entity.dao.NetworkManage;
import com.unisinsight.project.entity.dto.ApiResponse;
import com.unisinsight.project.entity.dto.BridgeInterfaceDTO;
import com.unisinsight.project.entity.dto.Network;
import com.unisinsight.project.entity.dto.NetworkData;
import com.unisinsight.project.entity.req.NetworkManagePageReq;
@ -390,4 +391,20 @@ public class NetworkManageServiceImpl extends ServiceImpl<NetworkManageMapper, N
log.info("已插入{}条记录", endIndex);
}
}
@Override
public List<BridgeInterfaceDTO> getBridgeInterfaces() {
try {
ApiResponse<List<BridgeInterfaceDTO>> response = client.getBridgeInterfaces();
if (!"200".equals(response.getCode())) {
throw new BusinessException("调用外部接口失败: " + response.getMessage());
}
// 只返回状态为"up"的接口
return response.getData().stream()
.filter(interfaceDTO -> "up".equals(interfaceDTO.getStatus()))
.collect(Collectors.toList());
} catch (Exception e) {
throw new BusinessException("调用外部接口失败: " + e.getMessage());
}
}
}