Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,10 @@
import org.springframework.stereotype.Component;

import lombok.RequiredArgsConstructor;

import nbc.ticketing.ticket911.common.annotation.LettuceMultiLock;
import nbc.ticketing.ticket911.common.annotation.RedissonMultiLock;
import nbc.ticketing.ticket911.infrastructure.lettuce.LettuceLockManager;
import nbc.ticketing.ticket911.domain.booking.exception.BookingException;
import nbc.ticketing.ticket911.domain.booking.exception.code.BookingExceptionCode;
import nbc.ticketing.ticket911.infrastructure.lettuce.LettuceLockManager;

@Aspect
@Component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import org.springframework.stereotype.Service;

import lombok.RequiredArgsConstructor;
import nbc.ticketing.ticket911.infrastructure.lettuce.DistributedLockService;
import nbc.ticketing.ticket911.domain.auth.vo.AuthUser;
import nbc.ticketing.ticket911.domain.booking.dto.request.BookingRequestDto;
import nbc.ticketing.ticket911.domain.booking.dto.response.BookingResponseDto;
import nbc.ticketing.ticket911.infrastructure.lettuce.DistributedLockService;

@Service
@RequiredArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;

import nbc.ticketing.ticket911.common.annotation.LettuceMultiLock;
import nbc.ticketing.ticket911.common.annotation.RedissonMultiLock;
import nbc.ticketing.ticket911.domain.auth.vo.AuthUser;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import nbc.ticketing.ticket911.domain.concertseat.application.ConcertSeatService;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertCreateRequest;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertSearchCondition;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertUpdateRequest;
Expand All @@ -15,6 +14,7 @@
import nbc.ticketing.ticket911.domain.concert.dto.response.ConcertPageResponse;
import nbc.ticketing.ticket911.domain.concert.entity.Concert;
import nbc.ticketing.ticket911.domain.concert.service.ConcertDomainService;
import nbc.ticketing.ticket911.domain.concertseat.application.ConcertSeatService;
import nbc.ticketing.ticket911.domain.stage.entity.Stage;
import nbc.ticketing.ticket911.domain.stage.service.StageDomainService;
import nbc.ticketing.ticket911.domain.user.entity.User;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import nbc.ticketing.ticket911.domain.concert.application.ConcertService;
import nbc.ticketing.ticket911.domain.auth.vo.AuthUser;
import nbc.ticketing.ticket911.domain.concert.application.ConcertService;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertCreateRequest;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertSearchCondition;
import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertUpdateRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import nbc.ticketing.ticket911.domain.seat.application.SeatService;
import nbc.ticketing.ticket911.common.response.CommonResponse;
import nbc.ticketing.ticket911.domain.seat.application.SeatService;
import nbc.ticketing.ticket911.domain.seat.dto.request.CreateSeatRequestDto;
import nbc.ticketing.ticket911.domain.seat.dto.request.UpdateSeatRequestDto;
import nbc.ticketing.ticket911.domain.seat.dto.response.SeatResponseDto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import nbc.ticketing.ticket911.domain.stage.application.StageService;
import nbc.ticketing.ticket911.common.response.CommonResponse;
import nbc.ticketing.ticket911.domain.stage.application.StageService;
import nbc.ticketing.ticket911.domain.stage.dto.request.CreateStageRequestDto;
import nbc.ticketing.ticket911.domain.stage.dto.request.UpdateStageRequestDto;
import nbc.ticketing.ticket911.domain.stage.dto.response.StageResponseDto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import nbc.ticketing.ticket911.domain.stage.entity.Stage;

public interface StageRepository extends JpaRepository<Stage, Long> {
Page<Stage> findByStageNameContaining(String keyword, Pageable pageable);
Page<Stage> findByStageNameContaining(String keyword, Pageable pageable);

@Query("SELECT s FROM Stage s LEFT JOIN FETCH s.seats WHERE s.id = :id")
Optional<Stage> findByIdWithSeats(@Param("id") Long id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,16 @@ public <T> T executeWithMultiLock(List<String> keys, long waitTime, long leaseTi
}
}

private RuntimeException wrapThrowable(Throwable t) {
if (t instanceof LockRedisException e) return e;
if (t instanceof RuntimeException e) return e;
if (t instanceof Error e) throw e;
private RuntimeException wrapThrowable(Throwable throwable) {
if (throwable instanceof LockRedisException e) {
return e;
}
if (throwable instanceof RuntimeException e) {
return e;
}
if (throwable instanceof Error e) {
throw e;
}
return new LockRedisException(LockRedisExceptionCode.LOCK_PROCEED_FAIL);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -137,10 +137,11 @@ void ConcurrencyProblemByMySQL() throws InterruptedException {
for (Future<String> result : results) {
try {
String outcome = result.get();
if (outcome.equals("성공"))
if (outcome.equals("성공")) {
successCount++;
else
} else {
failureCount++;
}
System.out.println(outcome);
} catch (Exception e) {
e.printStackTrace();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.*;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import nbc.ticketing.ticket911.domain.concert.dto.request.ConcertCreateRequest;
Expand All @@ -29,13 +30,19 @@
@ExtendWith(MockitoExtension.class)
class ConcertServiceTest {

@Mock private UserDomainService userDomainService;
@Mock private StageDomainService stageDomainService;
@Mock private ConcertDomainService concertDomainService;
@Mock private ConcertRepository concertRepository;
@Mock private ConcertSeatService concertSeatService;
@Mock
private UserDomainService userDomainService;
@Mock
private StageDomainService stageDomainService;
@Mock
private ConcertDomainService concertDomainService;
@Mock
private ConcertRepository concertRepository;
@Mock
private ConcertSeatService concertSeatService;

@InjectMocks private ConcertService concertService;
@InjectMocks
private ConcertService concertService;

private Long userId = 1L;
private Long stageId = 2L;
Expand Down Expand Up @@ -145,7 +152,8 @@ void updateConcert_success() {

given(concertDomainService.getConcertById(concertId)).willReturn(concert);
willDoNothing().given(concertDomainService)
.validateCreatable(updateRequest.getStartTime(), updateRequest.getTicketOpen(), updateRequest.getTicketClose());
.validateCreatable(updateRequest.getStartTime(), updateRequest.getTicketOpen(),
updateRequest.getTicketClose());
willDoNothing().given(concertDomainService).validateUpdatable(concert, userId);

ConcertDetailResponse response = concertService.updateConcert(concertId, userId, updateRequest);
Expand Down