feat: 알코올 벌크 등록과 Excel 공통 검증 구현 - #749
Open
Whale0928 wants to merge 7 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Excel 업로드와 직접 만든 JSON 입력이 동일한 검증·벌크 저장 로직을 사용하도록 구현했습니다. 입력 오류는 저장 전에 차단하고, 중복 후보나 카테고리 불일치는 경고로 반환해 운영자가 등록 후 정리할 수 있도록 했습니다.
변경 내용
POST /admin/api/v1/alcohols/bulk/validate,POST /admin/api/v1/alcohols/bulk를 추가했습니다. 요청당 1~1,000행을 처리하며clientRowId로 검증 결과와 생성된alcoholId를 연결합니다.viewUrl을 받습니다. 이미지 활성화 이벤트와 관리자 감사 정보를 유지하고 임시 업로드 URL은 차단합니다.검증
GitHub Actions 실행 #704에서 전체 작업이 성공했습니다.
실패·오류·건너뛴 테스트는 모두 0건이며
./gradlew build -x test --build-cache --parallel도 성공했습니다. 실제로 내려받은 Excel을 검증한 뒤 DB에 저장하는 경로, 직접 JSON 입력 경로, 경고가 있는 데이터 저장, 검증 이후 입력 변경, 트랜잭션 롤백, 인증과 OpenAPI 계약을 테스트했습니다.검증 대상 코드 커밋은
359e058a674df722c6949613e3bd26c56521b6d5입니다. 이후 커밋dcead9e71464a8c196d8fe48ded7ead484bcbc2e는 계획 문서에 검증 결과만 기록했습니다.연동 시 참고 사항
plan/2026.09.05 알코올 벌크 등록.md에 기록했습니다.관련 프론트엔드 연동 이슈: bottle-note/workspace#431