모델학습 config 정보 조회 추가
This commit is contained in:
@@ -5,8 +5,8 @@ import com.kamco.cd.training.common.enums.ModelType;
|
||||
import com.kamco.cd.training.common.enums.TrainStatusType;
|
||||
import com.kamco.cd.training.common.exception.BadRequestException;
|
||||
import com.kamco.cd.training.common.exception.CustomApiException;
|
||||
import com.kamco.cd.training.common.exception.NotFoundException;
|
||||
import com.kamco.cd.training.common.utils.UserUtil;
|
||||
import com.kamco.cd.training.model.dto.ModelConfigDto;
|
||||
import com.kamco.cd.training.model.dto.ModelTrainMngDto;
|
||||
import com.kamco.cd.training.model.dto.ModelTrainMngDto.Basic;
|
||||
import com.kamco.cd.training.model.dto.ModelTrainMngDto.TrainingDataset;
|
||||
@@ -162,7 +162,7 @@ public class ModelTrainMngCoreService {
|
||||
* @param req 요청 파라미터
|
||||
* @return
|
||||
*/
|
||||
public Long saveModelConfig(Long modelId, ModelTrainMngDto.ModelConfig req) {
|
||||
public void saveModelConfig(Long modelId, ModelTrainMngDto.ModelConfig req) {
|
||||
ModelMasterEntity modelMasterEntity = new ModelMasterEntity();
|
||||
ModelConfigEntity entity = new ModelConfigEntity();
|
||||
modelMasterEntity.setId(modelId);
|
||||
@@ -173,7 +173,7 @@ public class ModelTrainMngCoreService {
|
||||
entity.setTestPercent(req.getTestCnt());
|
||||
entity.setMemo(req.getMemo());
|
||||
|
||||
return modelConfigRepository.save(entity).getId();
|
||||
modelConfigRepository.save(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -198,14 +198,26 @@ public class ModelTrainMngCoreService {
|
||||
* @param uuid UUID
|
||||
* @return 모델 Entity
|
||||
*/
|
||||
public ModelMasterEntity findByUuid(String uuid) {
|
||||
public ModelMasterEntity findByUuid(UUID uuid) {
|
||||
try {
|
||||
java.util.UUID uuidObj = java.util.UUID.fromString(uuid);
|
||||
return modelMngRepository
|
||||
.findByUuid(uuidObj)
|
||||
.orElseThrow(() -> new NotFoundException("모델을 찾을 수 없습니다. UUID: " + uuid));
|
||||
.findByUuid(uuid)
|
||||
.orElseThrow(() -> new CustomApiException("NOT_FOUND_DATA", HttpStatus.NOT_FOUND));
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new BadRequestException("잘못된 UUID 형식입니다: " + uuid);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 모델학습 아이디로 config정보 조회
|
||||
*
|
||||
* @param uuid
|
||||
* @return
|
||||
*/
|
||||
public ModelConfigDto.Basic findModelConfigByModelId(UUID uuid) {
|
||||
ModelMasterEntity modelEntity = findByUuid(uuid);
|
||||
return modelConfigRepository
|
||||
.findModelConfigByModelId(modelEntity.getId())
|
||||
.orElseThrow(() -> new CustomApiException("NOT_FOUND_DATA", HttpStatus.NOT_FOUND));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,5 @@ package com.kamco.cd.training.postgres.repository.model;
|
||||
import com.kamco.cd.training.postgres.entity.ModelConfigEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface ModelConfigRepository extends JpaRepository<ModelConfigEntity, Long> {}
|
||||
public interface ModelConfigRepository
|
||||
extends JpaRepository<ModelConfigEntity, Long>, ModelConfigRepositoryCustom {}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.kamco.cd.training.postgres.repository.model;
|
||||
|
||||
import com.kamco.cd.training.model.dto.ModelConfigDto;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface ModelConfigRepositoryCustom {
|
||||
Optional<ModelConfigDto.Basic> findModelConfigByModelId(Long modelId);
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.kamco.cd.training.postgres.repository.model;
|
||||
|
||||
import static com.kamco.cd.training.postgres.entity.QModelConfigEntity.modelConfigEntity;
|
||||
|
||||
import com.kamco.cd.training.model.dto.ModelConfigDto.Basic;
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.Optional;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class ModelConfigRepositoryImpl implements ModelConfigRepositoryCustom {
|
||||
|
||||
private final JPAQueryFactory queryFactory;
|
||||
|
||||
@Override
|
||||
public Optional<Basic> findModelConfigByModelId(Long modelId) {
|
||||
|
||||
return Optional.ofNullable(
|
||||
queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
Basic.class,
|
||||
modelConfigEntity.id,
|
||||
modelConfigEntity.model.id,
|
||||
modelConfigEntity.epochCount,
|
||||
modelConfigEntity.trainPercent,
|
||||
modelConfigEntity.validationPercent,
|
||||
modelConfigEntity.testPercent,
|
||||
modelConfigEntity.memo))
|
||||
.from(modelConfigEntity)
|
||||
.where(modelConfigEntity.model.id.eq(modelId))
|
||||
.fetchOne());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user