➕ 기능 추가
무엇 — 공급사 상품 편집 화면 이미지 칸에서 파일 선택 클릭으로 여러 장을 한 번에 올리고, 등록 시 정사각 캔버스에 여백(패딩)을 강제해 원본 비율을 유지한다.📍 위치: 상품관리 › 공급사 상품 관리 › 편집
핵심 결정
착수 상태
🟢 바로 착수 (편집 화면 이미지 칸 개선)
업로드 방식
기존 드래그앤드롭 유지 + 파일 선택 클릭 추가, 여러 장 동시 선택 허용
정방형 처리
등록 시 정사각 캔버스에 패딩, 원본 비율 유지·크롭/확대 없음, 여백색 흰색(#FFFFFF, 가정)
부분 실패 처리
실패한 장만 사유 표시, 나머지는 그대로 성공 저장
저장 위치
seller_product_image (hero_product_code + grade 순서로 적재)
01화면 — 먼저 보기
이 티켓이 실제로 어떤 화면이 되는지 먼저 봅니다
현재는 드래그앤드롭만 되고 지정 구역 밖에 놓으면 등록이 실패한다 → 파일 선택 버튼 + 다중 업로드를 추가하고, 여백 없는 이미지가 가로에 맞춰 확대되던 문제는 정사각 여백 패딩으로 해결한다.
현행 화면 · 실제 캡처현행 「상품 수정」 — 이미지 일괄 업로드 대상
변경안 · 제안 화면
◆ OrderHero 어드민🔍 통합검색관리자 ▾
📊 대시보드
📦 상품관리
🧾 주문관리
🏬 재고관리
🎯 프로모션
💳 정산
⚙️ 설정
상품관리 › 공급사 상품 관리 › 편집기능 추가
파일 선택드래그앤드롭 영역여백색 흰색 ▾🔍 파일명 검색
▲ 편집 › 이미지 패널 — 바뀌는 컬럼은 🆕 로 표시(예시 데이터)
1편집 화면 진입 — 공급사 상품 관리 목록에서 상품 「편집」을 열고 이미지 칸으로 이동한다. 칸 어디를 클릭해도 파일 선택 대화상자가 열린다.
2여러 장 선택 — 파일 선택에서 jpg/png 등 여러 장을 한 번에 고른다. 기존 드래그앤드롭도 그대로 사용 가능하다.
3검증 & 정방형 패딩 — 형식·용량·크기·최대 장수를 검증하고, 통과한 이미지는 원본 비율 유지한 채 정사각 캔버스에 여백을 채워 규격화한다.
4부분 실패 표시 — 위반한 장만 파일명과 사유를 붉게 표시하고, 나머지 성공 장은 빈 grade부터 순차 배정해 즉시 목록에 반영한다.
5순서 조정 & 저장 — 필요 시 이미지 순서(grade)를 드래그로 조정하고 저장하면 seller_product_image 에 반영, 배치 결과가 이력에 기록된다.
seller_product_image WRITE
idPK bigint
hero_product_codeFK varchar(50)
imagevarchar(255)
pathvarchar(255)
gradeinteger
square_paddedboolean
pad_colorvarchar(7)
orig_file_namevarchar(255)
byte_sizeinteger
del_flagboolean
reg_idvarchar(20)
created_attimestamp
공급사 상품 이미지. 이번 기능의 저장 대상. 정방형 처리·원본 메타 컬럼을 추가한다.
seller_product READ
hero_product_codePK varchar(50)
main_product_namevarchar
seller_product_codevarchar
공급사 상품 마스터. 편집 화면의 대상 상품·히어로코드 앵커.
seller_product_image_upload_log 신규
idPK bigint
hero_product_codeFK varchar(50)
total_countinteger
success_countinteger
fail_countinteger
fail_detailjsonb
reg_idvarchar(20)
created_attimestamp
신규: 일괄 업로드 배치 결과 이력(성공/실패 건수·사유). 감사·재현용.
seller_product.hero_product_code 1 : N seller_product_image.hero_product_code
seller_product.hero_product_code 1 : N seller_product_image_upload_log.hero_product_code
-- 1) 기존 이미지 테이블에 정방형 처리·원본 메타 컬럼 추가\nALTER TABLE public.seller_product_image\n ADD COLUMN square_padded boolean NOT NULL DEFAULT false, -- 정방형 여백(패딩) 적용 여부\n ADD COLUMN pad_color varchar(7) DEFAULT '#FFFFFF', -- 여백색 HEX (기본 흰색, 가정)\n ADD COLUMN orig_file_name varchar(255), -- 업로드 원본 파일명\n ADD COLUMN byte_size integer; -- 원본 용량(byte)\n\nCOMMENT ON COLUMN public.seller_product_image.square_padded IS '등록 시 정사각 캔버스 여백 패딩 적용 여부';\nCOMMENT ON COLUMN public.seller_product_image.pad_color IS '정방형 여백색(HEX), 기본 #FFFFFF';\nCOMMENT ON COLUMN public.seller_product_image.orig_file_name IS '업로드 원본 파일명';\nCOMMENT ON COLUMN public.seller_product_image.byte_size IS '원본 파일 용량(byte)';\n\n-- 2) 일괄 업로드 배치 결과 이력 (부분 실패 감사·재현용)\nCREATE TABLE public.seller_product_image_upload_log (\n id bigserial PRIMARY KEY, -- 배치 로그 PK\n hero_product_code varchar(50) NOT NULL, -- 대상 상품 히어로코드\n total_count integer NOT NULL, -- 업로드 시도 총 장수\n success_count integer NOT NULL DEFAULT 0, -- 성공 장수\n fail_count integer NOT NULL DEFAULT 0, -- 실패 장수\n fail_detail jsonb, -- 실패 장 [{file_name, reason}] 배열\n reg_id varchar(20) NOT NULL, -- 업로드 관리자 ID\n created_at timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'Asia/Seoul')\n);\nCOMMENT ON TABLE public.seller_product_image_upload_log IS '공급사 상품 이미지 일괄 업로드 배치 결과 이력';\nCREATE INDEX seller_product_image_upload_log_hpc_idx\n ON public.seller_product_image_upload_log (hero_product_code);
04화면 상세 — 세부 표·규칙
목록 외 품목표·모달·규칙 등 세부 화면
파일 선택 다중 업로드 결과 모달
총 3장 중 2장 성공·1장 실패. 실패 장만 사유 표기, 성공 장은 확인 시 저장. 정방형 후 컬럼으로 여백 결과 미리보기 제공.
업로드 제한 규칙표
가정값은 정책 확정 시 수정. 여백색 기본 #FFFFFF(가정), 원본 비율 유지 확정.