Skip to content

Commit 85600d0

Browse files
committed
feat: 줄서기시 가게정보 같이 조회
1 parent 2f34745 commit 85600d0

2 files changed

Lines changed: 32 additions & 11 deletions

File tree

src/main/java/com/waitit/capstone/domain/queue/controller/QueueController.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.waitit.capstone.domain.queue.controller;
22

3+
import com.waitit.capstone.domain.manager.dto.HostResponse;
4+
import com.waitit.capstone.domain.manager.service.HostService;
35
import com.waitit.capstone.domain.queue.QueueMapper;
46
import com.waitit.capstone.domain.queue.dto.QueResponseDto;
57
import com.waitit.capstone.domain.queue.dto.QueueDto;
8+
import com.waitit.capstone.domain.queue.dto.QueueRegistrationResponse;
69
import com.waitit.capstone.domain.queue.dto.QueueRequest;
710

811
import com.waitit.capstone.domain.queue.service.QueueService;
@@ -21,23 +24,28 @@
2124
public class QueueController {
2225
private final QueueService queueService;
2326
private final QueueMapper queueMapper;
27+
private final HostService hostService; // HostService 주입 추가
2428

25-
// 롱폴링 관련 코드 모두 삭제
26-
27-
@Operation(summary = "대기열 등록", description = "특정 가게의 대기열에 사용자를 등록합니다.")
29+
@Operation(summary = "대기열 등록", description = "특정 가게의 대기열에 사용자를 등록하고, 등록된 가게의 상세 정보를 함께 반환합니다.")
2830
@PostMapping("/{id}")
29-
public ResponseEntity<?> registerQueue(@PathVariable Long id, @RequestBody QueueRequest queueRequest, HttpServletRequest request){
30-
String token = request.getHeader("access");
31+
public ResponseEntity<QueueRegistrationResponse> registerQueue(@PathVariable Long id, @RequestBody QueueRequest queueRequest, HttpServletRequest request){
32+
// 1. 대기열 등록
3133
QueueDto dto = queueMapper.requestToDto(queueRequest);
32-
int index = queueService.registerQueue(id,dto);
34+
int waitingNumber = queueService.registerQueue(id, dto);
35+
36+
// 2. 등록된 가게 정보 조회
37+
HostResponse hostInfo = hostService.getHost(id);
38+
39+
// 3. 최종 응답 생성
40+
QueueRegistrationResponse response = QueueRegistrationResponse.builder()
41+
.message("대기열 등록에 성공했습니다.")
42+
.waitingNumber(waitingNumber)
43+
.hostInfo(hostInfo)
44+
.build();
3345

34-
QueResponseDto responseDto = new QueResponseDto("대기열 등록 완료", index);
35-
return ResponseEntity.status(HttpStatus.OK).body(responseDto);
46+
return ResponseEntity.status(HttpStatus.OK).body(response);
3647
}
3748

38-
/**
39-
* [수정] 롱폴링을 제거하고, 현재 대기 순번을 즉시 반환하도록 변경
40-
*/
4149
@Operation(summary = "내 대기 순번 즉시 확인", description = "자신의 현재 대기 순번을 즉시 확인합니다.")
4250
@GetMapping("/{id}/position/")
4351
public ResponseEntity<QueResponseDto> getMyPosition(
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.waitit.capstone.domain.queue.dto;
2+
3+
import com.waitit.capstone.domain.manager.dto.HostResponse;
4+
import lombok.Builder;
5+
import lombok.Getter;
6+
7+
@Getter
8+
@Builder
9+
public class QueueRegistrationResponse {
10+
private String message; // 응답 메시지
11+
private int waitingNumber; // 나의 대기 번호
12+
private HostResponse hostInfo; // 내가 등록한 가게의 상세 정보
13+
}

0 commit comments

Comments
 (0)