[D2C-45] 주문/결제 상태 이벤트 로그 발생 로직 구현#23
Merged
jjunier merged 1 commit intoMay 26, 2026
Merged
Conversation
- add safe backend domain event recording helper - record order, payment, coupon, review, cart domain events - keep domain event logging failures from blocking API responses - add server logging for domain event recording failures
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
D2C-45에서는 백엔드에서 실제 도메인 상태 변경이 성공한 뒤
domain_event이벤트 로그를 기록하도록 구현했습니다.본 PR에서는 주문 생성, 결제 성공/실패, 장바구니 생성 및 상품 변경, 쿠폰 적용/사용, 리뷰 생성과 같은 백엔드 도메인 이벤트를
event_logs에 저장하도록 연결합니다. 이를 통해 이후 로그/검증 단계에서 운영계 데이터와 이벤트 로그 간 정합성을 점검할 수 있는 기반을 마련합니다.포함 범위
공통 도메인 이벤트 기록 유틸
event_type = domain_event설정source = backend설정logging.getLogger(__name__)기반 운영 로그 추가주문 도메인 이벤트
order_created이벤트 기록결제 도메인 이벤트
payment_succeeded이벤트 기록payment_failed이벤트 기록cart_checked_out기록coupon_used이벤트 기록쿠폰 도메인 이벤트
coupon_applied이벤트 기록리뷰 도메인 이벤트
review_created이벤트 기록장바구니 도메인 이벤트
cart_created이벤트 기록cart_created이벤트를 기록하지 않도록 처리장바구니 상품 도메인 이벤트
cart_item_added이벤트 기록cart_item_quantity_changed이벤트 기록cart_item_quantity_changed이벤트 기록cart_item_removed이벤트 기록이벤트 기록 실패 처리
logger.exception으로 서버 로그에 기록검증 결과
백엔드 전체 테스트를 실행하여 정상 통과를 확인했습니다.
Pylint를 실행하여 정상 통과를 확인했습니다.
수동 확인 항목:
order_created이벤트 기록 코드 추가 확인payment_succeeded이벤트 기록 코드 추가 확인payment_failed이벤트 기록 코드 추가 확인cart_checked_out이벤트 기록 코드 추가 확인coupon_used이벤트 기록 코드 추가 확인coupon_applied이벤트 기록 코드 추가 확인review_created이벤트 기록 코드 추가 확인cart_created이벤트 기록 코드 추가 확인cart_item_added이벤트 기록 코드 추가 확인cart_item_quantity_changed이벤트 기록 코드 추가 확인cart_item_quantity_changed이벤트 기록 코드 추가 확인cart_item_removed이벤트 기록 코드 추가 확인cart_created이벤트가 기록되지 않도록 구현 확인브랜치 통합 방식
이번 PR의 통합 흐름은 아래와 같습니다.
develop병합 후에는 백엔드 도메인 상태 변경 이벤트 로그 발생 로직이 로그/검증 스프린트에 반영됩니다.향후 브랜치 운영 원칙
로그/검증 단계에서는 아래 브랜치 운영 원칙을 유지합니다.
develop에서 분기develop으로 개별 PR 생성develop을main에 병합main은 배포 기준 브랜치로 유지체크리스트
develop기준으로 분기order_created이벤트 추가payment_succeeded이벤트 추가payment_failed이벤트 추가cart_checked_out이벤트 추가coupon_used이벤트 추가coupon_applied이벤트 추가review_created이벤트 추가cart_created이벤트 추가cart_item_added이벤트 추가cart_item_quantity_changed이벤트 추가cart_item_quantity_changed이벤트 추가cart_item_removed이벤트 추가