데이터셋 상세조회 class 조회 추가
This commit is contained in:
@@ -7,12 +7,14 @@ import com.kamco.cd.training.common.exception.NotFoundException;
|
||||
import com.kamco.cd.training.common.service.BaseCoreService;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetDto;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.Basic;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.DatasetClass;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.SearchReq;
|
||||
import com.kamco.cd.training.postgres.entity.DatasetEntity;
|
||||
import com.kamco.cd.training.postgres.entity.DatasetObjEntity;
|
||||
import com.kamco.cd.training.postgres.repository.dataset.DatasetObjRepository;
|
||||
import com.kamco.cd.training.postgres.repository.dataset.DatasetRepository;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -195,4 +197,15 @@ public class DatasetCoreService
|
||||
datasetObjRepository.save(entity);
|
||||
return entity.getUuid();
|
||||
}
|
||||
|
||||
/**
|
||||
* 데이터셋 object class 조회
|
||||
*
|
||||
* @param uuid dataset uuid
|
||||
* @param type compare, target
|
||||
* @return
|
||||
*/
|
||||
public List<DatasetClass> findDatasetObjClassByUuid(UUID uuid, String type) {
|
||||
return datasetObjRepository.findDatasetObjClassByUuid(uuid, type);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.kamco.cd.training.postgres.repository.dataset;
|
||||
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.DatasetClass;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.SearchReq;
|
||||
import com.kamco.cd.training.postgres.entity.DatasetObjEntity;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -11,4 +13,6 @@ public interface DatasetObjRepositoryCustom {
|
||||
Optional<DatasetObjEntity> findByUuid(UUID id);
|
||||
|
||||
Page<DatasetObjEntity> searchDatasetObjectList(SearchReq searchReq);
|
||||
|
||||
List<DatasetClass> findDatasetObjClassByUuid(UUID uuid, String type);
|
||||
}
|
||||
|
||||
@@ -3,11 +3,14 @@ package com.kamco.cd.training.postgres.repository.dataset;
|
||||
import static com.kamco.cd.training.postgres.entity.QDatasetEntity.datasetEntity;
|
||||
import static com.kamco.cd.training.postgres.entity.QDatasetObjEntity.datasetObjEntity;
|
||||
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.DatasetClass;
|
||||
import com.kamco.cd.training.dataset.dto.DatasetObjDto.SearchReq;
|
||||
import com.kamco.cd.training.postgres.entity.DatasetEntity;
|
||||
import com.kamco.cd.training.postgres.entity.DatasetObjEntity;
|
||||
import com.kamco.cd.training.postgres.entity.QDatasetEntity;
|
||||
import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.types.Projections;
|
||||
import com.querydsl.core.types.dsl.StringPath;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import jakarta.persistence.EntityNotFoundException;
|
||||
import java.util.List;
|
||||
@@ -94,4 +97,25 @@ public class DatasetObjRepositoryImpl implements DatasetObjRepositoryCustom {
|
||||
|
||||
return new PageImpl<>(content, pageable, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DatasetClass> findDatasetObjClassByUuid(UUID uuid, String type) {
|
||||
|
||||
StringPath classCd =
|
||||
type.equals("compare") ? datasetObjEntity.compareClassCd : datasetObjEntity.targetClassCd;
|
||||
|
||||
BooleanBuilder builder = new BooleanBuilder();
|
||||
builder.and(datasetEntity.uuid.eq(uuid));
|
||||
builder.and(datasetEntity.deleted.isFalse());
|
||||
builder.and(datasetObjEntity.deleted.isFalse());
|
||||
|
||||
return queryFactory
|
||||
.select(Projections.constructor(DatasetClass.class, classCd))
|
||||
.from(datasetEntity)
|
||||
.join(datasetObjEntity)
|
||||
.on(datasetEntity.id.eq(datasetObjEntity.datasetUid))
|
||||
.where(builder)
|
||||
.groupBy(classCd)
|
||||
.fetch();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user