From f152e235f5b6589a25de3534e061785ef7da7ef1 Mon Sep 17 00:00:00 2001 From: Jeongdonghun Date: Tue, 14 Jan 2025 17:01:06 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat=20:=20=EC=A3=BC=EC=84=9D=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20#77?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itstime/reflog/schedule/service/ScheduleService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/itstime/reflog/schedule/service/ScheduleService.java b/src/main/java/itstime/reflog/schedule/service/ScheduleService.java index c5cf7f4..351722f 100644 --- a/src/main/java/itstime/reflog/schedule/service/ScheduleService.java +++ b/src/main/java/itstime/reflog/schedule/service/ScheduleService.java @@ -78,11 +78,13 @@ public void createSchedule(String memberId, ScheduleDto.ScheduleSaveOrUpdateRequ @Transactional public ScheduleDto.ScheduleResponse getSchedule(Long scheduleId, String memberId){ + // 1. 멤버 조회 + Member member = memberServiceHelper.findMemberByUuid(memberId); + + // 2. 일정 조회 Schedule schedule = scheduleRepository.findById(scheduleId) .orElseThrow(() -> new GeneralException(ErrorStatus._SCHEDULE_NOT_FOUND)); - Member member = memberServiceHelper.findMemberByUuid(memberId); - return new ScheduleDto.ScheduleResponse( schedule.getId(), schedule.getTitle(), @@ -96,8 +98,10 @@ public ScheduleDto.ScheduleResponse getSchedule(Long scheduleId, String memberId @Transactional public List getAllSchedule(String memberId, int month) { + // 1. 멤버 조회 Member member = memberServiceHelper.findMemberByUuid(memberId); + // 2. 일정 전체 조회 List schedules = scheduleRepository.findByMemberAndStartDateTimeMonth(member.getId(), month); return schedules.stream() From 56c44dfbcc712514d3864259a987908979b56664 Mon Sep 17 00:00:00 2001 From: Jeongdonghun Date: Tue, 14 Jan 2025 17:01:32 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat=20:=20=ED=94=84=EB=A1=9C=ED=95=84=20ur?= =?UTF-8?q?l=20=EC=B6=94=EA=B0=80=20#77?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itstime/reflog/mypage/domain/MyPage.java | 3 +++ .../itstime/reflog/mypage/dto/MyPageDto.java | 3 +++ .../reflog/mypage/service/MyPageService.java | 26 ++++++++++++++++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/itstime/reflog/mypage/domain/MyPage.java b/src/main/java/itstime/reflog/mypage/domain/MyPage.java index 690719e..6489b03 100644 --- a/src/main/java/itstime/reflog/mypage/domain/MyPage.java +++ b/src/main/java/itstime/reflog/mypage/domain/MyPage.java @@ -27,6 +27,8 @@ public class MyPage { @Column(nullable = false) private String email; + private String imageUrl; + @OneToMany(mappedBy = "myPage", cascade = CascadeType.ALL, orphanRemoval = true) private List userBadges; @@ -40,6 +42,7 @@ public class MyPage { public void update(MyPageDto.MyPageProfileRequest dto, Member member) { this.nickname = dto.getNickname(); this.email = dto.getEmail(); + this.imageUrl = dto.getImageUrl(); this.member = member; } } diff --git a/src/main/java/itstime/reflog/mypage/dto/MyPageDto.java b/src/main/java/itstime/reflog/mypage/dto/MyPageDto.java index db33e3f..45516f6 100644 --- a/src/main/java/itstime/reflog/mypage/dto/MyPageDto.java +++ b/src/main/java/itstime/reflog/mypage/dto/MyPageDto.java @@ -32,6 +32,8 @@ public static class MyPageProfileRequest { @Email(message = "이메일 정보가 올바르지 않습니다.") private String email; + + private String imageUrl; } @Getter @@ -39,6 +41,7 @@ public static class MyPageProfileRequest { public static class MyPageProfileResponse { private String nickname; private String email; + private String imageUrl; } @Getter diff --git a/src/main/java/itstime/reflog/mypage/service/MyPageService.java b/src/main/java/itstime/reflog/mypage/service/MyPageService.java index 23841b4..eb3e19f 100644 --- a/src/main/java/itstime/reflog/mypage/service/MyPageService.java +++ b/src/main/java/itstime/reflog/mypage/service/MyPageService.java @@ -42,12 +42,15 @@ public class MyPageService { private final PostLikeService postLikeService; private final MemberServiceHelper memberServiceHelper; private final UserBadgeRepository userBadgeRepository; + private final NotificationSettingsService notificationSettingsService; @Transactional public MyPageDto.MyPageInfoResponse getMyInformation(String memberId) { + // 1. 멤버 조회 Member member = memberServiceHelper.findMemberByUuid(memberId); + // 2. 마이페이지 조회 MyPage myPage = myPageRepository.findByMember(member) .orElseThrow(() -> new GeneralException(ErrorStatus._MYPAGE_NOT_FOUND)); @@ -69,25 +72,37 @@ public void createProfile(String memberId, MyPageDto.MyPageProfileRequest dto) { throw new GeneralException(ErrorStatus._DUPLICATE_EMAIL); } - // 3. 마이페이지 생성 + // 3. imageUrl null 확인 + String imageUrl = null; + if(dto.getImageUrl() == null){ + imageUrl = member.getProfileImageUrl(); + } else{ + imageUrl = dto.getImageUrl(); + } + + // 4. 마이페이지 생성 MyPage myPage = MyPage.builder() .nickname(dto.getNickname()) .email(dto.getEmail()) + .imageUrl(imageUrl) .member(member) .build(); myPageRepository.save(myPage); myPageRepository.flush(); - // 4. 유저 미션&배지 생성 + notificationSettingsService.createDefaultSettings(member); + + // 5. 유저 미션&배지 생성 initializationService.initializeForNewMember(myPage); - // 5. 미션 + // 6. 미션 missionService.incrementMissionProgress(member.getId(), myPage, FIRST_MEETING); } @Transactional public MyPageDto.MyPageProfileResponse getProfile(String memberId) { + // 1. 멤버 조회 Member member = memberServiceHelper.findMemberByUuid(memberId); MyPage myPage = myPageRepository.findByMember(member) @@ -95,14 +110,17 @@ public MyPageDto.MyPageProfileResponse getProfile(String memberId) { return new MyPageDto.MyPageProfileResponse( myPage.getNickname(), - myPage.getEmail() + myPage.getEmail(), + myPage.getImageUrl() ); } @Transactional public void updateProfile(String memberId, MyPageDto.MyPageProfileRequest dto) { + // 1. 멤버 조회 Member member = memberServiceHelper.findMemberByUuid(memberId); + // 2. 마이페이지 수정 MyPage myPage = myPageRepository.findByMember(member) .orElseThrow(() -> new GeneralException(ErrorStatus._MYPAGE_NOT_FOUND)); From 7203bb30183207e371ed4d9fc1fce0e119586c76 Mon Sep 17 00:00:00 2001 From: Jeongdonghun Date: Tue, 14 Jan 2025 17:08:05 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat=20:=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=97=90=20=EC=95=8C=EB=A6=BC=EC=84=B8?= =?UTF-8?q?=ED=8C=85=20=EC=B6=94=EA=B0=80=20#77?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itstime/reflog/mypage/service/MyPageService.java | 5 +++-- .../mypage/service/NotificationSettingsService.java | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/itstime/reflog/mypage/service/MyPageService.java b/src/main/java/itstime/reflog/mypage/service/MyPageService.java index eb3e19f..ed6b591 100644 --- a/src/main/java/itstime/reflog/mypage/service/MyPageService.java +++ b/src/main/java/itstime/reflog/mypage/service/MyPageService.java @@ -91,12 +91,13 @@ public void createProfile(String memberId, MyPageDto.MyPageProfileRequest dto) { myPageRepository.save(myPage); myPageRepository.flush(); + // 5. 미션세팅 생성 notificationSettingsService.createDefaultSettings(member); - // 5. 유저 미션&배지 생성 + // 6. 유저 미션&배지 생성 initializationService.initializeForNewMember(myPage); - // 6. 미션 + // 7. 미션 missionService.incrementMissionProgress(member.getId(), myPage, FIRST_MEETING); } diff --git a/src/main/java/itstime/reflog/mypage/service/NotificationSettingsService.java b/src/main/java/itstime/reflog/mypage/service/NotificationSettingsService.java index b1f8691..ca47f59 100644 --- a/src/main/java/itstime/reflog/mypage/service/NotificationSettingsService.java +++ b/src/main/java/itstime/reflog/mypage/service/NotificationSettingsService.java @@ -26,9 +26,9 @@ public void updateNotificationSettings(String memberId, Map createDefaultSettings(member)); + // 2. 알림 설정 조회 + NotificationSettings settings = notificationSettingsRepository.findByMemberId(member.getId()) + .orElseThrow(() -> new GeneralException(ErrorStatus._NOTIFICATIONSETTINGS_NOT_FOUND)); // 3. 전체 알림 설정 업데이트 settings.setAllNotificationsEnabled(allNotificationsEnabled); @@ -61,7 +61,8 @@ public NotificationSettingsDto.NotificationSettingsResponse getSettings(String m ); } - private NotificationSettings createDefaultSettings(Member member) { + + void createDefaultSettings(Member member) { // 1. 알림 설정 생성 NotificationSettings settings = new NotificationSettings(); settings.setMember(member); @@ -74,6 +75,6 @@ private NotificationSettings createDefaultSettings(Member member) { } settings.setNotificationPreferences(defaultPreferences); - return notificationSettingsRepository.save(settings); + notificationSettingsRepository.save(settings); } }