Skip to content

[REFACTOR] 소매 엑셀 업로드 파싱 책임 분리 #184

@JoonKyoLee

Description

@JoonKyoLee

🔁 리팩토링이 필요한 부분

  • processRetailExcel 메서드에 엑셀 구조 해석, 셀 파싱, 도메인 입력 검증 로직이 모두 포함되어 있습니다.
  • Row 단위 파싱 규칙이 서비스 로직과 강하게 결합되어 있기 때문에 엑셀 양식 변경 시에 수정 범위가 큽니다.
  • row index, 원본 값 등 메타 정보가 분리되지 않아 실패 및 스킵 처리 확장이 어렵습니다.

🧱 작업 내용

  • Excel Row 파싱 전용 컴포넌트 분리
  • 업로드 입력용 DTO 도입(RetailExcelRowDto: rowIndex, code, productName, quantity, actualSales)
  • 헤더 스킵, 빈 row 처리, 기본 유효성 검증 로직을 파서 레벨로 이동
  • Service에서는 파싱된 Row 목록을 받아 도메인 처리만 담당하도록 역할 축소

⚠️ 유의 사항 (선택)

  • 현재 엑셀 컬럼 순서/의미(No, 코드, 상품명, 수량, 실매출)는 그대로 유지
  • 기존 스킵 정책(코드 없음, 수량 0 이하 등)은 동작 변경 없이 유지

📌 참고 자료

관련 PR(#155, #162)

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions