🛠️ 계획된 개발 기능
사용자가 계좌를 연동하고 거래내역 수집이 완료되면, 해당 사용자의 미분류 거래를 즉시 소비 분류합니다.
현재 소비 분류는 정해진 일간 배치 시각에 실행되므로, 신규 사용자가 계좌를 연동한 직후에는 프론트에서 분류 결과를 바로 확인할 수 없습니다.
최초 금융 데이터 수집 직후 사용자 단위 분류를 실행하여 분류 결과가 화면에 바로 반영되도록 개선합니다.
🛠 기능 구현 세부사항
백엔드
- 계좌 연동 및 거래내역 수집이 완료된 시점을 분류 실행 트리거로 사용합니다.
- 사용자 단위 소비 분류 기능을 추가합니다.
- 예:
DailyTransactionClassificationService.runForUser(userId)
- 미분류 거래 조회 시
userId 조건을 적용합니다.
- 해당 사용자의
TXN_ANALYSIS가 없는 분석 대상 거래만 처리합니다.
- 다른 사용자의 거래가 함께 분류되지 않도록 보장합니다.
- 기존 일간 소비 분류 배치는 누락 건을 보완하는 용도로 유지합니다.
- 중복 실행되어도
TXN_ANALYSIS가 중복 생성되지 않도록 멱등성을 보장합니다.
- 분류 실패가 계좌 연동 및 거래 수집 성공 상태에 영향을 주지 않도록 처리합니다.
- 실패 로그 및 재시도 방안을 마련합니다.
프론트엔드
- 계좌 연동 및 거래 수집 완료 후 분류가 진행되는 동안 로딩 상태를 표시합니다.
- 분류 완료 후 소비 내역을 다시 조회하여 화면에 반영합니다.
- 분류 실패 시 사용자에게 오류 메시지와 재시도 수단을 제공합니다.
- 처리 중 중복 요청이 발생하지 않도록 버튼 또는 요청 상태를 제어합니다.
🛠 참고사항
회원가입 직후에는 ACCOUNT_TRANSACTION 데이터가 없을 수 있으므로, 회원가입 완료가 아닌 계좌 연동 및 거래내역 수집 완료 시점을 실행 기준으로 사용합니다.
현재 일간 소비 분류 서비스는 날짜나 사용자 조건 없이 TXN_ANALYSIS가 없는 모든 거래를 처리합니다. 사용자 단위 실행에서는 반드시 대상 사용자의 거래로 조회 범위를 제한해야 합니다.
분류 처리 시간이 길어질 수 있으므로 계좌 연동 요청을 장시간 블로킹하기보다는 비동기 실행과 처리 상태 조회 방식을 검토합니다.
📝 check-lists
🛠️ 계획된 개발 기능
사용자가 계좌를 연동하고 거래내역 수집이 완료되면, 해당 사용자의 미분류 거래를 즉시 소비 분류합니다.
현재 소비 분류는 정해진 일간 배치 시각에 실행되므로, 신규 사용자가 계좌를 연동한 직후에는 프론트에서 분류 결과를 바로 확인할 수 없습니다.
최초 금융 데이터 수집 직후 사용자 단위 분류를 실행하여 분류 결과가 화면에 바로 반영되도록 개선합니다.
🛠 기능 구현 세부사항
백엔드
DailyTransactionClassificationService.runForUser(userId)userId조건을 적용합니다.TXN_ANALYSIS가 없는 분석 대상 거래만 처리합니다.TXN_ANALYSIS가 중복 생성되지 않도록 멱등성을 보장합니다.프론트엔드
거래내역을 분석하고 있습니다.🛠 참고사항
회원가입 직후에는
ACCOUNT_TRANSACTION데이터가 없을 수 있으므로, 회원가입 완료가 아닌 계좌 연동 및 거래내역 수집 완료 시점을 실행 기준으로 사용합니다.현재 일간 소비 분류 서비스는 날짜나 사용자 조건 없이
TXN_ANALYSIS가 없는 모든 거래를 처리합니다. 사용자 단위 실행에서는 반드시 대상 사용자의 거래로 조회 범위를 제한해야 합니다.분류 처리 시간이 길어질 수 있으므로 계좌 연동 요청을 장시간 블로킹하기보다는 비동기 실행과 처리 상태 조회 방식을 검토합니다.
📝 check-lists