diff --git a/src/main/java/slvtwn/khu/toyouserver/application/UserService.java b/src/main/java/slvtwn/khu/toyouserver/application/UserService.java index f7ff715..b4449b7 100644 --- a/src/main/java/slvtwn/khu/toyouserver/application/UserService.java +++ b/src/main/java/slvtwn/khu/toyouserver/application/UserService.java @@ -20,6 +20,7 @@ import slvtwn.khu.toyouserver.persistance.EventRepository; import slvtwn.khu.toyouserver.persistance.GroupRepository; import slvtwn.khu.toyouserver.persistance.MemberRepository; +import slvtwn.khu.toyouserver.persistance.RollingPaperRepository; import slvtwn.khu.toyouserver.persistance.UserRepository; @RequiredArgsConstructor @@ -33,6 +34,7 @@ public class UserService { private final MemberRepository memberRepository; private final GroupRepository groupRepository; private final EventRepository eventRepository; + private final RollingPaperRepository rollingPaperRepository; public UserResponse getProfile(Long userId) { User user = userRepository.findById(userId) @@ -77,7 +79,7 @@ public void updateUser(Long userId, UserUpdateRequest request) { user.updateInfo(request.name(), request.birthday(), request.introduction(), request.imageUrl()); createBirthdayEvents(user); - updateUserGroups(user, request.groups()); + changeUserGroups(user, request.groups()); } private void createBirthdayEvents(User user) { @@ -98,9 +100,12 @@ private static List generatePeriodicalBirthdayEvents(User user) { return events; } - private void updateUserGroups(User user, List groupRequests) { + private void changeUserGroups(User user, List groupRequests) { List members = memberRepository.findByUser(user); + + rollingPaperRepository.deleteAllByMemberIn(members); memberRepository.deleteAll(members); + saveMembersWithNewGroups(user, groupRequests); } diff --git a/src/main/java/slvtwn/khu/toyouserver/persistance/RollingPaperRepository.java b/src/main/java/slvtwn/khu/toyouserver/persistance/RollingPaperRepository.java index 3579858..10e6154 100644 --- a/src/main/java/slvtwn/khu/toyouserver/persistance/RollingPaperRepository.java +++ b/src/main/java/slvtwn/khu/toyouserver/persistance/RollingPaperRepository.java @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import slvtwn.khu.toyouserver.domain.Member; import slvtwn.khu.toyouserver.domain.RollingPaper; public interface RollingPaperRepository extends JpaRepository { @@ -14,4 +15,6 @@ public interface RollingPaperRepository extends JpaRepository findAllByMembersAfterCursor(@Param("memberIds") List memberIds, @Param("targetId") Long targetId, Pageable pageable); + + void deleteAllByMemberIn(List members); }