Skip to content

refactor: ShinhanXlsxParser에서 xlsx 시트 읽기를 XlsxSheetReader로 나눈다 - #163

Merged
ff1451 merged 11 commits into
mainfrom
refactor/shinhan-parser-split
Oct 18, 2026
Merged

ff1451 merged 11 commits into
mainfrom
refactor/shinhan-parser-split

Conversation

@ff1451

@ff1451 ff1451 commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

요약

ShinhanXlsxParser(422줄)를 두 클래스로 나눴습니다.

클래스 책임
XlsxSheetReader (새로 추가, package-private) zip 풀기(XlsxZipGuard) → workbook.rels로 첫 시트 찾기 → sharedStrings → 행 목록. XXE 차단, 행 수·셀 길이 한도
ShinhanXlsxParser (211줄) 헤더 찾기, 거래 변환, 금액·일시 규칙, 상대 정규화
  • 오류 메시지, 검사 순서, 한도 값(MAX_SHEET_ROWS 등)은 그대로입니다. 공개 API(parse, normalizeCounterparty, ParsedTransaction)도 바뀌지 않습니다.
  • headerColumns와 missingColumns에 같은 헤더 매칭 코드가 두 번 있던 것을 matchedColumns 하나로 합쳤습니다.

머지 순서

#148~#157 머지 후 main으로 rebase하고 ready로 바꿉니다. 이 PR의 변경은 마지막 커밋 하나입니다. 다른 리팩토링 PR과 파일이 겹치지 않습니다.

검증

  • 로컬: ShinhanXlsxParserTest 30개 통과(XXE, 압축 해제 한도, 형식 변형, 비정상 파일, rowKey, 같은 초 순서). ShinhanXlsxAcceptanceTest는 실제 은행 파일이 있어야 돌아서 원래부터 건너뜁니다.
  • 전체 테스트: CI

ff1451 added 10 commits October 18, 2026 21:52
…into chore/merge-train

# Conflicts:
#	src/main/java/com/bcsdlab/bcsdinternalapiv2/curriculum/service/AdminCurriculumService.java
zip → 첫 시트 경로 → sharedStrings → 행 목록까지(OOXML 읽기)를 XlsxSheetReader로 옮기고,
ShinhanXlsxParser에는 헤더 찾기·거래 변환·금액 규칙(신한 형식 해석)만 남긴다.
오류 메시지, 검사 순서, 한도 값은 그대로다.
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 7 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 556210d3-363f-40bb-ba19-8708f709e13f
📥 Commits

Reviewing files that changed from the base of the PR and between dd4c3d0 and 4100489.

📒 Files selected for processing: 2
  • src/main/java/com/bcsdlab/bcsdinternalapiv2/ledger/service/ShinhanXlsxParser.java
  • src/main/java/com/bcsdlab/bcsdinternalapiv2/ledger/service/XlsxSheetReader.java
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ff1451
ff1451 marked this pull request as ready for review October 18, 2026 13:39
@ff1451
ff1451 merged commit 42358fe into main Oct 18, 2026
3 checks passed
@ff1451
ff1451 deleted the refactor/shinhan-parser-split branch October 18, 2026 14:01
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.

1 participant