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