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

Feature/tony/payment/payment crd #89

Merged
merged 79 commits into from
Oct 11, 2023
Merged

Conversation

TonyKim9401
Copy link
Contributor

해결하려는 문제가 무엇인가요?

  • 나눠서 해야 했는데 타이밍을 놓쳐서.. 이 다음 기능 구현 부터는 말씀나눈 CRUD에 맞춰서 올리도록 하겠습니다 ㅜ

어떻게 해결했나요?

계좌 / 카드 등록 기능 구현

#### 성공 케이스
    - `사용자가 은행을 선택하여 계좌 결제 정보를 등록한다`
    - `사용자가 카드를 결제 정보로 등록한다`
    - `계좌 정보 인증에 성공한다`
    - `카드 정보 인증에 성공한다`
    - `사용자가 등록한 계좌 정보를 조회한다`
    - `사용자가 등록한 카드 정보를 조회한다`
    - `사용자가 등록한 결제 수단을 모두 조회한다(기본 결제 수단은 마지막 등록)`
    - `사용자가 등록한 계좌 정보를 삭제한다`
    - `사용자가 등록한 카드 정보를 삭제한다`
    - `사용자가 등록한 결제 수단을 모두 삭제한다`
    - `(계좌, 계좌)사용자가 기존 기본 결제 정보가 있지만, 새로 기본 결제 정보를 저장 하려고 하면, 새로 등록되는 계좌가 기본 결제 정보로 등록된다`
    - `(카드, 계좌)사용자가 기존 기본 결제 정보가 있지만, 새로 기본 결제 정보를 저장 하려고 하면, 새로 등록되는 계좌가 기본 결제 정보로 등록된다`
    - `(카드, 카드)사용자가 기존 기본 결제 정보가 있지만, 새로 기본 결제 정보를 저장 하려고 하면, 새로 등록되는 계좌가 기본 결제 정보로 등록된다`
    - `사용자가 등록하려는 카드의 유효기간이 지금보다 많이 남았다`

#### 실패 케이스
    - `인증되지 않은 계좌는 등록할 수 없다`
    - `인증되지 않은 카드는 등록할 수 없다`
    - `카드 정보 인증에 실패한다`
    - `계좌 정보 인증에 실패한다`
    - `사용자가 기등록한 계좌 정보면 등록 할 수 없다`
    - `사용자가 기등록한 카드 정보면 등록 할 수 없다`
    - `사용자가 새로 기본 결제 정보를 저장하려는데, 기존 기본 정보가 그대로 남아있다면 저장할 수 없다`
    - `사용자가 등록하려는 카드의 유효기간이 지금보다 적게 남았다`
#### 구현이 필요한 케이스
    - 카드 등록 요청시 카드 번호 / cvv 등 기본 정보의 형식이 제대로 넘어 왔는지 검증 필요

Attachment

jiseongTak and others added 23 commits September 27, 2023 20:26
# Conflicts:
#	src/main/kotlin/com/hh2/katj/util/model/BaseEntity.kt
#	src/main/kotlin/com/hh2/katj/util/model/RoadAddress.kt
즐겨찾기때와 마찬가지로 toResponseDto로 이름 통일
은행 계좌 / 카드 유효성 인증 외부 API 사용 대비 추가
외부 API 구현 후 리턴값 변경 필요
은행 계좌 / 카드 등록, 조회, 삭제 기능 추가
DB에서 결제수단 관련 직접 조회를 담당하는 Reader Component 추가
DB에서 결제수단 관련 등록, 삭제 및 다른 Component간의 연관을 담당하는 Reader Component 추가
등록, 조회, 삭제 기능 수행 중 발생할 수 있는 경우에 대해 TDD 기반 작성
TDD로 구축한 Service를 처리하는 Controller 생성
@github-actions
Copy link

github-actions bot commented Oct 10, 2023

Test Results

38 tests   32 ✔️  1m 11s ⏱️
  6 suites    2 💤
  6 files      4

For more details on these failures, see this check.

Results for commit e91d395.

♻️ This comment has been updated with latest results.

택시기사의 [운행완료]시 사용자가 trip의 fare를 조회하여 유효한 결제 수단으로 결제를 진행후 trip 테이블의 상태를 바꾼다.
DB 조회시 원하는 데이터를 찾지 못하면 사용하는 예외 클래스
같은 로직이 겹쳐져있어 리팩토링
카드 등록시 입력 정보의 검사를 DTO에 추가
기존 JoinColumn으로 인해 자동 FK 관계 해제
trip과 userId로 조회 메서드 추가
운행 완료후 결제를 요청하면 결제가 완료 될 수 있도록 상태코드 추가
ENUM 값을 사용하도록 수정
DB에 해당 유저 존재 확인 후 유저 상태가 ACTIVE인지 한번 확인 후 반환
TDD 기반으로 작성한 PaymentMethodService의 EndPoint 작성
테스트케이스 : 사용자가 등록한 카드 정보를 조회한다
@disabled 해제
gradle clean -> build 후 다시 push
…' into feature/tony/payment/payment-CRD

# Conflicts:
#	src/main/kotlin/com/hh2/katj/payment/model/dto/request/RequestAddCard.kt
#	src/test/kotlin/com/hh2/katj/payment/service/PaymentMethodServiceTest.kt
…' into feature/tony/payment/payment-CRD

# Conflicts:
#	src/main/kotlin/com/hh2/katj/payment/model/dto/request/RequestAddCard.kt
@TonyKim9401 TonyKim9401 merged commit 446b6cb into dev Oct 11, 2023
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants