From ed48f697a43192ffb1886f71ce718e36053a5032 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Thu, 12 Feb 2026 18:44:04 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=85=EB=A1=9C=EB=93=9C=20=EC=8B=9C=20?= =?UTF-8?q?=EA=B0=99=EC=9D=80=20uid=EB=A1=9C=20=EC=97=85=EB=A1=9C=EB=93=9C?= =?UTF-8?q?=ED=95=98=EC=A7=80=20=EB=AA=BB=ED=95=98=EA=B2=8C=20=EC=A1=B0?= =?UTF-8?q?=EA=B1=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/training/dataset/service/DatasetService.java | 7 +++++++ .../cd/training/postgres/core/DatasetCoreService.java | 4 ++++ .../repository/dataset/DatasetRepositoryCustom.java | 2 ++ .../repository/dataset/DatasetRepositoryImpl.java | 9 +++++++++ 4 files changed, 22 insertions(+) diff --git a/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java b/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java index 98d436a..04f08c6 100644 --- a/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java +++ b/src/main/java/com/kamco/cd/training/dataset/service/DatasetService.java @@ -208,6 +208,13 @@ public class DatasetService { Long datasetUid = null; // master id 값, 등록하면서 가져올 예정 try { + // 같은 uid 로 등록한 파일이 있는지 확인 + Long existsCnt = + datasetCoreService.findDatasetByUidExistsCnt(addReq.getFileName().replace(".zip", "")); + if (existsCnt > 0) { + return new ResponseObj(ApiResponseCode.DUPLICATE_DATA, "이미 등록된 회차 데이터 파일입니다. 확인 부탁드립니다."); + } + // 압축 해제 FIleChecker.unzip(addReq.getFileName(), addReq.getFilePath()); diff --git a/src/main/java/com/kamco/cd/training/postgres/core/DatasetCoreService.java b/src/main/java/com/kamco/cd/training/postgres/core/DatasetCoreService.java index 53ec2dc..c96d31b 100644 --- a/src/main/java/com/kamco/cd/training/postgres/core/DatasetCoreService.java +++ b/src/main/java/com/kamco/cd/training/postgres/core/DatasetCoreService.java @@ -246,4 +246,8 @@ public class DatasetCoreService public void insertDatasetValObj(DatasetObjRegDto objRegDto) { datasetObjRepository.insertDatasetValObj(objRegDto); } + + public Long findDatasetByUidExistsCnt(String uid) { + return datasetRepository.findDatasetByUidExistsCnt(uid); + } } diff --git a/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryCustom.java b/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryCustom.java index 1916d58..58620af 100644 --- a/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryCustom.java +++ b/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryCustom.java @@ -24,4 +24,6 @@ public interface DatasetRepositoryCustom { Long insertDatasetMngData(DatasetMngRegDto mngRegDto); List findDatasetUid(List datasetIds); + + Long findDatasetByUidExistsCnt(String uid); } diff --git a/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryImpl.java b/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryImpl.java index c41fe37..b4a6b94 100644 --- a/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/training/postgres/repository/dataset/DatasetRepositoryImpl.java @@ -247,4 +247,13 @@ public class DatasetRepositoryImpl implements DatasetRepositoryCustom { public List findDatasetUid(List datasetIds) { return queryFactory.select(dataset.uid).from(dataset).where(dataset.id.in(datasetIds)).fetch(); } + + @Override + public Long findDatasetByUidExistsCnt(String uid) { + return queryFactory + .select(dataset.id.count()) + .from(dataset) + .where(dataset.uid.eq(uid)) + .fetchOne(); + } }