Skip to content

Commit

Permalink
#21-append 중복 방지 로직 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
chanwooo committed Oct 31, 2022
1 parent 00a579a commit 50d77f9
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package flab.quing.waiting;

public class DuplicateWaitingException extends RuntimeException {
}
7 changes: 6 additions & 1 deletion src/main/java/flab/quing/waiting/QuingServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@RequiredArgsConstructor
Expand All @@ -29,8 +30,12 @@ public WaitingResponse append(WaitingRequest waitingRequest) {
User user = userRepository.findById(waitingRequest.getUserId()).orElseThrow(NoSuchUserException::new);
Store store = storeRepository.findById(waitingRequest.getStoreId()).orElseThrow(NoSuchStoreException::new);
Waiting waiting = Waiting.of(user, store);
Waiting save = waitingRepository.save(waiting);

Optional<Waiting> exist = waitingRepository.findByUserIdAndWaitingQueueStatusIs(user.getId(), WaitingQueueStatus.WAITING);
if(exist.isPresent()) {
throw new DuplicateWaitingException();
}
Waiting save = waitingRepository.save(waiting);
return save.toResponse();
}

Expand Down
3 changes: 3 additions & 0 deletions src/main/java/flab/quing/waiting/WaitingRepository.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

public interface WaitingRepository extends JpaRepository<Waiting, Long> {

Optional<Waiting> findByUserIdAndWaitingQueueStatusIs(long userId, WaitingQueueStatus waitingQueueStatus);

List<Waiting> findAllByStoreIdAndWaitingQueueStatusIs(long storeId, WaitingQueueStatus waitingQueueStatus);
}

0 comments on commit 50d77f9

Please sign in to comment.