데이터 모델 + API 계약 · 기획문서/프로토타입 v13 + QA 어드민 실측 구조 기반 · 개발 착수용
0. 범위·전제
📦 이 문서는 「상품 등록」(퍼즈3) 기술명세입니다. 「단가·품절 업데이트」(퍼즈2)는 별도 문서 → 단가 기획 · 단가 프로토타입.
구현 성격: 신규 구축이 아니라 기존 어드민 위에 얇은 워크플로우 레이어. 상품·권한·매칭 화면/로직은 대부분 이미 존재. 새로 만드는 핵심은 ① 로그인 공급사 스코프 ② 제출 → MD 검수 큐 ③ 메뉴. 코어 구조는 기존과 동일.
이 명세 = 공급사 셀프 상품 등록 + MD 검수 + 상품 정보 변경의 워크플로우 레이어(퍼즈3). 기존 상품·히어로코드·공급사 테이블 참조/연동.
탑재 위치 = 공급사 상품 관리 어드민(qa-admin 뒤의 운영 어드민). ※ orderhero-ai-v2/backend(사장님 AI)는 별개 시스템.
퍼즈 구성: 단가·품절 업데이트 = 퍼즈2(별도). 이 문서 = 상품 등록·정보 변경(퍼즈3).
핵심 원칙: 공급사 제출/변경은 전부 초안·요청 상태 → MD 검수 후 반영(자동 반영 없음). 모든 처리는 감사 로그.
1. 데이터 모델
신규 테이블 5개(워크플로우) + 기존 테이블 참조. 컬럼명은 예시(실 DB 컨벤션에 맞춰 조정).
주의: 아래 테이블·컬럼은 기획 단계 제안(참고용)이다. 상품·단가 관련은 이미 운영 DB에 스키마가 존재하므로, 실제 구현은 운영 DB 스키마를 쿼리해 확정하고 여기서는 대기 큐(change_request·price_batch)·감사(audit_log) 레이어만 새로 얹는다.
1.1 submission — 제출 건(batch)
컬럼
타입
설명
id
PK
supplier_id
FK supplier
제출 공급사
type
enum
single / excel
file_name
varchar null
엑셀 원본 파일명(+스토리지 경로)
status
enum(파생)
pending / partial / done / rejected (item 집계)
created_at, created_by
ts, FK user
1.2 submission_item — 등록 상품(신규/매칭)
컬럼
타입
설명
id
PK
submission_id
FK
status
enum
draft / pending / approved / rejected / hold
name, supplier_product_name
varchar
표시 상품명 / 공급사 상품명
supplier_product_code
varchar
공급사 내부코드(공급사간 키 불가)
category_l/m/s
varchar
대/중/소
weight, qty, origin, manufacturer, brand
varchar
중량·수량·원산지·제조사·브랜드
taxable, store, delivery_type
enum
과세여부 / 보관(상온·냉장·냉동) / 배송유형(MFC·택배·허브)
price, net_price, discount_base
int
단가 / net공급가 / 할인기준가
hero_code
varchar null
매칭/발급된 히어로코드 (MD 확정 전 null 가능)
candidates
json
매칭 후보 [{hero_code, name, score}]
images
json
{main, sub1, sub2} URL
warns
json
["대표 이미지 없음","중량 단위 모호" …]
reject_reason
varchar null
linked_product_id
FK product null
승인 시 생성/연결된 실제 상품
created_at, decided_at, decided_by
1.3 change_request — 상품 정보 변경 요청 핵심
컬럼
타입
설명
id
PK
product_id
FK product
대상(승인완료) 상품
supplier_id
FK
source
enum
single (정보 변경은 단건)
diff
json
[{field, label, from, to}] — 변경된 정보 필드만(name·category·weight·origin·supplier_product_name·opt …). 단가·재고·품절은 퍼즈2
단가·품절 변경(승인 큐·예약·엑셀 배치·변경률 경고)은 퍼즈2 별도 문서 — 단가 업데이트 기획 참조. 관련 실 테이블: seller_price_schedule_manage·seller_product_price_excel_raw·seller_product_price_reservation_history.
1.5 audit_log — 감사 로그
컬럼
타입
설명
id, at
PK, ts
entity_type, entity_id
varchar
submission_item / change_request / price_batch
actor, action
varchar
supplier|md · 제출/컨펌/반려/보류/수정후승인 …
before, after
json
필드 단위 전/후
1.6 기존 테이블 (참조·연동)
product(공급사 상품) — 승인 시 submission_item → product 생성/연결. 단가·재고·품절·이미지는 change_request 컨펌 시 갱신.