@@ -34,25 +34,31 @@ public class SejongLoginService {
3434 private final UserRepository userRepository ;
3535
3636 public MemberDto login (MemberCommand memberCommand ){
37+ boolean hasLoginHistory = userRepository .existsByStudentId (memberCommand .getSejongPortalId ());
3738 SejongMemberInfo info = sejongPortalLoginService .getMemberAuthInfos (memberCommand .getSejongPortalId (), memberCommand .getSejongPortalPassword ());
38- updateUserInfo (info .getStudentId (), info .getName (), info .getMajor (), info .getGrade (), info .getCompletedSemester ()); //로그인 시 유저 정보 DB에 저장
39+
40+ // 로그인 성공 시 사용자 정보 저장 (첫 로그인인 경우)
41+ if (!hasLoginHistory ) {
42+ User newUser = User .builder ()
43+ .major (info .getMajor ())
44+ .studentId (info .getStudentId ())
45+ .username (info .getName ())
46+ .grade (info .getGrade ())
47+ .completedSemester (info .getCompletedSemester ())
48+ .build ();
49+ userRepository .save (newUser );
50+ }
51+
3952 return MemberDto .builder ()
4053 .major (info .getMajor ())
4154 .studentIdString (info .getStudentId ())
4255 .studentName (info .getName ())
4356 .grade (info .getGrade ())
4457 .completedSemester (info .getCompletedSemester ())
58+ .hasLoginHistory (hasLoginHistory )
4559 .build ();
4660 }
4761
48- private void updateUserInfo (String studentId , String username , String major , String grade , String completedSemester ) {
49- User user = userRepository .findByStudentId (studentId )
50- .orElseThrow (() -> new CustomException (ErrorCode .USER_NOT_FOUND ));
51-
52- user .updateUserInfo (studentId , username , major , grade , completedSemester );
53- userRepository .save (user );
54- }
55-
5662 public MemberDto getMemberAuthInfos (MemberCommand memberCommand ) throws IOException {
5763 try {
5864 SejongMemberInfo info = sejongPortalLoginService .getMemberAuthInfos (memberCommand .getSejongPortalId (), memberCommand .getSejongPortalPassword ());
0 commit comments