Skip to content

Conversation

@sonjunkyu
Copy link
Contributor

💡 작업 개요

  • 가게 테이블 생성 API 구현
  • 테이블 생성 시 좌표값 검증 로직 구현
  • 테이블 생성 시 테이블 번호는 기존 테이블 번호 중 최대값을 찾아 자동으로 부여

✅ 작업 내용

  • 기능 개발
  • 버그 수정
  • 리팩토링
  • 주석/포맷 정리
  • 기타 설정

⭐검증 로직

1. 좌석 범위 검증

  • 최소 좌석 수가 최대 좌석 수보다 클 수 없음

2. 그리드 범위 검증

  • 테이블의 좌표와 크기를 고려하여 배치도 범위 내에 위치하는지 확인 (생성 시 크기는 1x1로 고정)
  • 좌상단(Top-Left) 기준 오른쪽/아래 확장 방식 사용
  • 예시: gridX=1, widthSpan=2 → x좌표 1~2 점유

3. 테이블 겹침 검증

  • 직사각형 겹침 판정 알고리즘을 사용하여 기존 테이블과의 충돌 여부 확인
  • x축과 y축 모두 겹치는 경우에만 충돌로 판정

🧪 테스트 내용

  • 가게 테이블 생성 (POST /api/v1/stores/{storeId}/tables
  • 검증 로직 확인을 위해 6x6 그리드 배치도에 3개의 테이블 더미 데이터를 추가
    • 1번 테이블 좌표: (0, 0) 크기: (1x1)
    • 2번 테이블 좌표: (2, 1) 크기: (2x1)
    • 3번 테이블 좌표: (5, 3) 크기: (1x1)
  1. 좌표 (3,3)에 테이블 생성 성공
스크린샷 2026-01-20 175738
  1. 좌표 (10,10)에 테이블 생성 시 오류
스크린샷 2026-01-20 175825
  1. 좌표 (3, 1)에 테이블 생성 시 기존 2번 테이블과 겹침 오류
스크린샷 2026-01-21 013246

📝 기타 참고 사항

  • 추후 테이블 리사이즈 로직 구현 시 gridX, gridY를 함께 조정
  • 예: 왼쪽으로 1칸 확장: gridX = gridX - 1, widthSpan = widthSpan + 1

@SungMinju SungMinju merged commit 7905e85 into develop Jan 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants