From 11d658189086fe67e441fe5e9b2e8f144948f624 Mon Sep 17 00:00:00 2001 From: Jeong-Yunmi Date: Mon, 6 Apr 2026 23:59:26 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[Feat/#108]=20=EC=8A=B5=EA=B4=80=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=EC=95=8C=EB=A6=BC=20=EB=AC=B8=EA=B5=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EB=B6=80=EB=AA=A8->=EC=9E=90?= =?UTF-8?q?=EB=85=80=20=EC=95=8C=EB=A6=BC=20=EC=8B=A0=EA=B7=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/habit/service/HabitService.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/swyp/server/domain/habit/service/HabitService.java b/src/main/java/com/swyp/server/domain/habit/service/HabitService.java index 0c8f6a5..c06bc7f 100644 --- a/src/main/java/com/swyp/server/domain/habit/service/HabitService.java +++ b/src/main/java/com/swyp/server/domain/habit/service/HabitService.java @@ -65,12 +65,38 @@ public Habit createHabit(Long userId, HabitCreateRequest request) { .map(User::getId) .toList(); if (!parentIds.isEmpty()) { + String childNickname = user.getNickname(); TransactionSynchronizationManager.registerSynchronization( new TransactionSynchronization() { @Override public void afterCommit() { notificationService.sendToUsers( - parentIds, "해봄", "새로운 보상이 추가됐어요! 지금 바로 수락해 볼까요?", Map.of()); + parentIds, + "해봄", + childNickname + "(이)가 새 습관을 추가했어요. 보상을 확인해 볼까요?", + Map.of()); + } + }); + } + } + + if (user.getUserType() == UserType.PARENT) { + List childIds = + familyRelationService.getConnectedMembers(userId).stream() + .filter(m -> m.getUserType() == UserType.CHILD) + .map(User::getId) + .toList(); + if (!childIds.isEmpty()) { + String parentNickname = user.getNickname(); + TransactionSynchronizationManager.registerSynchronization( + new TransactionSynchronization() { + @Override + public void afterCommit() { + notificationService.sendToUsers( + childIds, + "해봄", + parentNickname + "님이 새 습관을 추가했어요. 함께 힘내볼까요?", + Map.of()); } }); } From 5c033b66ac4a339d44aa34b459c644087b276b11 Mon Sep 17 00:00:00 2001 From: Jeong-Yunmi Date: Tue, 7 Apr 2026 00:09:41 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[Feat/#108]=20=EB=8B=89=EB=84=A4=EC=9E=84?= =?UTF-8?q?=20null=20=EB=B0=A9=EC=96=B4=20=EC=B2=98=EB=A6=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/swyp/server/domain/habit/service/HabitService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/swyp/server/domain/habit/service/HabitService.java b/src/main/java/com/swyp/server/domain/habit/service/HabitService.java index c06bc7f..430a62a 100644 --- a/src/main/java/com/swyp/server/domain/habit/service/HabitService.java +++ b/src/main/java/com/swyp/server/domain/habit/service/HabitService.java @@ -65,7 +65,7 @@ public Habit createHabit(Long userId, HabitCreateRequest request) { .map(User::getId) .toList(); if (!parentIds.isEmpty()) { - String childNickname = user.getNickname(); + String childNickname = user.getNickname() != null ? user.getNickname() : "자녀"; TransactionSynchronizationManager.registerSynchronization( new TransactionSynchronization() { @Override @@ -87,7 +87,7 @@ public void afterCommit() { .map(User::getId) .toList(); if (!childIds.isEmpty()) { - String parentNickname = user.getNickname(); + String parentNickname = user.getNickname() != null ? user.getNickname() : "부모"; TransactionSynchronizationManager.registerSynchronization( new TransactionSynchronization() { @Override