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️⃣ 배송 담당자 생성

  1. 생성할 배송 담당자 정보 수신
  2. 현재 요청 사용자의 권한 확인
    • ❌ 권한 없음 → 예외 발생
    • ✅ 권한 있음 → 다음 단계 진행
  3. 타 도메인 검증 요청
    • UserClient: 배송 담당자의 권한  UserId, SlackId 검증
    • HubClient: 배송 담당자가 속한 Hub ID 검증
  4. 배송 순번 생성
  5. 배송 담당자 정보 저장 후 DTO 반환

2️⃣ 배송 담당자 조회

  • 전체 조회: 검색어가 없으면 Pagination 적용, 검색어가 있으면 추가 필터링
  • 단건 조회: 사용자 권한 검증 후 단일 배송 담당자 정보 반환

3️⃣ 배송 담당자 수정 & 삭제

  • 수정 시 배송자 타입 변경 필요할 경우 타 도메인 요청
  • 삭제 시 현재 배송 중인 상태 확인 필요 (Delivery 측 요청 필요)

4️⃣ 배송 담당자 자동 배정 (Delivery 요청 기반)

  • Delivery 측에서 최종 목적지 Hub의 ID를 넘겨주면, 해당하는 업체 배송 담당자를 지정

📝 Order 도메인 로직 정리

1️⃣ 주문 생성

  1. 사용자 권한 검증
  2. 타 도메인 검증 요청
    • CompanyClient: 요청 업체 검증
    • ProductClient: 상품 및 재고 검증
  3. 주문 상태 초기 설정 (예: 결제 완료)
  4. 주문 저장 후 DTO 변환
  5. 배송 요청 (DeliveryClient) → deliveryId 저장 후 배송 상태 업데이트

2️⃣ 주문 조회 & 수정 & 삭제

  • 전체 조회: 검색어 유무에 따라 필터링 적용 (Pagination 포함)
  • 수정: 배송 시작 전까지만 가능하며, 수정 시 Delivery 측 변경 사항 반영 필요
  • 삭제: 배송이 시작되지 않은 상태에서만 삭제 가능

3️⃣ 주문 상태 변경

  • 배송 상태에 따라 OrderState 업데이트

4️⃣ 주문 검증 (배송 측 요청 시)

  • 배송 수정 시 Order 정보를 검증하고 응답

📝 Delivery 도메인 로직 정리

1️⃣ 배송 생성

  1. 사용자 권한 검증
  2. 타 도메인 검증 요청
    • HubClient: 배송 허브 검증
    • ShipperClient: 배송 담당자 요청
  3. 배송 데이터 저장 후 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 설정 진행 중

 

내일 작업


 각자 어디까지 했는지  + 앞으로 할 예정 정리

  • 각자 개발 진행 공유
  • 각 필요 도메인에 대한 데이터 정보 확인