Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

알람 기능 수정 #154

Merged
merged 8 commits into from
Jun 3, 2024
Merged

Conversation

JadeKim042386
Copy link
Member

@JadeKim042386 JadeKim042386 commented Jun 3, 2024

🔍️ 이 PR을 통해 해결하려는 문제

  • 사용자가 알람을 조회하고 바로 삭제하지 않고, 1개월동안 보관해두었다가 내부에서 자동으로 삭제하도록 요구사항이 변경되었습니다. 따라서 알람 조회 시 read_at 속성 값을 추가로 건네주어서 읽음 처리된 알람과 읽지 않은 알람을 구분할 수 있게 해주어야합니다. 알람 삭제 시에는 delete_at 속성을 추가하여 soft_delete를 구현하도록 합니다.

✨ 이 PR에서 핵심적으로 변경된 사항

  • 알람 자동 삭제 기능 추가

    • Schedule을 사용하여 매달 0시에 1개월이 지난 알람을 모두 삭제합니다.
    • soft delete를 적용했으며 알람 테이블에 deleted_at 속성을 추가했습니다.
    • 알람 삭제 시 batch delete를 적용했습니다.
  • 알람 조회 로직 변경

    • 요구 사항 변경에 따라 알람 목록 조회 시 읽은 알람/읽지 않은 알람 모두 반환하도록 수정했습니다.
    • 반환되는 AlarmResponsereadAt 필드를 추가했습니다.
  • SSE 알람 전송 시 name 인자에 AlarmType을 지정

    • 예약 요청 알람에 대한 BOOKING_REQUEST type을 추가했습니다.

🔖 핵심 변경 사항 외에 추가적으로 변경된 부분

  • Producer 클래스에서 불필요한 메소드 분리가 일어나 병합시켰습니다.

    • AlarmEvent를 생성하는 메소드를 따로 분리했을 경우 수정할 때 변경되어야하는 코드가 많아졌고 유지보수가 힘들어질 것이라 판단하여 다시 병합했습니다.
  • 알람 엔티티의 readAt/deletedAt에 대한 setter 삭제

  • readAt/deleteAt은 DB 쿼리를 통해 값이 할당되기 때문에 불필요한 setter를 삭제했습니다.

  • readAt 업데이트 쿼리 수정

    • 같은 알람에 대해 여러번 읽음 처리 요청이 들어올 경우 readAt이 요청이 들어올 때마다 update가 되지 않도록 readAt이 null이어야한다는 조건을 추가했습니다.

📌 PR 진행 시 이러한 점들을 참고해 주세요

  • Reviewer 분들은 코드 리뷰 시 좋은 코드의 방향을 제시하되, 코드 수정을 강제하지 말아 주세요.
  • Reviewer 분들은 좋은 코드를 발견한 경우, 칭찬과 격려를 아끼지 말아 주세요.
  • Review는 특수한 케이스가 아니면 Reviewer로 지정된 시점 기준으로 1일 이내에 진행해 주세요.

Issue Tags

- schedule을 적용하여 매달 0시에 1개월이 지난 알람을 모두 삭제 (soft delete)
- 알람 조회 시에는 읽은 알람도 같이 조회
- 알람 테이블에 deleted_at 속성 추가
- 알람 삭제 시 batch delete 적용
- alarmType에 예약 요청에 대한 type을 추가
- 판매 상태 변경에 대한 메시지 전송 시 alarmType을 인자로 넘겨주도록 수정
@JadeKim042386 JadeKim042386 added the enhancement New feature or request label Jun 3, 2024
@JadeKim042386 JadeKim042386 self-assigned this Jun 3, 2024
- readAt/deleteAt은 DB 쿼리를 통해 값이 할당되기 때문에 불필요한 setter를 삭제함
- AlarmEvent를 생성하는 메소드를 따로 분리했을 경우 수정할 때 변경되어야하는 코드가 많아지고 유지보수가 힘들어질 것이라 판단하여 다시 병합
- 같은 알람에 대해 여러번 읽음 처리 요청이 들어올 경우 readAt이 요청이 들어올 때마다 update가 되지 않도록 readAt이 null이어야한다는 조건을 추가
@JadeKim042386 JadeKim042386 merged commit 9123b35 into develop Jun 3, 2024
@JadeKim042386 JadeKim042386 deleted the feature/#153-update-alarm-feature branch June 3, 2024 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

알람 기능 수정
1 participant