사용자 테이블(p_users)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | PK, AI |
user_id | VARCHAR(10) | 사용자 ID, Primary Key / 최소 4자 이상 10자 이하의 알파벳 소문자(a~z)와 숫자(0~9)로 구성 |
user_name | VARCHAR(20) | 사용자 이름 |
password | VARCHAR(15) | 사용자 비밀번호 / 최소 8자 이상 15자 이하의 알파벳 대소문자(a~z, A~Z)와 숫자(0~9), 특수문자로 구성 |
phone_number | VARCHAR(13) | 사용자 전화번호 |
user_role | ENUM | 사용자 역할(SHIPPER, HUB_ADMIN, COMPANY, MASTER) |
is_delete | boolean | 삭제 여부 Column |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
허브 테이블(p_hubs)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | Primary Key |
hub_name | VARCHAR(100) | 허브 이름 |
address | String | 허브 주소 |
latitude | Double | 허브 주소 위치 위도 |
longitude | Double | 허브 주소 위치 경도 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
허브 이동 정보 테이블(p_hub_movement_infos)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | 허브 이동 정보 테이블 ID |
start_hub | Long | 출발 허브 ID |
end_hub | Long | 도착 허브 ID |
estimated_time | Time | 예상 소요 시간 |
estimated_distance | Double | 예상 소요 거리 |
is_delete | boolean | 삭제 여부 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
배송 담당자 테이블(p_delivery_managers)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | Primary Key |
user_id | Long | User_id |
hub_id | Long | Hub id (허브 이동 담당자 : 임의로 0 삽입) |
slack_id | String | slack Id |
manager_type | ENUM | 허브 이동 담당자, 업체 배송 담당자 |
is_delete | is_delete | 삭제 여부 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
업체 테이블(p_companies)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | Primary Key |
hub_id | Long | 업체를 담당하고 있는 Hub_id ( 현재 1:1 매칭 담당 가정 ) |
name | String | 업체명 |
type | ENUM | 공급 업체, 수령 업체 |
address | String | 업체 주소 |
is_delete | is_delete | 삭제 여부 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
상품 테이블(p_products)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | PK, AI |
company_id | Long | 업체 ID, FK |
hub_id | Long | 허브 ID, FK |
product_name | VARCHAR(100) | 상품 명 |
quantity | INTEGER | 상품 수량 |
is_delete | Boolean | 삭제 여부 Column |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
주문 테이블(p_orders)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | PK, AI |
supply_company_id | Long | 공급업체 ID, FK |
demand_company_id | Long | 수령업체 ID, FK |
product_id | Long | 상품 ID, FK |
amount | INTEGER | 주문 수량 |
delivery_id | Long | 주문 ID, FK |
is_delete | Boolean | 삭제 여부 Column |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
배송 테이블(p_deliveries)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | 배송 ID |
order_id | Long | 주문 ID |
delivery_status | ENUM | 현재상태(허브 대기중, 허브 이동중, 목적지 허브 도착, 배송중 등) |
start_hub | Long | 시작 허브 ID |
end_hub | Long | 도착 허브 ID |
address | String | 배송지 주소 |
recipient | String | 수령인 |
recipient_slack | String | 수령인 slack ID |
is_delete | boolean | 삭제 여부 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
배송 경로 기록 테이블(p_delivery_routes)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | 배송 경로 기록 ID |
delivery_id | Long | 배송 ID |
hub_movement_info | Long | 허브 이동경로 ID |
sequence | Long | 배송 순서 |
distance | Double | 실제 걸린 거리 |
duration_time | Time | 실제 걸린 시간 |
route_status | ENUM | 현재상태(허브 대기중, 허브 이동중, 목적지 허브 도착, 배송중 등) |
is_delete | boolean | 삭제여부 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |
슬랙 메시지 테이블(p_slack_message)
필드 이름 | 데이터 타입 | 설명 |
---|---|---|
id | Long | Primary Key |
receiver_id | Long | 수신자 User Id |
message | String | 메시지 내용 |
send_time | TIMESTAMP | 보낸 시각 |
created_at | TIMESTAMP | 레코드 생성 시간 |
created_by | VARCHAR(100) | 레코드 생성자 (username) |
updated_at | TIMESTAMP | 레코드 수정 시간 |
updated_by | VARCHAR(100) | 레코드 수정자 (username) |
deleted_at | TIMESTAMP | 레코드 삭제 시간 |
deleted_by | VARCHAR(100) | 레코드 삭제자 (username) |