Sparta(JAVA심화3기) - TIL/Chap.02
CHAP.02 : MSA Project Day05 - SCRUM
Dev.99_tale
2025. 3. 17. 18:35
어제 작업, 금일 작업, 내일 작업
장소 : ZEP
참여자 : 정민수, 이수연, 정아현, 박준혁
어제 작업
✅ 각자 맡은 모듈 개발 진행
금일 작업
✅ 본인 상황 공유 진행 현황
🔹 수연
📌 담당 도메인: Order, Delivery, Shipper
- 도메인별 필요한 파일 구성 완료 (아주 기본적인 구조만 잡아둠)
- 모든 로직을 디테일하게 수정해야 함
- 예) QueryDSL(검색), FeignClient(타 도메인 요청/응답) 등의 구현 필요
- 필요하면 각 도메인별 브랜치(feat/order, feat/delivery, feat/shipper)에 push 예정 (현재는 commit만 진행)
📌 FeignClient 활용 - 타 도메인 요청
- 사용자 정보 필요
- shipper → hub, user
- order → company, product
- delivery → hub, user
📝 Shipper 도메인 로직 정리
1️⃣ 배송 담당자 생성
- 생성할 배송 담당자 정보 수신
- 현재 요청 사용자의 권한 확인
- ❌ 권한 없음 → 예외 발생
- ✅ 권한 있음 → 다음 단계 진행
- 타 도메인 검증 요청
- UserClient: 배송 담당자의 권한 및 UserId, SlackId 검증
- HubClient: 배송 담당자가 속한 Hub ID 검증
- 배송 순번 생성
- 배송 담당자 정보 저장 후 DTO 반환
2️⃣ 배송 담당자 조회
- 전체 조회: 검색어가 없으면 Pagination 적용, 검색어가 있으면 추가 필터링
- 단건 조회: 사용자 권한 검증 후 단일 배송 담당자 정보 반환
3️⃣ 배송 담당자 수정 & 삭제
- 수정 시 배송자 타입 변경 필요할 경우 타 도메인 요청
- 삭제 시 현재 배송 중인 상태 확인 필요 (Delivery 측 요청 필요)
4️⃣ 배송 담당자 자동 배정 (Delivery 요청 기반)
- Delivery 측에서 최종 목적지 Hub의 ID를 넘겨주면, 해당하는 업체 배송 담당자를 지정
📝 Order 도메인 로직 정리
1️⃣ 주문 생성
- 사용자 권한 검증
- 타 도메인 검증 요청
- CompanyClient: 요청 업체 검증
- ProductClient: 상품 및 재고 검증
- 주문 상태 초기 설정 (예: 결제 완료)
- 주문 저장 후 DTO 변환
- 배송 요청 (DeliveryClient) → deliveryId 저장 후 배송 상태 업데이트
2️⃣ 주문 조회 & 수정 & 삭제
- 전체 조회: 검색어 유무에 따라 필터링 적용 (Pagination 포함)
- 수정: 배송 시작 전까지만 가능하며, 수정 시 Delivery 측 변경 사항 반영 필요
- 삭제: 배송이 시작되지 않은 상태에서만 삭제 가능
3️⃣ 주문 상태 변경
- 배송 상태에 따라 OrderState 업데이트
4️⃣ 주문 검증 (배송 측 요청 시)
- 배송 수정 시 Order 정보를 검증하고 응답
📝 Delivery 도메인 로직 정리
1️⃣ 배송 생성
- 사용자 권한 검증
- 타 도메인 검증 요청
- HubClient: 배송 허브 검증
- ShipperClient: 배송 담당자 요청
- 배송 데이터 저장 후 DTO 변환 및 Order 측에 deliveryId 전달
2️⃣ 배송 조회 & 수정 & 삭제
- 전체 조회: 검색어 유무에 따라 필터링 적용 (Pagination 포함)
- 단건 조회: 권한 검증 후 조회
- 수정: 수정 가능한 항목 검토 후 반영
- 삭제: 삭제 요청 시 Order 측에 상태 변경 요청 필요
3️⃣ 배송 상태 변경
- 배송 진행 상태 변경 시 Order 측에도 반영 요청
🔹 아현
📌 담당 도메인: Product
- 진행 사항
- 상품 조회 & 검색 관련 에러 해결 중
- 생성, 수정, 삭제 로직 정상 동작
- Postman으로 각 API 테스트 예정
- 추후 계획
- 브랜치 생성 후 파일 이동
- 발제 조건에 맞춰 Product 수정
🔹 민수
📌 담당 도메인: Auth, Gateway
- 사용자 권한 체계 정리 (customer, master, hubmanager, deliverymanager, companymanager)
- Auth 및 Gateway 파일 구성 중
- SecurityConfig 설정 고민
- Auth 서비스에서만 관리할지 vs 각 도메인이 개별적으로 관리할지 → Auth에서만 관리하기로 결정
- DB 연동 확인 예정
- 프로젝트 전체 Flow 설정 진행 중
내일 작업
✅ 각자 어디까지 했는지 + 앞으로 할 예정 정리
- 각자 개발 진행 공유
- 각 필요 도메인에 대한 데이터 정보 확인