Skip to content

[ Feature ] - account-service 가상회원 계좌 구성을 적금+대출 동시 보유로 변경 #201

Description

@KSBoscoKim

목표

  • 현재 가상회원은 수시입출금계좌 1개 + 보조계좌 1개(사용자 절반은 적금, 절반은 대출)로 총 2개 계좌만 갖는다. 이를 모든 가상회원이 수시입출금 + 적금 + 대출 3개 계좌를 동시에 갖도록 바꾼다.
  • 계좌 종류가 배타적이던 전제를 없애 프론트/QA가 한 명의 가상회원으로도 적금·대출 화면을 모두 테스트할 수 있게 한다.

작업 내용

  • VirtualFinancialDataService: buildSecondaryAccountuserOrdinal <= totalUsers/2 분기(적금 XOR 대출)를 제거하고, 모든 사용자에게 적금계좌·대출계좌를 각각 생성하는 buildInstallmentAccount/buildLoanAccount로 분리한다. 계좌번호 순번(accountOrdinal)을 2(적금)/3(대출)로 배정한다.
  • VirtualFinancialTransactionGenerator: (ordinaryAccount, secondaryAccount) 페어 기반 시그니처를 (ordinaryAccount, installmentAccount, loanAccount) 트리플로 재설계한다. 수시입출금 → 보조계좌 이체 1건/월이던 것을 적금 납입 1건 + 대출 상환 1건, 총 2건/월로 바꾼다.
  • 거래 건수 검증 상수·범위(TRANSACTIONS_PER_USER_PER_MONTH 기준 최소/최대 검증식)를 3계좌 기준으로 재계산한다.
  • generateForUser(Long userId, PersonalBank bank)(로그인 사용자 단건 재생성 경로)도 동일하게 3계좌 생성으로 맞춘다.
  • VirtualFinancialTransactionGeneratorTest(약 20개), VirtualFinancialDataServiceTest, VirtualFinancialDataManualVerificationTest, VirtualAccountRegenerationManualVerificationTest의 계좌 수·거래 건수 관련 단정문을 새 수치로 갱신한다.

완료 기준

  • generate()/generateForUser() 실행 후 모든 가상회원이 DEPOSIT_TRUST(수시입출금), DEPOSIT_TRUST(적금, deposit_type_code=12), LOAN 3개 계좌를 각각 보유한다.
  • 재실행해도 계좌 3개·거래 건수가 그대로 유지된다(기존 멱등성 유지).
  • 로컬 Docker MySQL에서 RUN_VIRTUAL_FINANCIAL_DATA_TEST=true 수동 검증 통과, 계좌 수가 사용자수×3임을 확인.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions