Commit Graph

46 Commits

Author SHA1 Message Date
dongHyo
9875de4896 fix: @TicketLock annotations delete 2022-08-01 20:56:48 +09:00
dongHyo
af5aa05b9e refactor: aop 를 통한 lock 검증 메서드 분리 2022-08-01 17:22:13 +09:00
dongHyo
3e65a3a2e7 feat: 티켓 구매, 환불 메서드 분산 락 적용 2022-07-22 14:52:44 +09:00
손창현
42a00d20d0 feat: MovieTimeServiceTest - test registering movie time (#83) 2022-07-20 01:16:28 +09:00
Kim DongHyo
b3842d93b4 [User] 유저 컨트롤러 API 통합테스트 작성 (#84)
* test: 유저 통합테스트 추가

* test: JwtFilter 테스트케이스 추가

* refactor: 매직넘버 제거

* refactor: 회원탈퇴 / 패스워드 변경 검증 로직 수정
2022-07-20 01:06:22 +09:00
손창현
58bed5565f Feature/delete movie test (#79)
* feat: MovieServiceImplTest - test registering movie

* feat: MovieServiceImplTest - test deleteing movie

* feat: MovieServiceImplTest - test code for checking if exceptions occur

* refactor: MovieRepository NativeQuery -> JPQL
2022-07-19 02:13:13 +09:00
dongHyo
28874b1b1c Merge remote-tracking branch 'origin/develop' into feature/removeCollectionDTO 2022-07-18 17:57:02 +09:00
dongHyo
656e5e25e8 refactor: Ticket removed ListDTO 2022-07-18 17:56:53 +09:00
손창현
f1382597de Refactor/list dto (#78)
* refactor: removed MovieListDTO:

* refactor: removed MovieTimeListDTO

* refactor: MovieTimeServiceImplTest - removed MovieTimeListDto
2022-07-18 17:16:00 +09:00
Kim DongHyo
a2cfd7ab15 [Payment] 환불 구현 (#76)
* feat: 본인결제내역 환불 구현

* feat: 관리자 환불 구현

* refactor: 피드백 반영
2022-07-17 23:40:28 +09:00
손창현
a1579cfe13 Feature/get ticket list (#75)
* add: TicketListDTO

* add: TicketDTO

* add: TicketListResponse

* add: findValidTickets(Long movieTimeId) in ticket repository

* add: MOVIE_TIME_NOT_FOUND exception

* feat: get ticket list API

* add: secured USER for ticket APIs

* refactor: 코드 정렬
2022-07-15 13:22:32 +09:00
Kim DongHyo
c760d66cf6 feat: 영화티켓 예매 구현 (카카오페이API 연동) (#74)
* feat: 영화티켓 예매 구현 (카카오페이API 연동)

* fix: 테스트 값 제거
2022-07-15 04:32:20 +09:00
손창현
68ad0ce910 Feature/register movie time (#72)
* refactor: get movie times API

* refactor: get movie times test

* fix: removed unnecessary import

* add: RegisteredMovieTimeDTO

* add: MovieTimeRegisterRequest

* add: THEATER_NOT_FOUND exception

* add: DUPLICATE_MOVIE_TIME exception

* feat: register movie time API

* fix: 공백 탭으로 변경
2022-07-15 02:47:39 +09:00
손창현
d80a370232 Feature/delete movie (#71)
* refactor: set movie title unique -> not unique

* add: findValidMovieWithTitle() in MovieRepository

* refactor: changed MovieTitleResponse -> MovieInfoResponse

* refactor: register Movie API

* add: throwDeletedMovie() exception

* add: deleteMovie() in movieService

* refactor: get movie list API

* refactor: movieService test code

* feat: delete movie API
2022-07-14 12:25:52 +09:00
Kim DongHyo
12f1d6b9be fix: 브런치 merge 중 import 가 잘못되서 수정 (#70) 2022-07-13 14:13:48 +09:00
Kim DongHyo
9780a84609 refactor: 정적팩토리 -> 생성자 변경 (#69)
Co-authored-by: 손창현 <gganzii1215@gmail.com>
2022-07-12 18:51:44 +09:00
Kim DongHyo
7283eeb5d3 feat: 권한변경 API 구현 (#67) 2022-07-12 18:31:18 +09:00
Kim DongHyo
0173fc92ed [User] 결제내역 상세 조회 구현 및 전반적인 코드 수정 (#66)
* feat: 결제내역 상세 조회

alternatedId 컬럼추가
GUEST -> USER 권한명칭변경
User Entity: isDeleted, deletedAt
closed #53, #61, #62, #63

* refactor: 프로퍼티 권한 private -> protected 변경

closed #60

* refactor: access Token 시간 변경

closed #65

* refactor: 에러코드 부분 수정

* feat: id 포함 생성자 추가
2022-07-12 01:57:30 +09:00
손창현
73cc0241d3 Feature/add movie (#59)
* add: MovieTitleResponse

* add: MovieRegisterDTO

* add: DUPLICATE MOVIE exception

* add: registerMovie() in MovieService

* feat: add movie information - STAFF

* refactor: variable DTO -> Dto
2022-07-11 16:02:40 +09:00
Kim DongHyo
16eed0cbed [User] 회원 결제목록 조회 및 Exception Method 한 곳으로 이동 (#50)
* feat: findPayments

* refactor: Exception Method 한 곳으로 이동
2022-07-08 11:33:21 +09:00
Kim DongHyo
fca765e9c3 feat: movie test data setup (#48)
feat: 영화 테스트 데이터 setup 구현
2022-07-05 19:03:01 +09:00
손창현
3ea3b88b1f Feature/get movie time list (#46)
* refactor: MovieTimeRepository - findValidMovieTimes 네이티브 쿼리 -> JPQL 변경

* refactor: MovieTimeServiceImpl JPQL 적용 - movie.getId() -> movie

* feat: MovieTimeServiceImplTest - get movie times 케이스 작성

* refactor: MovieServiceImplTest - static factory method 적용

* feat: MovieTimeServiceImplTest - get movie time list 케이스 작성
2022-07-04 18:35:01 +09:00
Kim DongHyo
09cb4a3767 refactor: 통합테스트, 유닛테스트 환경 분리 (#45)
* refactor: 통합테스트, 유닛테스트 환경 분리

* refactor: testImplementation 와 다른 게 없어서 통합
2022-07-04 00:36:15 +09:00
손창현
648638860c Feature/get movie times list (#42)
* refactor: 영화 시작, 종료 시간 LocalTime 적용

* refactor: 영화 시간표 테이블 이름 변경 movie_times -> movie_time

* feat: getMovieTimes API

* refactor: 영화 시간표 조회 runningDate ApiParam 상영 날짜로 변경

* fix: MovieTimeRepositoryTest 오타 수정

* refactor: MovieTime start_at, end_at LocalDateTime으로 변경

* refactor: find List<MovieTime> with native query

* add: comment for endOfDay variable

* add: MovieTimeDto - AccessLevel.PRIVATE for static factory method

* refactor: startOfDay 06:00 설정

* refactor: removed tmdb settings

* refactor: removed unnecessary comments

* refactor: removed unnecessary comments

* refactor: removed unnecessary imports

* add: MovieDto - AcessLevel.PRIVATE for static factory method
2022-07-04 00:36:07 +09:00
Kim DongHyo
d0af7e4444 feat: 로그아웃 시 refreshToken 제거 (#44)
* feat: 로그아웃 시 refreshToken 제거

* refactor: deleteRefreshToken 메서드 람다활용 문법으로 변경
2022-06-30 16:31:54 +09:00
Kim DongHyo
ab32f435b1 Feature/exception handler (#41)
* feat: Exception Handler 구현

* feat: 컨트롤러 예외처리 구현
2022-06-24 12:14:22 +09:00
Kim DongHyo
a5cc6f2513 refactor: restful API 에 맞게 수정 및 메서드 명 변경 (#38)
* refactor: restful API 에 맞게 수정 및 메서드 명 변경

* refactor: 코드리뷰 피드백 반영
2022-06-23 00:33:50 +09:00
Kim DongHyo
9ddfc24d2f [#30] Feature/role hierarchy (#34)
* feat: 계층권한 구현

* refactor: 생성자 메서드 위치 변경
2022-06-21 11:57:10 +09:00
Kim DongHyo
8d9a86df64 [#31] Feature/find token info (#35)
* feat: 토큰 email 상세 정보 조회

* refactor: access token header key naming change

* refactor: 재정렬

* refactor: findByEmail 중복코드 제거

* refactor: user delete test code refactoring
2022-06-21 11:56:26 +09:00
손창현
69fe793afa Feature/get movie list (#28)
* feat: getMovies API

* fix: swagger - changed dependencies and permit swagger-resources

* feat: Movie ServiceImpl Test - get movies

* refactor: movieRepository 메서드 변경 findByDeletedAt() -> findValidMovies()

* refactor: movieService 메서드 변경 findByDeletedAt() -> findValidMovies()

* refactor: Request Mapping /api/movie to /api/movies

* refactor: MovieDto 필드에 @JsonProperty 추가
2022-06-17 14:13:41 +09:00
Kim DongHyo
928958dd45 refactor: 인수 name 사용할 수 있도록 수정 (#33) 2022-06-16 19:35:30 +09:00
Kim DongHyo
a235983475 refactor: 정적팩토리메서드 네이밍 통일 (#27) 2022-06-14 00:30:28 +09:00
Kim DongHyo
183e61188e Feature/redis set up and refresh token add (#24)
* feat: 로그인 시 refreshToken 추가 발행

* feat: redis 연결 및 refreshToken redis 저장

* refactor: Exception Class Naming 변경
2022-06-11 00:36:36 +09:00
손창현
d5eac621ca Feature/test tmdbapi (#23)
* feat: TMDBServiceImplTest - get [now_playing] movie list in Korean

* add: json-simple dependency

* fix: 하단 공백 추가
2022-06-08 13:18:07 +09:00
Kim DongHyo
270edc20b5 Feature/security set up (#19)
* feat: jwt 의존성 추가

* fix: jjwt version 명시

* feat: login 서비스 구현

* refactor: findNotDeletedUserByEmail 메소드 추가

* refactor: checkPassword private -> public 범위변경

* feat: configuration-processor 추가

* feat: jwt 설정파일 Loading 추가

* refactor: @Getter 추가

* refactor: UserSservice login 메소드 AuthenticationManagerBuilder 사용으로 변경

* feat: UserDetailsService CustomService 구현

* feat: Jwt 예외 핸들러 구현

* refactor: header -> accessHeader 네이밍 변경

* feat: JwtProvider 구현

* feat: JwtFilter 구현

* feat: Jwt Filter configure 등록

* feat: SecurityContextHolder 에서 email 리턴 메서드 구현

* feat: Spring Security - Costom JWT 적용

* feat: UserController Login 메서드 구현

* fix: health check permitAll 추가

* feat: @PreAuthorize("hasRole('GUEST')") 추가

* feat: SecurityContextHolder Test 코드 작성

* feat: UserController login 메서드 테스트 구현

* refactor: string 수기 작성한 json DTO로 테스트하도록 변경

* refactor: 하단 공백 추가

* refactor: 주석코드 제거

* refactor: 피드백 반영

* refactor: 규칙에 맞게 수정
2022-06-05 23:00:20 +09:00
손창현
2b249e3be9 Feature/reserve movie (#18)
* add: swagger implementation 추가

* add: SwaggerConfig

* feat: MovieRepositoryTest - save, find with title

* refactor: Movie Entity - 영화 제목 unique 설정

* feat: TheaterRepositoryTest - save
2022-06-02 18:13:54 +09:00
Kim DongHyo
0c26555665 #3 회원탈퇴 및 패스워드 변경 구현 (#16)
* feat: user delete 메소드 구현 및 테스트 객체 MethodSource 형식으로 분리

* feat: 회원탈퇴 구현

* refactor: PasswordMismatchException 패키지 위치 변경

* feat: oldpassword, newpassword properties 추가

* test: 패스워드 변경 메소드 테스트 코드 작성

* feat: 패스워드 변경 메소드 구현

* feat: 패스워드 변경 서비스 구현

* feat: 패스워드 변경 컨트롤러 구현

* refactor: controller log 추가

* feat: UserPasswordModifyRequest -> UserModifyPasswordRequest 네이밍 변경

* refactor: param name 변경

* refactor: 패스워드 변경 시 삭제된 이메일 제외하고 불러오는 형식으로 변경

* refactor: 메소드 네이밍 수정

* feat: User ResponseDTO 작성

* refactor: controller delete -> deleteUser 메소드 명 변경

* refactor: modifyPassword @Transactional 적용

* refactor: dto 객체 명 DTO 붙여서 구분

* refactor: register method Optional 반환 -> Exception 처리

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: NotFoundEmailException 구현

* refactor: User delete method Optional 반환 -> Exception 처리 

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: modifyPassword method Optional 반환 -> Exception 처리

Optional 반환과 Exception 반환이 혼용되어 사용되고 있어, Exception 으로 통일

* refactor: comparePassword -> checkPassword 메서드 네이밍 변경

* refactor: modifyPassword -> changePassword 네이밍 변경

* refactor: provide 메소드 선언 위치 하단으로 변경 및 users Map 추가

정상적인 users 를 재사용하기 위해 분리하여 선언

* refactor: provideDeleteUsers 공통 users 사용하는 방식으로 수정

* refactor: changePassword 공통 users 사용하는 방식으로 수정

* refactor: UserModifyPasswordResponse -> UserChangePasswordResponse

* refactor: dto 클래스 네이밍 변경으로 인한 인수, 변수, 메소드 네이밍 수정
2022-05-26 10:51:38 +09:00
Kim DongHyo
9f70ee0ed9 #3 회원가입 기능 구현 (#15)
* feat: Create Phone validator annotation

* feat: validation annotation 변경 및 @Builder 제거

* refactor: builder 에서 생성자로 변경

* refactor: value null or empty 시 true 반환

* test: user validator 테스트 코드 작성

* refactor: grade @NotNull message 추가

* feat: spring-boot-starter-security 주석해제

* feat: 시큐리티 disable 및 psswordEncoder 빈등록

* feat: 회원가입 Service 메소드 구현

* feat: findByEmail Repository add

* feat: email 중복 시 예외 클래스 생성

* feat: 회원가입 컨트롤러 생성

* test: 회원가입 서비스 테스트 코드 작성

* docs: logs 디렉토리 추가

* refactor: 맨 하단 공백 추가

* refactor: properties message 다국어 적용

* refactor: 재정렬

* fix: @EnableJpaAuditing 중복 선언 제거

* fix: service 구현체와 동일하게 파라미터 수정

* refactor: validateEmail 메소드 병합

* refactor: SignUp 에서 UserEntity 생성하도록 변경

* refactor: message 외부로 분리

* refactor: 중복 이메일일 경우 Exception 대신 Optional 처리

* test: signUp toUser 메소드 테스트

* refactor: Phone 애노테이션 적용 부분 message 제거

* refactor: email error log add

* refactor: PasswordEncoder 를 SignUp 생성 시 적용

서비스에서는 파라미터로 넘어온 SignUp을 바로 엔티티로 저장하는 구조로 변경
2022-05-21 00:43:14 +09:00
Kim DongHyo
b36a58f965 Feature/init - 프로젝트 설정 추가 진행 (#14)
* feat: jasypt 적용

* refactor: data-source-properties 제거

* feat: BaseEntity add

* feat: User 패키지 구조 및 파일 세팅

* feat: Payment 패키지 구조 및 파일 세팅

* feat: Movie 패키지 구조 및 파일 세팅

* refactor: security 주석 및 actuator 추가

security 사용 시 주석 해제 (아직 사용하지 않아 주석처리)
actuator 을 통해 health check 구현

* feat: 헬스 상태 수동 변경 컨트롤러 구현

* refactor: @Component 등록

* test: health check test 작성

* refactor: intellij warring 해결

* feat: log4j2 설정

* feat: @EnableJpaAuditing 추가

Jpa Auditing 활성화

* feat: user insert db 연결 테스트

* refactor: @Transactional 추가

* refactor: import 정리 및 하단 공백 추가
2022-05-11 00:03:33 +09:00
손창현
4133bcca42 Feature/issues10 (#13)
* add: JasyptConfig

* chore: jasypt bean - jasyptStringEncryptor

* fix: .gitignore  .idea/ 변경

* deldeted .idea/

* fix: gitignore .idea xml, iml 추가

* fix: 맨 하단 개행
2022-05-05 00:46:17 +09:00
dongHyo
52abe07aef refactor: db 설정 정보 추가
hikariCP, MySQL properties 설정 정보 추가
2022-05-02 18:04:40 +09:00
dongHyo
b50babe5dc refactor: user 신규 계정 설정 2022-05-02 15:02:05 +09:00
dongHyo
bf531c59e6 fix: 맨 하단 공백 추가
github 경고표시 제거
2022-04-28 00:13:53 +09:00
dongHyo
3755fba271 refactor: db time-zone, encoding 설정 추가 2022-04-27 23:33:13 +09:00
dongHyo
275cc7f51d feat: application 환경 분리 2022-04-27 23:23:38 +09:00
dongHyo
beecfb1380 feat: init 2022-04-27 23:04:47 +09:00