STUDY/TIL
[TIL] 241207 - 대규모 AI 시스템 설계 프로젝트 3일차
7alswn
2024. 12. 7. 16:47
Do - List
- 프로세스 정리
- 베이스코드 작성
1. 허브 서비스 (Hub Service)
1.1 허브 등록
- 요청자: MASTER
- API: POST /hub
- 입력 데이터:
- 허브명: name
- 주소: address
- 위도: latitude
- 경도: longitude
- 허브 관리자: managerId
- 기능:
- MASTER가 새로운 허브를 등록
- 입력된 허브명과 위치 정보를 기반으로 데이터 생성 → p_hub에 저장
- 출력 데이터: 등록된 허브 ID, 생성된 허브 정보
1.2 허브 조회
- 요청자: 모든 로그인 사용자
- API:
- 단일 허브 조회: GET /hub/{hub_id}
- 모든 허브 조회: GET /hub
- 출력 데이터: 허브 정보 목록 (허브명, 위치, 담당자)
1.3 허브 수정
- 요청자: MASTER
- API: PATCH /hub/{hub_id}
- 입력 데이터:
- 허브명: name
- 주소: address
- 위도: latitude
- 경도: longitude
- 허브 관리자 변경: managerId
- 출력 데이터: 수정된 허브 정보
1.4 허브 내 소속 업체 조회
- 요청자: 허브 관리자
- API: GET /hub/{hub_id}/company
- 기능:
- 특정 허브에 소속된 업체 정보 조회
- 출력 데이터: 업체 목록 (업체명, 주소, type)
2. 허브 루트 서비스 (Hub Route Service)
2.1 경로 등록
- 요청자: MASTER
- API: POST /hub-route
- 입력 데이터:
- 출발 허브 ID: origin_hub_id
- 도착 허브 ID: destination _hub_id
- 거리: actual_distance
- 소요 시간: actual_duration
- 출력 데이터: 생성된 경로 ID 및 경로 정보
2.2 경로 조회
- 요청자: 모든 로그인 사용자
- API:
- 경로 리스트 조회: GET /hub-route
- 단일 경로 조회: GET /hub-route/{hub_route_id}
- 특정 출발지와 목적지로 경로 검색: GET /hub-route?source={origin_hub_id}&destination={destination _hub_id}
- 기능:
- 경로 상세 정보 확인 및 허브 간 이동 계획 수립
- 출력 데이터: 경로 정보 (출발 허브, 도착 허브, 거리, 소요 시간)
2.3 경로 수정
- 요청자: MASTER
- API: PATCH /hub-route/{hub_route_id}
- 입력 데이터: 거리, 소요 시간
- 기능: 경로 정보 수정
- 출력 데이터: 수정된 경로 정보
3. 업체 서비스 (Company Service)
3.1 업체 등록
- 요청자: MASTER, 허브 관리자
- API: POST /company
- 입력 데이터:
- 업체명: name
- 위치 정보: address
- 타입: type
- 허브 소속: hub_id
- 업체 담당자: user_id
- 출력 데이터: 등록된 업체 ID, 생성된 업체 정보
3.2 업체 조회
- 요청자: 모든 로그인 사용자
- API:
- 단일 업체 조회: GET /company/{company_id}
- 허브별 업체 리스트 조회: GET /hub/{hub_id}/company
- 업체 소속 허브 조회: GET /company/{company_id}/hub
- 출력 데이터: 업체 정보 목록
3.3 업체 수정
- 요청자: MASTER, 허브 관리자, 업체 담당자
- API: PATCH /company/{company_id}
- 입력 데이터:
- 업체명: name
- 위치 정보: address
- 타입: type
- 허브 소속 변경: hub_id
- 업체 담당자 변경: user_id
- 기능:
- 업체 정보를 수정하거나 허브 소속, 업체 담당자 변경
- 출력 데이터: 수정된 업체 정보