❗ROLE NAME 정하기 ❗어느 허브소속인지? 어느 업체 소속인지? 구분할 수 있는 필드가 필요 ⇒ 테이블 생성
허브 대기중, 허브 이동중, 목적지 허브 도착, 배송중
생산업체 - 업체 담당 - 허브(수령업체) - 배송중 - 사용자
허브 이동 담당자 or 업체 배송 담당자
공통 허브 이동 담당자와 업체 배송 담당자로 나뉘며, 두 타입 간의 업무는 명확히 구분됩니다.
서울 (생산업체) - 부산 (수령업체) → 배송중 (배달 출발)
서울 - 허브 - 허브 - 허브 - 부산
업체 배송 담당자 - 업체 ↔ 허브 허브 대기중
허브 배송 담당자 - 허브 ↔ 허브 허브 이동중
발제를 보면 허브간 이동 정보는 출발 허브ID 와 도착 허브ID가 있음
그럼 업체간 이동 정보는 업체에서 업체 관리 허브 ID로 이동 그 시점부터 출발 허브 도착 허브가 되는 것
생산 업체를 생성하면서 관리 허브도 등록을 함 → 상품을 생산하고 주문이 들어오면 → 관리 허브로 보냄(이걸 업체 배송 담당자가 하는거 아님?) → 관리 허브에서 수령 업체 허브까지 허브간 이동을 함 그 정보를 출발,도착 허브 ID로 경로를 나타냄 → 마지막(목적지 허브)허브에서 수령 업체까지 이동 수령 업체도 생성할 때 관리 허브를 등록 이게 큰그림
생산업체 → 업체 담당자 → 소속된 허브(출발허브) → 허브(경기북부) → 허브(경기남부) → 업체 담당자 → 수령업체
회원 테이블 (p_users)
필드 이름 | 데이터 타입 | 설명 | 비고 | |
---|---|---|---|---|
id | BIGINT | 회원 ID | PK | |
username | VARCHAR(100) | 회원 아이디 | NOT NULL | |
password | VARCHAR(255) | 회원 비밀번호 | NOT NULL | |
role | ENUM | 회원 역할 | NOT NULL | 마스터 관리자, 허브 관리자, 허브 업체 관리자, 배송 담당자 |
MASTER_MANGER, HUB_MANAGER, COMPANY_MANAGER, SHIPPER | ||||
slack_id | VARCHAR(100) | 슬랙 아이디 | ||
(알림용) | NOT NULL | |||
is_delete | BOOLEAN | 삭제 여부 | NOT NULL | |
created_at | DATETIME | 레코드 생성 시간 | NOT NULL | |
created_by | VARCHAR(100) | 레코드 생성자 | NOT NULL | |
updated_at | DATETIME | 레코드 수정 시간 | NULL | |
updated_by | VARCHAR(100) | 레코드 수정자 | NULL | |
deleted_at | DATETIME | 레코드 삭제 시간 | NULL | |
deleted_by | VARCHAR(100) | 레코드 삭제자 | NULL |
업체 테이블 (p_company)
필드 이름 | 데이터 타입 | 설명 | 비고 | |
---|---|---|---|---|
id | UUID | 업체 ID | PK | |
hub_id | UUID | 업체 관리 허브 ID | FK | 특정 허브에 소속 |
name | VARCHAR(100) | 업체 이름 | NOT NULL | |
type | ENUM | 업체 타입 | NOT NULL | 생산업체/수령업체 |
PRODUCTION_COMPANY | ||||
RECEIPT_COMPANY | ||||
address | VARCHAR(255) | 업체 주소 | NOT NULL | |
is_delete | BOOLEAN | 삭제 여부 | NOT NULL | |
created_at | DATETIME | 레코드 생성 시간 | NOT NULL | |
created_by | VARCHAR(100) | 레코드 생성자 | NOT NULL | |
updated_at | DATETIME | 레코드 수정 시간 | NULL | |
updated_by | VARCHAR(100) | 레코드 수정자 | NULL | |
deleted_at | DATETIME | 레코드 삭제 시간 | NULL | |
deleted_by | VARCHAR(100)UUID | 레코드 삭제자 | NULL |