반응형
변경 전 테이블 구조
BeanPayDetail 역할
BeanPayDetail의 역할은 기존의 빈페이의 변경 내역에 관한 정보를 담고 있었습니다.
총 4가지의 역할을 갖고 상태값을 통해 나누어서 사용했습니다.
- 충전
- 지출
- 입금
- 출금
PaymentDetail 역할
PaymentDetail 역할은 세부 결제 내역 정보를 담고 있으며 PaymentStatus로 상태값을 나누어 관리합니다.
- 결제
- 환불
중복된 컬럼

변경 이유
- PaymentDetail과 BeanPayDetail의 진행 상태인 ProcessStatus 값이 중복되어 사용됐습니다.
- BeanPayDetail의 추가적인 Row를 생산하지 않을 수 있습니다.
- 로직이 하나의 Depth가 줄어들고 유지보수성이 높아졌습니다.
- 기존의 복잡했던 연관관계가 줄어들었습니다
BeanPayDetail은 BeanPay의 증감을 보여주는 역할을 했는데 이는 PaymentDetail로 통합해도 좋다고 생각했습니다.
변경 후 테이블 구조
기존의 BeanPayDetail 테이블을 제거하고 PaymentDetail로 통합했으며 충전할 때 토스 API에서 전달해 주는 값을 저장하는 컬럼을 ChargeInfo 테이블로 분리했습니다.
반응형
'SpringBoot' 카테고리의 다른 글
[SpringBoot] ThreadLocal을 활용한 인증관리 (0) | 2024.06.20 |
---|---|
[SpringBoot] In-Memory 환경 Memory Leak (0) | 2024.06.20 |
락 선택 이유와 성능 테스트 (0) | 2024.04.30 |
코리아노 BeanPay 고민 (0) | 2024.04.17 |
[SpringBoot] Spring Batch 이용권 만료 (0) | 2023.12.17 |