SpringBoot

BeanPay Detail 삭제 이유

코카멍멍 2024. 6. 3. 01:16
반응형

변경 전 테이블 구조

BeanPayDetail 역할

BeanPayDetail의 역할은 기존의 빈페이의 변경 내역에 관한 정보를 담고 있었습니다.
총 4가지의 역할을 갖고 상태값을 통해 나누어서 사용했습니다.

  1. 충전
  2. 지출
  3. 입금
  4. 출금

PaymentDetail 역할

PaymentDetail 역할은 세부 결제 내역 정보를 담고 있으며 PaymentStatus로 상태값을 나누어 관리합니다.

  1. 결제
  2. 환불

중복된 컬럼

변경 이유

  • PaymentDetail과 BeanPayDetail의 진행 상태인 ProcessStatus 값이 중복되어 사용됐습니다.
  • BeanPayDetail의 추가적인 Row를 생산하지 않을 수 있습니다.
  • 로직이 하나의 Depth가 줄어들고 유지보수성이 높아졌습니다.
  • 기존의 복잡했던 연관관계가 줄어들었습니다

 

BeanPayDetail은 BeanPay의 증감을 보여주는 역할을 했는데 이는 PaymentDetail로 통합해도 좋다고 생각했습니다.

변경 후 테이블 구조

기존의 BeanPayDetail 테이블을 제거하고 PaymentDetail로 통합했으며 충전할 때 토스 API에서 전달해 주는 값을 저장하는 컬럼을 ChargeInfo 테이블로 분리했습니다.

반응형