From 1bdef4fe883611e5572c840f8ad8ceb900e24bfe Mon Sep 17 00:00:00 2001 From: andrew Date: Thu, 13 Feb 2025 13:55:23 +0900 Subject: [PATCH] =?UTF-8?q?CLAP-421=20Fix=20:=20CSV=20=ED=9A=8C=EC=9B=90?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=EC=8B=9C=20=EA=B2=80=EC=A6=9D=20logic=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/admin/CsvParseService.java | 15 ++++++++++++++- .../server/exception/code/MemberErrorCode.java | 5 +++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/clap/server/application/service/admin/CsvParseService.java b/src/main/java/clap/server/application/service/admin/CsvParseService.java index dafa2844..ff3f8be7 100644 --- a/src/main/java/clap/server/application/service/admin/CsvParseService.java +++ b/src/main/java/clap/server/application/service/admin/CsvParseService.java @@ -56,6 +56,11 @@ public List parseDataAndMapToMember(MultipartFile file) { } private Member mapToMember(String[] fields, List departments) { + + if (!validateEmailAndNickname(fields[4].trim(), fields[1].trim())) { + throw new ApplicationException(MemberErrorCode.INVALID_EMAIL_NICKNAME_MATCH); + } + Long departmentId = Long.parseLong(fields[2].trim()); Department department = departments.stream() .filter(dept -> dept.getDepartmentId().equals(departmentId)) @@ -77,4 +82,12 @@ private Member mapToMember(String[] fields, List departments) { .memberInfo(memberInfo) .build(); } -} + + private boolean validateEmailAndNickname(String email, String nickname) { + String extractedEmail = email.split("@")[0].replace(".", ""); + String extractedNickname = nickname.replace(".", ""); + System.out.println(extractedNickname); + System.out.println(extractedEmail); + return extractedEmail.equals(extractedNickname); + } +} \ No newline at end of file diff --git a/src/main/java/clap/server/exception/code/MemberErrorCode.java b/src/main/java/clap/server/exception/code/MemberErrorCode.java index 48c632aa..f5246b1a 100644 --- a/src/main/java/clap/server/exception/code/MemberErrorCode.java +++ b/src/main/java/clap/server/exception/code/MemberErrorCode.java @@ -19,9 +19,10 @@ public enum MemberErrorCode implements BaseErrorCode { DUPLICATE_NICKNAME(HttpStatus.BAD_REQUEST,"MEMBER_011", "중복된 닉네임입니다"), DUPLICATE_NICKNAME_OR_EMAIL(HttpStatus.BAD_REQUEST, "MEMBER_012", "중복된 닉네임이나 email이 존재합니다"), MANAGER_PERMISSION_DENIED(HttpStatus.BAD_REQUEST, "MEMBER_013", "담당자 권한이 없는 부서입니다."), - ; + INVALID_EMAIL_NICKNAME_MATCH(HttpStatus.BAD_REQUEST, "MEMBER_014", "닉네임과 이메일이 일치하지 않습니다"), + ; private final HttpStatus httpStatus; private final String customCode; private final String message; -} +} \ No newline at end of file