Skip to content

Commit 1ade25a

Browse files
authored
Merge pull request #553 from TaskFlow-CLAP/CLAP-421
CLAP-421 CSV 회원 추가시 검증 logic 추가
2 parents 7e4c3e7 + 1bdef4f commit 1ade25a

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/main/java/clap/server/application/service/admin/CsvParseService.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public List<Member> parseDataAndMapToMember(MultipartFile file) {
5656
}
5757

5858
private Member mapToMember(String[] fields, List<Department> departments) {
59+
60+
if (!validateEmailAndNickname(fields[4].trim(), fields[1].trim())) {
61+
throw new ApplicationException(MemberErrorCode.INVALID_EMAIL_NICKNAME_MATCH);
62+
}
63+
5964
Long departmentId = Long.parseLong(fields[2].trim());
6065
Department department = departments.stream()
6166
.filter(dept -> dept.getDepartmentId().equals(departmentId))
@@ -77,4 +82,12 @@ private Member mapToMember(String[] fields, List<Department> departments) {
7782
.memberInfo(memberInfo)
7883
.build();
7984
}
80-
}
85+
86+
private boolean validateEmailAndNickname(String email, String nickname) {
87+
String extractedEmail = email.split("@")[0].replace(".", "");
88+
String extractedNickname = nickname.replace(".", "");
89+
System.out.println(extractedNickname);
90+
System.out.println(extractedEmail);
91+
return extractedEmail.equals(extractedNickname);
92+
}
93+
}

src/main/java/clap/server/exception/code/MemberErrorCode.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ public enum MemberErrorCode implements BaseErrorCode {
1919
DUPLICATE_NICKNAME(HttpStatus.BAD_REQUEST,"MEMBER_011", "중복된 닉네임입니다"),
2020
DUPLICATE_NICKNAME_OR_EMAIL(HttpStatus.BAD_REQUEST, "MEMBER_012", "중복된 닉네임이나 email이 존재합니다"),
2121
MANAGER_PERMISSION_DENIED(HttpStatus.BAD_REQUEST, "MEMBER_013", "담당자 권한이 없는 부서입니다."),
22-
;
22+
INVALID_EMAIL_NICKNAME_MATCH(HttpStatus.BAD_REQUEST, "MEMBER_014", "닉네임과 이메일이 일치하지 않습니다"),
23+
;
2324

2425
private final HttpStatus httpStatus;
2526
private final String customCode;
2627
private final String message;
27-
}
28+
}

0 commit comments

Comments
 (0)