Skip to content

feat: Goal/DailyGoal 삭제 시 연관 Task 삭제 (#40)#41

Merged
robinjoon merged 3 commits intomainfrom
ticket/#40
Mar 25, 2026
Merged

feat: Goal/DailyGoal 삭제 시 연관 Task 삭제 (#40)#41
robinjoon merged 3 commits intomainfrom
ticket/#40

Conversation

@robinjoon
Copy link
Copy Markdown
Member

@robinjoon robinjoon commented Mar 25, 2026

Summary

  • Goal 삭제 시 GoalDeletedEvent, DailyGoal 제거 시 DailyGoalRemovedEvent를 발행하여 Task BC에서 연관 Task를 자동 삭제
  • BC 간 직접 참조 없이 Spring ApplicationEvent 기반 이벤트 통신으로 구현 (@TransactionalEventListener(BEFORE_COMMIT))
  • Goal 삭제 시 연관 DailyGoal도 함께 정리하여 고아 레코드 방지
  • BC 간 이벤트 통신 아키텍처 규칙 문서 추가 (docs/layers/bc-event.md)

Test plan

  • GoalServiceTest — Goal 삭제 시 DailyGoal 정리 및 GoalDeletedEvent 발행 검증
  • GoalServiceTest — DailyGoal 제거 시 DailyGoalRemovedEvent 발행 검증 (memberId 포함)
  • TaskServiceTest — GoalDeletedEvent 수신 시 goalId 기반 Task 일괄 삭제 검증
  • TaskServiceTest — DailyGoalRemovedEvent 수신 시 goalId+memberId+date 기반 Task 삭제 검증
  • 전체 테스트 스위트 통과 확인

🤖 Generated with Claude Code

robinjoon and others added 3 commits March 25, 2026 15:27
Spring ApplicationEvent 기반 BC 간 이벤트 통신을 도입하여
Goal 삭제 시 GoalDeletedEvent, DailyGoal 제거 시 DailyGoalRemovedEvent를
발행하고 Task BC에서 수신하여 연관 Task를 삭제합니다.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…l 정리 (#40)

- DailyGoalRemovedEvent에 memberId를 추가하여 특정 멤버의 Task만 삭제되도록 범위 제한
- Goal 삭제 시 연관 DailyGoal을 먼저 삭제하여 고아 레코드 방지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@robinjoon robinjoon merged commit 5783a6f into main Mar 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant