diff --git a/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/dto/response/GpuTypeResponseDTO.java b/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/dto/response/GpuTypeResponseDTO.java index b3d8e0ff..c9e80a36 100644 --- a/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/dto/response/GpuTypeResponseDTO.java +++ b/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/dto/response/GpuTypeResponseDTO.java @@ -8,15 +8,13 @@ @Schema(description = "GPU 기종별 리소스 정보 응답 DTO") public record GpuTypeResponseDTO( - @Schema(description = "GPU 모델명", example = "RTX 3090 D6") - String gpuModel, - @Schema(description = "GPU RAM 크기 (GB)", example = "24") Integer ramGb, + @Schema(description = "GPU 그룹에 대한 상세 설명", example = "DGU AI LAB에서 가장 많이 사용하는 GPU 모델입니다.") String description, - @Schema(description = "GPU가 속한 리소스 그룹명 (같은 스펙 묶음)", example = "RTX 3090") + @Schema(description = "GPU가 속한 리소스 그룹명 (GPU 모델명)", example = "RTX 3090") String resourceGroupName, @Schema(description = "리소스 그룹 ID", example = "1") @@ -25,21 +23,21 @@ public record GpuTypeResponseDTO( @Schema(description = "노드 ID", example = "LAB1") String nodeId, - @Schema(description = "서버명", example = "서버01") // serverName 필드 추가 + @Schema(description = "서버명", example = "서버01") String serverName, @Schema(description = "사용 가능한 노드(서버) 개수", example = "5") Long availableNodes, @Schema(description = "현재 사용 가능 여부 (true: 사용 가능, false: 사용 불가능)", example = "true") - Boolean isAvailable // TODO: 현재는 항상 true로 가정, 이후에 논의 후 수정 필요 + Boolean isAvailable ) { /** * Object[] 형태의 쿼리 결과를 DTO로 변환하는 팩토리 메서드입니다. *
* 쿼리 결과의 순서는 다음과 같이 가정합니다:
- * [0] gpuModel
- * [1] ramGb
+ * [0] ramGb
+ * [1] description
* [2] resourceGroupName
* [3] availableNodes
* [4] rsgroupId
@@ -54,8 +52,8 @@ public static GpuTypeResponseDTO fromQueryResult(Object[] queryResult) {
if (queryResult == null || queryResult.length < 7) {
throw new IllegalArgumentException("Invalid query result format for GpuTypeResponseDTO. Expected at least 7 elements.");
}
- String gpuModel = (String) queryResult[0];
- Integer ramGb = (Integer) queryResult[1];
+ Integer ramGb = (Integer) queryResult[0];
+ String description = (String) queryResult[1];
String resourceGroupName = (String) queryResult[2];
Long availableNodes = ((Number) queryResult[3]).longValue();
Integer rsgroupId = (Integer) queryResult[4];
@@ -63,14 +61,14 @@ public static GpuTypeResponseDTO fromQueryResult(Object[] queryResult) {
String serverName = (String) queryResult[6];
return GpuTypeResponseDTO.builder()
- .gpuModel(gpuModel)
.ramGb(ramGb)
+ .description(description)
.resourceGroupName(resourceGroupName)
.availableNodes(availableNodes)
.rsgroupId(rsgroupId)
.nodeId(nodeId)
.serverName(serverName)
- .isAvailable(true) // 현재는 항상 true로 가정
+ .isAvailable(true)
.build();
}
@@ -85,9 +83,9 @@ public static GpuTypeResponseDTO fromQueryResult(Object[] queryResult) {
*/
public static GpuTypeResponseDTO fromSummary(GpuRepository.GpuSummary s) {
return GpuTypeResponseDTO.builder()
- .gpuModel(s.getGpuModel())
.ramGb(s.getRamGb())
.description(s.getDescription())
+ .resourceGroupName(s.getResourceGroupName())
.availableNodes(s.getNodeCount())
.rsgroupId(s.getRsgroupId())
.nodeId(s.getNodeId())
diff --git a/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/repository/GpuRepository.java b/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/repository/GpuRepository.java
index c2bdf6ef..8034f4c7 100644
--- a/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/repository/GpuRepository.java
+++ b/src/main/java/DGU_AI_LAB/admin_be/domain/gpus/repository/GpuRepository.java
@@ -12,9 +12,9 @@ public interface GpuRepository extends JpaRepository