diff --git a/src/main/java/nbc/ticketing/ticket911/common/aop/LettuceLockAspect.java b/src/main/java/nbc/ticketing/ticket911/common/aop/LettuceLockAspect.java index 5ceaeb9..605e64d 100644 --- a/src/main/java/nbc/ticketing/ticket911/common/aop/LettuceLockAspect.java +++ b/src/main/java/nbc/ticketing/ticket911/common/aop/LettuceLockAspect.java @@ -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 diff --git a/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingFacade.java b/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingFacade.java index 297edcc..84d485f 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingFacade.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingFacade.java @@ -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 diff --git a/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingService.java b/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingService.java index 6beac33..88efa10 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingService.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/booking/application/BookingService.java @@ -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; diff --git a/src/main/java/nbc/ticketing/ticket911/domain/concert/application/ConcertService.java b/src/main/java/nbc/ticketing/ticket911/domain/concert/application/ConcertService.java index 52b7716..13c6c42 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/concert/application/ConcertService.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/concert/application/ConcertService.java @@ -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; @@ -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; diff --git a/src/main/java/nbc/ticketing/ticket911/domain/concert/controller/ConcertController.java b/src/main/java/nbc/ticketing/ticket911/domain/concert/controller/ConcertController.java index 22d5c2c..388e401 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/concert/controller/ConcertController.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/concert/controller/ConcertController.java @@ -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; diff --git a/src/main/java/nbc/ticketing/ticket911/domain/seat/controller/SeatController.java b/src/main/java/nbc/ticketing/ticket911/domain/seat/controller/SeatController.java index 2437e99..47fcf37 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/seat/controller/SeatController.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/seat/controller/SeatController.java @@ -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; diff --git a/src/main/java/nbc/ticketing/ticket911/domain/stage/controller/StageController.java b/src/main/java/nbc/ticketing/ticket911/domain/stage/controller/StageController.java index 5d50050..4d999d1 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/stage/controller/StageController.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/stage/controller/StageController.java @@ -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; diff --git a/src/main/java/nbc/ticketing/ticket911/domain/stage/repository/StageRepository.java b/src/main/java/nbc/ticketing/ticket911/domain/stage/repository/StageRepository.java index e7fc21d..f982767 100644 --- a/src/main/java/nbc/ticketing/ticket911/domain/stage/repository/StageRepository.java +++ b/src/main/java/nbc/ticketing/ticket911/domain/stage/repository/StageRepository.java @@ -11,7 +11,7 @@ import nbc.ticketing.ticket911.domain.stage.entity.Stage; public interface StageRepository extends JpaRepository { - Page findByStageNameContaining(String keyword, Pageable pageable); + Page findByStageNameContaining(String keyword, Pageable pageable); @Query("SELECT s FROM Stage s LEFT JOIN FETCH s.seats WHERE s.id = :id") Optional findByIdWithSeats(@Param("id") Long id); diff --git a/src/main/java/nbc/ticketing/ticket911/infrastructure/redisson/RedissonLockRedisService.java b/src/main/java/nbc/ticketing/ticket911/infrastructure/redisson/RedissonLockRedisService.java index 46f05a6..5d15b8b 100644 --- a/src/main/java/nbc/ticketing/ticket911/infrastructure/redisson/RedissonLockRedisService.java +++ b/src/main/java/nbc/ticketing/ticket911/infrastructure/redisson/RedissonLockRedisService.java @@ -58,10 +58,16 @@ public T executeWithMultiLock(List 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); } } diff --git a/src/test/java/nbc/ticketing/ticket911/domain/booking/controller/BookingControllerTestByMySQL.java b/src/test/java/nbc/ticketing/ticket911/domain/booking/controller/BookingControllerTestByMySQL.java index 299a2ba..c7095a9 100644 --- a/src/test/java/nbc/ticketing/ticket911/domain/booking/controller/BookingControllerTestByMySQL.java +++ b/src/test/java/nbc/ticketing/ticket911/domain/booking/controller/BookingControllerTestByMySQL.java @@ -137,10 +137,11 @@ void ConcurrencyProblemByMySQL() throws InterruptedException { for (Future 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(); diff --git a/src/test/java/nbc/ticketing/ticket911/domain/concert/application/ConcertServiceTest.java b/src/test/java/nbc/ticketing/ticket911/domain/concert/application/ConcertServiceTest.java index 26f02d8..3df62e3 100644 --- a/src/test/java/nbc/ticketing/ticket911/domain/concert/application/ConcertServiceTest.java +++ b/src/test/java/nbc/ticketing/ticket911/domain/concert/application/ConcertServiceTest.java @@ -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; @@ -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; @@ -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);