개발 slecs

결제 알림 채널별 발송

목차

feat: Pay 알림 헬퍼 클래스 추가

알림 시스템 구현 작업임. 거래 이벤트마다 적절한 채널로 알림을 발송하는 구조를 잡았음.

알림 채널

채널 용도 특징
앱 PUSH 실시간 거래 알림 FCM 사용
SMS 중요 인증/보안 비용 발생
이메일 정산/명세서 첨부파일 가능
인앱 알림 서비스 공지 로그인 후 확인

PayNotificationHelper

public class PayNotificationHelper {

    public void notifyCharge(Member member, long amount) {
        String msg = String.format("[입금] %s원 입금", NumberFormat.format(amount));
        pushUtil.send(member.getFcmToken(), msg);
        notificationUtil.save(member.getSn(), "CHARGE", msg);
    }
}

알림 발송 실패 처리

PUSH 발송 실패 시 인앱 알림으로 폴백. 이메일 실패 시 재시도 큐에 넣음. 알림 이력은 30일 보관함.

개발 원칙 정리

이 작업을 진행하면서 재확인한 원칙들:

작은 커밋: 변경 단위를 작게 유지해서 코드 리뷰와 롤백이 쉽게.

테스트 먼저: 변경 전 현재 동작을 파악하고, 변경 후 동일하게 동작하는지 확인.

문서 동기화: 코드가 바뀌면 관련 주석과 문서도 같이 업데이트.

원칙 이유
단일 책임 하나의 함수/클래스는 하나의 역할만
명시적 코드 영리한 코드보다 읽기 쉬운 코드
실패 우선 처리 happy path보다 에러 케이스 먼저 설계

댓글 0

첫 댓글 달아줘.