From e08f81025d2bc3ed2e465a95a9151eee19cdcbc7 Mon Sep 17 00:00:00 2001 From: min9805 <56664567+min9805@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:03:45 +0900 Subject: [PATCH] Hotfix/v1.1.0 release2 (#179) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * Release v1.0.5 commit 32b991cebe0e49d54993f946fb87d9865dc51386 Merge: a5bddd7 99e81a2 Author: Mingyu Date: Wed Aug 14 17:32:39 2024 +0900 Merge branch 'master' into release/v1.0.5 # Conflicts: # build.gradle # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/entity/Event.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/entity/EventUser.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeSubmitResponseDto.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingGameInfoDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingInfoDtos.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/PositionDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/entity/DrawingLotteryEvent.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/repository/DrawingLotteryRepository.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/winner/repository/WinnerRepository.java # src/main/java/com/hyundai/softeer/backend/global/config/SwaggerConfig.java # src/main/java/com/hyundai/softeer/backend/global/exception/error/JwtException.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/main/java/com/hyundai/softeer/backend/global/jwt/UserDetailService.java # src/main/java/com/hyundai/softeer/backend/global/utils/ParseUtil.java # src/main/resources/logback-spring.xml # src/main/resources/sql/integration.sql # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/global/utils/ParseUtilTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit a5bddd7b0a4a68148932ba7fa49bef2779736a50 Author: Mingyu Date: Wed Aug 14 17:29:44 2024 +0900 feat: versioning commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * feat: v1.0.4 * feat: 이름 변경 * test: Test 코드 변경 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * Hotfix/v1.0.5 commit b23278ef1e1b1a4b4fa4dd527f5c57524ac3eef4 Author: Mingyu Date: Wed Aug 14 18:33:00 2024 +0900 feat: 화이트리스트 최신화 commit 156d191b7715aedad6eb92a54a6fb0b02cfc5b93 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Wed Aug 14 17:34:34 2024 +0900 Release/v1.0.5 (#138) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * feat: versioning --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * feat: v1.0.4 * feat: 이름 변경 * test: Test 코드 변경 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * hotfix/v1.0.5-release2 commit d7c5a0833ac3ec3d86fb651a73326111f4a233c2 Author: Mingyu Date: Thu Aug 15 14:58:31 2024 +0900 feat: JWT 토큰 만료기한 일주일로 연장 * [FE] 어드민 프론트엔드 서버 구축합니다. (#146) * feat: 어드민 프론트엔드 서버 구축 및 기초 작업 (#145) * feat: 백엔드 서버에서 이벤트 조회 후 페이지네이션 구현 (#145) * fix: preflight 요청 화이트리스트 추가 (#149) * 이벤트 조회 API 생성합니다. (#154) * feat: 리스트 생성을 위한 EventSimpleDto 생성 (#144) * feat: Event 페이지네이션 조회 API (#144) * 퀴즈 조회, 삭제, 생성 api를 작성합니다. * fix: event sql 추가 * feat: 이벤트가 존재하지 않을 때 발생하는 예외 * fix: @Tag로 Admin 명시 * feat: 퀴즈가 이미 존재할 때 발생하는 예외 * feat: 현재까지의 당첨자 컬럼의 기본 값을 설정함 * feat: 퀴즈 정보 반환, 생성, 삭제 api 구현 * feat: 퀴즈 삭제 요청 dto * feat: 퀴즈 정보 반환 api * feat: 퀴즈 등록 요청 dto * feat: 퀴즈 삭제 dao 작성 * feat: 퀴즈 조회, 생성, 삭제 api 작성 * feat: 퀴즈의 기본적인 dto를 작성함 * feat: 등록하고자 하는 퀴즈가 3개가 아닌 경우 예외 * feat: 기본적인 SubEvent 값을 담고 있는 dto * feat: 서브이벤트 삭제 메서드 작성 * [BE] 이벤트 유저 조회 api 작성 (#155) * fix: preflight 처리 버그 * feat: 이벤트 참가 참가 유저 조회 api 작성 * feat: 최대 페이지가 넘었을 때 발생하는 예외 처리 * feat: DB에서 데이터를 받기 위한 projection 작성 * feat: 이벤트 유저 요청 dto * feat: 이벤트 유저 페이지 응답 dto * feat: 이벤트 유저 페이지페이션 조회 구현 * feat: 이벤트 유저 페이지페이션 테스트 * feat: eventUser 비즈니스 로직 구현 * feat: 서브이벤트가 없을 때 예외 * feat: 당첨자 여부가 있는 유저 정보 dto 작성 * v1.0.5 버그 수정했습니다. (#160) * fix: shared_url default 값 제거 * fix: 모든 테이블 명을 소문자로 변경 * fix: GenerativeValue로 인해 사용자가 직접 id를 수정할 수 없음 * feat: 기대평 작성 시 보너스 기회 제공 (#158) * feat: 총 점수 반환 시 기대평 및 공유 기회 제출 (#158) * feat: 최종 게임 스코어 저장 (#158) * feat: Dto 추가 (#158) * test: 기대평 작성 시 로직 변경으로 테스트 코드 변경 (#158) --------- Co-authored-by: min9805 * 선착순 로직 추상화 및 동기화했습니다. (#161) * fix: 임시 수정 * feat: 선착순 로직 추상화 및 분리 * feat: 선착순 로직 관심사 분리 및 추상화 * fix: 여러 값이 나올 수 있으므로 Optional이 아닌 List로 수정 * feat: 퀴즈 정보 api 요청 dto * fix: 당첨자 수 증가 후 바로 데이터 베이스에 flush * fix: WinnerDraw QuizFirstcomeRepository 의존성 추가 * fix: @Synchronized 어노테이션 대신 synchronized 예약어 사용 * fix: 당첨자 선정 로직이 아니라 api 전체 로직을 동기화 * fix: @Transaction과 synchronized를 같이 쓸 수 없는 문제 때문에 synchronized 삭제 * fix: 당첨자 수를 QuizFirstCome에서 가져오지 않고 직접 세는 방식으로 변경 * feat: 당첨자 수를 세는 쿼리 작성 * feat: 당첨자 수를 세는 쿼리 테스트 * Release/v1.0.6 (#164) commit 9cc8171d5ba6500b48ca2154ac0c5bce84953099 Author: min9805 Date: Mon Aug 19 11:16:26 2024 +0900 feat: versioning commit b59397603cbdaffc2cb1a732159d060c0d99adff Merge: 64cb8cc 40cf919 Author: min9805 Date: Mon Aug 19 11:15:00 2024 +0900 Merge branch 'master' into release/v1.0.6 # Conflicts: # src/main/java/com/hyundai/softeer/backend/domain/event/service/EventService.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/EventUserController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/entity/EventUser.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepository.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/entity/QuizFirstCome.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/repository/QuizFirstComeRepository.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingTotalScoreDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/repository/SubEventRepository.java # src/main/java/com/hyundai/softeer/backend/domain/winner/repository/WinnerRepository.java # src/main/resources/sql/integration.sql # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/service/ExpectationServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 40cf919e36bbc2817fe79e352b8847e4f439c107 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Thu Aug 15 14:59:48 2024 +0900 Hotfix/v1.0.5 release2 (#143) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * Release v1.0.5 commit 32b991cebe0e49d54993f946fb87d9865dc51386 Merge: a5bddd7 99e81a2 Author: Mingyu Date: Wed Aug 14 17:32:39 2024 +0900 Merge branch 'master' into release/v1.0.5 # Conflicts: # build.gradle # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/entity/Event.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/entity/EventUser.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeSubmitResponseDto.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingGameInfoDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingInfoDtos.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/PositionDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/entity/DrawingLotteryEvent.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/repository/DrawingLotteryRepository.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/winner/repository/WinnerRepository.java # src/main/java/com/hyundai/softeer/backend/global/config/SwaggerConfig.java # src/main/java/com/hyundai/softeer/backend/global/exception/error/JwtException.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/main/java/com/hyundai/softeer/backend/global/jwt/UserDetailService.java # src/main/java/com/hyundai/softeer/backend/global/utils/ParseUtil.java # src/main/resources/logback-spring.xml # src/main/resources/sql/integration.sql # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/global/utils/ParseUtilTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit a5bddd7b0a4a68148932ba7fa49bef2779736a50 Author: Mingyu Date: Wed Aug 14 17:29:44 2024 +0900 feat: versioning commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * feat: v1.0.4 * feat: 이름 변경 * test: Test 코드 변경 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * Hotfix/v1.0.5 commit b23278ef1e1b1a4b4fa4dd527f5c57524ac3eef4 Author: Mingyu Date: Wed Aug 14 18:33:00 2024 +0900 feat: 화이트리스트 최신화 commit 156d191b7715aedad6eb92a54a6fb0b02cfc5b93 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Wed Aug 14 17:34:34 2024 +0900 Release/v1.0.5 (#138) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * feat: versioning --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 … * v1.0.6 각종 버그 정리합니다. (#167) * feat: 이미 가입된 소셜 로그인 시 에러 처리 (#165) * feat: 랜딩 페이지 당첨 여부 반환 (#165) * feat: 이미 당첨된 유저 예외 처리 (#165) * feat: Drawing 기회 소진 우선순위 적용 (#165) * Fix/#165 v1.0.6 bugs (#168) * feat: 이미 가입된 소셜 로그인 시 에러 처리 (#165) * feat: 랜딩 페이지 당첨 여부 반환 (#165) * feat: 이미 당첨된 유저 예외 처리 (#165) * feat: Drawing 기회 소진 우선순위 적용 (#165) * feat: 프론트 에러 페이지를 위해 isCustom 추가 (#165) * test: 테스트 코드 작성 (#165) * 레디스 연결합니다 (#166) * fix: QuizFirstComeInfoRequest.java 충돌 해결 * feat: 레디스 의존성 추가 * feat: 레디스 Counter 구현 * feat: 선착순에 들었지만 중복 참여자인 경우 문서 작성 * fix: 병합 충돌 처리 * fix: 디렉토리 위치 수정 (/domain/firstcome/service) -> (/domain/firstcome/service/winnerdraw) * feat: 레디스 연결 및 테스트 * fix: dto 중복 당첨자일때 정답 아님을 반환했던 것을 정답은 맞았다고 처리함. * feat: 당첨자 추첨 로직(WinnerDraw) 레디스를 이용한 구현체 작성 * fix: 레디스 연결 테스트 삭제 * feat: redis Config 설정 (#162) * feat: 기존 메서드 분리 및 인터페이스 화 (#162) * feat: Redis 로 랭킹 조회 변경 (#162) * feat: 에러 시 isCustom 추가 (#162) * feat: Redis 사용하도록 변경 (#162) * test: 임시 주석 처리 (#162) --------- Co-authored-by: min9805 * Release v1.1.0 commit fd8384f16ed305aa6a3eae29e598458e4cd24e9e Merge: 2d65441 d7477a7 Author: min9805 Date: Mon Aug 19 18:37:51 2024 +0900 Merge branch 'master' into release/v1.1.0 # Conflicts: # build.gradle # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/eventuser/entity/EventUser.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeInfoRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeSubmitResponseDto.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingInfoRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/user/service/HyundaiOauthService.java # src/main/java/com/hyundai/softeer/backend/domain/user/service/NaverOauthService.java # src/test/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java commit 2d654410f4a976c591f80305cbea535dd30a8f26 Author: min9805 Date: Mon Aug 19 18:37:09 2024 +0900 feat: versioning commit d7477a73b59fd3b10f00a5fad50b577b8d6d70d2 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Mon Aug 19 11:17:58 2024 +0900 Release/v1.0.6 (#164) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * Release v1.0.5 commit 32b991cebe0e49d54993f946fb87d9865dc51386 Merge: a5bddd7 99e81a2 Author: Mingyu Date: Wed Aug 14 17:32:39 2024 +0900 Merge branch 'master' into release/v1.0.5 # Conflicts: # build.gradle # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/entity/Event.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/entity/EventUser.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeSubmitResponseDto.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingGameInfoDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/DrawingInfoDtos.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/dto/PositionDto.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/entity/DrawingLotteryEvent.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/repository/DrawingLotteryRepository.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/winner/repository/WinnerRepository.java # src/main/java/com/hyundai/softeer/backend/global/config/SwaggerConfig.java # src/main/java/com/hyundai/softeer/backend/global/exception/error/JwtException.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/main/java/com/hyundai/softeer/backend/global/jwt/UserDetailService.java # src/main/java/com/hyundai/softeer/backend/global/utils/ParseUtil.java # src/main/resources/logback-spring.xml # src/main/resources/sql/integration.sql # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/global/utils/ParseUtilTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit a5bddd7b0a4a68148932ba7fa49bef2779736a50 Author: Mingyu Date: Wed Aug 14 17:29:44 2024 +0900 feat: versioning commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * feat: v1.0.4 * feat: 이름 변경 * test: Test 코드 변경 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * Hotfix/v1.0.5 commit b23278ef1e1b1a4b4fa4dd527f5c57524ac3eef4 Author: Mingyu Date: Wed Aug 14 18:33:00 2024 +0900 feat: 화이트리스트 최신화 commit 156d191b7715aedad6eb92a54a6fb0b02cfc5b93 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Wed Aug 14 17:34:34 2024 +0900 Release/v1.0.5 (#138) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * Release/v1.0.3 commit 34bb96bb73bffe6165f59579142bcf862144be3a Author: min9805 Date: Fri Aug 9 11:36:13 2024 +0900 feat: cors 와이드카드 설정 commit 21fc9a590a5fbe90a65f22c03cf8ca48682f776b Author: min9805 Date: Fri Aug 9 11:36:02 2024 +0900 feat: build 시 test active 설정 commit 7cc569ed5a23fd857bbe06814eae035be4f66529 Merge: 7b3bf77 44b068c Author: min9805 Date: Fri Aug 9 11:29:34 2024 +0900 Merge branch 'master' into release/v1.0.3 # Conflicts: # gradle.properties # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/resources/sql/integration.sql commit 7b3bf77a8d9337d8392f614061e6512e3086d141 Author: min9805 Date: Fri Aug 9 11:24:40 2024 +0900 feat: API Path 수정 commit 1346467f6f0af906cec8f04553e7d1fb7a1ad336 Author: min9805 Date: Fri Aug 9 11:22:23 2024 +0900 feat: Log Permission Error commit 7f02308d5408a200e5b766d17b881223911e36ff Merge: 5db777b 1771b59 Author: mjmj Date: Fri Aug 9 10:10:02 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 1771b5960e96d7e3a529328ebb42242e058929cf Author: mjmj Date: Fri Aug 9 10:09:48 2024 +0900 fix: 테스트 yml 추가 commit 5db777b8bb8d822299fc12e9fa627b3446057e6c Merge: 913af8e b5564cc Author: mjmj Date: Fri Aug 9 02:04:36 2024 +0900 Merge branch 'release/v1.0.3' into dev commit b5564cc72e29d5da6e660761451bea197cf85676 Author: mjmj Date: Fri Aug 9 02:03:59 2024 +0900 fix: base64 적용 해제 commit 913af8e12a1ecba585293c762ce48156fd63ec42 Merge: 8f40eb0 4afe625 Author: mjmj Date: Fri Aug 9 02:01:11 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 4afe625b9a1604ed5935cbdb0043a0ffe801b50f Author: mjmj Date: Fri Aug 9 02:00:40 2024 +0900 fix: base64 적용 commit 8f40eb01508eb70bf568258f8e229af7226cadc0 Merge: cf2a476 9839ded Author: mjmj Date: Fri Aug 9 01:08:27 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 9839dedd91e6b84cff1a74f60fc0052cf569df67 Author: mjmj Date: Fri Aug 9 01:08:12 2024 +0900 feat: cicd에서 테스트 파일을 읽도록 수정 commit cf2a476229cd11d83f3d2bd4c5d9cb5bf2934a36 Merge: cfb648f 907bd62 Author: mjmj Date: Fri Aug 9 00:54:34 2024 +0900 Merge branch 'release/v1.0.3' into dev commit 907bd62e9e13fa34819d3ea8b599db9906593a8c Author: mjmj Date: Fri Aug 9 00:54:12 2024 +0900 chore: 버전 1.0.3 설정 commit 43f9bc77734d8d442af9f29cb51a99d4964b4282 Author: mjmj Date: Fri Aug 9 00:52:42 2024 +0900 fix: shared_url unique key 위반 해결 commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 드로잉 게임 정보 API 생성했습니다. (#115) * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * fix: repositoryTest 삭제 * feat: drawing 엔티티 변경 (#93) * feat: 드로잉 게임을 위한 이미지 반환 타입 지정 (#93) * test: Drawing Repository 테스트 작성 및 SQL 문 최신화 (#93) * test: 드로잉 게임 정보 조회 Service 테스트 코드 작성 (#93) * feat: 게임 정보 조회 API 생성 및 문서화 (#93) * feat: 반환값 변경으로 인한 DTO 변경 (#93) * feat: 데이터 요청사항 변경으로 Dto 변경 (#93) * feat: integration-h2.sql 문 최신화 (#93) --------- Co-authored-by: mjmj * Fix/#114 v1.0.3 bugs (#116) * feat: JWT UserNot Found 시 예외 처리 (#114) * feat: 로그인 처리에서 JwtException 으로 처리 (#114) * feat: Email or Phone 으로 조회하는 메서드 추가 (#114) * test: Email, Phone 조회 테스트 코드 작성 (#114) * feat: 이메일, 전화번호 확인 로직 추가 (#114) * feat: firstcome 오타 수정 (#114) * feat: quiz 엔티티 이름 drawing 과 통일 (#114) * feat: 랜딩 페이지 별도 분리 및 화이트리스트 적용 (#114) * feat: Controller 단 Valid, event_id 설정 및 DTO 전달 (#114) * feat: import 정리 (#114) * Release v1.0.4 commit 92b5f1797b485d74c492536443e1793c97d9cd39 Author: min9805 Date: Fri Aug 9 20:44:40 2024 +0900 test: Test 코드 변경 commit d4d692b2ca862b3497482dcfc782a39ddacf989e Author: min9805 Date: Fri Aug 9 20:37:07 2024 +0900 feat: 이름 변경 commit 6dd36d023903103b875cc1627a42a68b74556acb Merge: 2db0aa7 679277e Author: min9805 Date: Fri Aug 9 20:35:45 2024 +0900 Merge branch 'master' into release/v1.0.4 # Conflicts: # .github/workflows/gradle-publish.yml # gradle.properties # src/main/java/com/hyundai/softeer/backend/domain/event/dto/ApiKeyRequest.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java # src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java # src/main/java/com/hyundai/softeer/backend/domain/expectation/controller/ExpectationController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/controller/QuizFirstComeController.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizRequest.java # src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java # src/main/java/com/hyundai/softeer/backend/domain/firstcomeevent/quiz/dto/QuizSubmitRequest.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/lottery/service/LotteryService.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/controller/SubEventController.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/dto/SubEventRequest.java # src/main/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventService.java # src/main/java/com/hyundai/softeer/backend/global/filter/JwtAuthorizationFilter.java # src/test/java/com/hyundai/softeer/backend/domain/eventuser/repository/EventUserRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/expectation/repository/ExpectationRepositoryTest.java # src/test/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryServiceTest.java # src/test/java/com/hyundai/softeer/backend/domain/subevent/service/SubEventServiceTest.java # src/test/resources/sql/integration-h2.sql # src/test/resources/sql/integration.sql commit 2db0aa7852007040626351b3083ec4c0947437c9 Author: min9805 Date: Fri Aug 9 20:31:51 2024 +0900 feat: v1.0.4 commit 679277edd7a9a747c910cb8d91972c390c564e33 Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 11:39:51 2024 +0900 Release/v1.0.3 (#113) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: /api/v1/quiz 퀴즈 문제 가져오는 api는 로그인이 필요함 (#91) * fix: RequestParam을 Dto로 변경 (#91) * feat: 퀴즈 문제 api의 Dto (#91) * feat: 퀴즈 이벤트가 진행중인지 검사하는 로직 작성 (#91) * feat: 퀴즈 api의 비즈니스 로직을 검사하는 유닛 테스트 (#91) * fix: 서브이벤트가 없으면 200반환이 아니라 400으로 반환되어야 한다 (#91) * refactor: CorsConfig에서 cors 설정하던 것을 WebConfig로 이동 (#91) * feat: quiz repository를 테스트 (#91) * feat: findByEventIdAndExecuteType 메서드 추가 (#91) * chore: 공백 제거 (#91) * fix: h2 테스트 의존성 추가 (#91) * fix: 유효성 검사 어노테이션 추가 [@Validated] (#98) * sql 파일 수정 및 병합으로 인한 코드 중복 해결 (#103) * fix: H2 database INSERT 문법 변경 * fix: 코드 중복 제거 * fix: 변수 재선언 제거 * fix: 테스트할 sql 파일 수정 * eventId를 쿼리 파라미터로 받지 않게 수정 (#105) * fix: eventId를 환경변수로 받음 (#104) * fix: eventId 제거 (#104) * fix: eventId 제거 (#104) * fix: Winners 테이블에 ranking 컬럼 추가 (#104) * fix: 상태 값을 상수로 변경 (#104) * api 경로 수정 및 예외 수정 (#109) * fix: expectationComment -> comment * fix: GET /expectation/land -> /expectation fix: POST /expectation/register -> /expectation * fix: expectationBannerImgUrl -> bannerImgUrl * fix: expectationContent -> comments * fix: validation 라이브러리 추가 * fix: @Data, @NoArgsConstruct 추가 * chore: expectationPage 컬럼 명 변경 * fix: 퀴즈 테이블명 수정 * fix: api 경로 수정 * fix: 중복 코드 제거 * fix: quiz 테이블명 변경에 따른 코드 수정 * fix: POST 메서드에 @ParameterObject 제거 * fix: 테이블 명을 quizzes에서 quiz_firstcome_events로 변경 * fix: quizSubmitResponseDto를 반환하지 않는 문제 해결 * fix: @ParameterObject 제거 * 드로잉 추첨 이벤트 테이블 및 추첨 메서드 도메인 변경합니다. (#110) * feat: 추첨 메서드 도메인 변경 (#108) * test: 추첨 이벤트 테스트 코드 작성 (#108) * feat: Import 부분 삭제 (#108) * feat: 유효성 검사 메서드 추출 (#108) * 단축 URL 생성 및 Redirect 구현합니다. (#107) * feat: Entity 및 Dto 변경 (#100) * feat: 이벤트 참가 유저 랜덤값 생성 및 예외 처리 (#100) * feat: ShaedUrl 랜덤값 업데이트 및 저장 (#100) * feat: shard-url API 생성 및 문서화 (#100) * feat: URL 을 통해 특정 유저 매핑 후 Redirect URL 반환 (#100) * feat: Shared URL을 PathParameter 로 가지는 API 생성 (#100) * fix: shared_url unique key 위반 해결 * chore: 버전 1.0.3 설정 * feat: cicd에서 테스트 파일을 읽도록 수정 * fix: base64 적용 * fix: base64 적용 해제 * fix: 테스트 yml 추가 * feat: Log Permission Error * feat: API Path 수정 * feat: build 시 test active 설정 * feat: cors 와이드카드 설정 --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 44b068c86e5f39b61a1c90341720f5e71f2e58f7 Merge: fc95896 4149e6d Author: mjmj Date: Tue Aug 6 19:06:29 2024 +0900 Merge branch 'release/v1.0.2' commit 4149e6d9d5e7c61eecbb5107f2571f27a8d9a0c7 Author: mjmj Date: Tue Aug 6 18:59:42 2024 +0900 fix: ci pull-request에서 push로 변경 commit 4a4ae8b6ecab7b7dca6ebc3a62bb2165b0a5e258 Author: mjmj Date: Tue Aug 6 18:25:30 2024 +0900 fix: repositoryTest 삭제 commit a96eaaa3ffdf671b495da506c9503fe2b9171a02 Author: mjmj Date: Tue Aug 6 17:24:57 2024 +0900 feat: release 1.0.2 commit fc958965b800fdff9b7b63c6bd953dd46cb26b67 Author: mjmj <108040422+violet-mj@users.noreply.github.com> Date: Tue Aug 6 12:07:21 2024 +0900 hotfix: json resolve 문제 해결 (#85) * 메인 랜딩페이지 api 작성 (#121) * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 이미지 url을 저장하는 컬럼 추가 * feat: 메인 랜딩 페이지 화이트리스트 추가 * feat: 메인 랜딩 페이지 api 추가 * chore: 메인 랜딩 페이지 테스트 작성 * feat: 메인 랜딩 페이지 서비스 레이어 작성 * refactor: 도메인이 main인 것은 너무 추상적이다. main을 event 도메인으로 이동 * fix: @Value와 @NotNull과 같이 쓰는 것은 의미가 없음 * fix: any(Long.class)를 anyLong()으로 변경 * fix: Event의 event_registered_at은 created_at과 중복됨 * 드로잉 이벤트 채점 로직 추가합니다. (#125) * feat: 드로잉 추첨 이벤트 게임 제출 및 채점 API (#124) * feat: 정답 json 파싱을 위한 의존성 주입과 util 메서드 생성 (#124) * feat: 파싱 및 채점 후 반환 메서드 생성 (#124) * feat: 유클리드 거리 계산을 통한 점수 채점 (#124) * test: 점수 측정 테스트 코드 작성 (#124) * feat: 코사인 유사도를 통한 채점 로직 구현 (#124) * feat: 유클리드 점수 측정 범위 0~100 으로 제한 (#124) * test: 고득점과 저득점 테스트케이스 분리 (#124) * feat: example 설정 및 controller 연결 (#124) * feat: 프론트엔드 요청 사항으로 blur 이미지 함께 반환 (#124) * feat: n_차 게임 점수 저장 로직 추가 (#124) * test: 저장로직 추가로 인한 테스트 코드 변경 (#124) * feat: 총 점 계산 로직 (#124) * feat: ScoreCalculator 분리 (#124) * test: ScoreCalculator Spy 객체 주입 (#124) * feat: get 사용 로직 메서드 분리 (#124) * 드로잉 게임 시 횟수를 차감합니다. (#127) * feat: default 값, lastChargeAt 추가 및 updateLastVisitedAtAndLastChargeAt 메서드 추가 (#124) * feat: 로그인 사용자만 API 허용 (#124) * feat: 기회 차감 로직 생성 및 NoChanceUser 예외 처리 (#124) * test: 게임 Info 요청 시 게임 가능 횟수에 대한 테스트 코드 (#124) * test: 첫 참여 유저에 대한 테스트코드 작성 (#124) * feat: 플레이 타입에 따른 횟수 차감을 위한 Enum 생성 (#126) * feat: 이벤트 타입을 받기 위한 Dto 변경 (#126) * feat: UserDetailService Exception BaseException 으로 변경 (#126) * feat: 플레이 타입에 따른 update 분기 처리 (#126) * test: 플레이 타입에 따른 테스트코드 작성 (#126) * 중복 당첨자 검사할 수 있는 로직 추가 (#129) * fix: 중복 당첨자 검사 기능 추가 * fix: 중복 검사가 있을 때 Dto 템플릿 추가 * feat: 디버그 레벨에서 request(url, method) 기록 저장 * feat: findByUserIdAndSubEventId 추가 * 메인 랜딩 페이지 퀴즈 시작 시간 정보 제공 (#135) * feat: subEvent가 시작되었는지 여부를 나타내는 메서드 * fix: 퀴즈 시작 시간과 시작 여부를 알려주는 List 변수 작성 * fix: MainLandDto 수정에 따른 로직 수정 * feat: 시작 시간이 잘 응답하는지 확인 * feat: 시작 시간과 시작 여부를 담고 잇는 Dto 작성 * fix: 불필요한 코드 삭제 * fix: swagger example이 부적절하게 나와있는 것을 확인하고 수정 * v1.0.4 의 각종 버그들 정리했습니다. (#133) * #feat: Spring.log 파일 gitignore 추가 (#128) * feat: 공유 url 접근 시 공유 점수 추가 (#128) * feat: Tag 생성 및 컨트롤러 태그 삽입 (#128) * feat: 로그 파일 위치 변경 및 ignore 최신화 (#128) * feat: 설명과 상이한 부분 변경 (#128) * feat: 실제 당첨 이미지를 위한 엔티티 필드 추가 및 반환 값 변경 (#128) * feat: 랜딩 페이지 조회 시 subEvent 반환되도록 DTO 변경 (#128) * feat: deault 값 설정 (#128) * feat: 요구사항 변경으로 엔티티 및 DTO 변경 (#128) * feat: SQL 문 최신화 (#128) * feat: versioning --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj commit 99e81a2714978a7556a187f761bffb716411fedd Author: min9805 <56664567+min9805@users.noreply.github.com> Date: Fri Aug 9 20:46:32 2024 +0900 Release/v1.0.4 (#119) * feat: release 1.0.2 (#87) * 추첨 이벤트 추첨 구현 (#92) * feat: EventUser 데이터베이스에서 N 명 추첨 메서드 생성 (#37) * feat: 랭킹 Dto Example 추가 (#37) * feat: winnersMeta Json 타입으로 변경 (#37) * feat: Json 타입 변경으로 인한 util, test 변경 (#37) * feat: DTO 변경 및 Wrapper Class to Primitive Type 으로 변경 (#37) * #feat: 추첨 메서드 작성 (#37) * feat: 추첨 메서드를 위한 API 생성 및 인가를 위한 ApiKey 임시 설정 (#37) * feat: WrapperClass 변경 (#37) * feat: Request 를 위한 Dto 생성 및 ApiKey Validate (#37) * #feat: JsonParseException 추가 (#37) * feat: 이미 추첨이 완료된 경우 Exception (#37) * feat: 반환값 변경 (#37) * feat: 총 수상자 수 로직 위치 변경 (#37) * feat: 랜덤 사용자 추출 및 Extra 추출 (#37) * feat: 주석 추가 및 네이밍 변경, 예외 처리 순서 변경 (#37) * fix: Rank 추가 및 등수 저장 (#37) * test: 추첨 로직 테스트 (#37) * test: drawWinner 메서드 테스트 코드 작성 (#37) * docs: Swagger 문서화 (#37) * fix: User builder 로 변경 (#37) * #feat: MySQL 예약어로 winner 필드 명 변경 (#37) * feat: RAND 및 Pageable 이슈로 인한 Native 쿼리로 변경 (#37) * EventUser Info API 변경합니다. (#95) * docs: Swagger 문서화 정리 (#94) * feat: EventUser NotFound 시 예외 처리 (#94) * test: 메서드 변경으로 인한 테스트 코드 변경 (#94) * EventUserRepository 단위 테스트 (#99) * feat: 테스트 시 내장 H2 사용 및 초기 SQL 문 삽입 (#94) * test: EventUserRepository 테스트 코드 작성 * cors 설정 변경 및 quiz 이벤트 로직 변경 (#97) * fix: CorsConfig를 WebConfig로 통합 (#91) * feat: 테스트 용 데이터 생성 메서드 작성 (#91) * feat: 환경을 상수로 선언 (test, prod, dev) (#91) * feat: 퀴즈 마지막 번호(lastQuizNumber) 추가 (#91) * feat: 기대평 결과 값을 오름차순이 아닌 내림차순으로 변경 (#91) * fix: 서비스 로직 변경 (기대평을 최신순으로 반환) (#91) * fix: QuizNotExistException으로 변경 (#91) * fix: /api/v1/quiz 퀴즈 문제 가… * fix: 퀴즈 제출 결과 이미지를 변환, 퀴즈 랜딩에 퀴즈 번호 반환 * feat: PathVariable 설정 (#175) * feat: Redis 에 랭킹 20개만 저장되도록 변경 (#175) * feat: RANKCOUNT 상수화 (#175) --------- Co-authored-by: mjmj <108040422+violet-mj@users.noreply.github.com> Co-authored-by: mjmj --- .../controller/SharedUrlController.java | 4 +--- .../eventuser/service/EventUserService.java | 6 +++--- .../dto/QuizFirstComeLandResponseDto.java | 3 +++ .../quiz/service/QuizFirstComeService.java | 1 + .../winnerdraw/QuizWinnerDrawRedis.java | 4 +--- .../winnerdraw/QuizWinnerDrawSync.java | 2 +- .../controller/DrawingLotteryController.java | 4 +--- .../service/DrawingLotteryService.java | 12 ++++++----- .../drawing/service/rank/DrawingRank.java | 2 +- .../service/rank/DrawingRankRedis.java | 21 ++++++++++++++++++- .../drawing/service/rank/DrawingRankSync.java | 2 +- .../backend/domain/prize/entity/Prize.java | 2 ++ 12 files changed, 42 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java b/src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java index f446b5a6..0556a1fb 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/eventuser/controller/SharedUrlController.java @@ -1,7 +1,6 @@ package com.hyundai.softeer.backend.domain.eventuser.controller; import com.hyundai.softeer.backend.domain.eventuser.dto.RedirectUrlDto; -import com.hyundai.softeer.backend.domain.eventuser.dto.SharedUrlRequest; import com.hyundai.softeer.backend.domain.eventuser.service.EventUserService; import com.hyundai.softeer.backend.global.dto.BaseResponse; import io.swagger.v3.oas.annotations.Operation; @@ -13,7 +12,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -42,7 +40,7 @@ public class SharedUrlController { @ApiResponse(responseCode = "404", description = "존재하지 않는 이벤트 참가자", content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = BaseResponse.class), examples = @ExampleObject("{\"message\":\"잘못된 공유 주소입니다.\",\"status\":404}"))}), }) public BaseResponse getSharedUrl( - @PathVariable @Validated SharedUrlRequest sharedUrl + @PathVariable String sharedUrl ) { return new BaseResponse<>(eventUserService.getRedirectUrl(sharedUrl)); } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java b/src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java index 55f35ffc..5a9118a0 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/eventuser/service/EventUserService.java @@ -34,7 +34,7 @@ public class EventUserService { public EventUserInfoDto getEventUserInfo(User user, Long subEventId) { EventUser eventUser = eventUserRepository.findByUserIdAndSubEventId(user.getId(), subEventId) .orElseThrow(() -> new EventUserNotFoundException()); - + return EventUserInfoDto.fromEntity(eventUser); } @@ -101,8 +101,8 @@ public EventUserPageResponseDto getUserPage(EventUserPageRequest eventUserPageRe .build(); } - public RedirectUrlDto getRedirectUrl(SharedUrlRequest sharedUrlRequest) { - EventUser eventUser = eventUserRepository.findBySharedUrl(sharedUrlRequest.getSharedUrl()) + public RedirectUrlDto getRedirectUrl(String sharedUrl) { + EventUser eventUser = eventUserRepository.findBySharedUrl(sharedUrl) .orElseThrow(() -> new SharedUrlNotFoundException()); eventUser.scoreSharedScore(); diff --git a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeLandResponseDto.java b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeLandResponseDto.java index 8f5028f0..2e4496d6 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeLandResponseDto.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/dto/QuizFirstComeLandResponseDto.java @@ -12,6 +12,9 @@ @Getter public class QuizFirstComeLandResponseDto { + @Schema(description = "퀴즈 번호", example = "1") + private Integer quizSequence; + @Schema(description = "이벤트 유효 여부", example = "true") private boolean valid; diff --git a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java index c6941b2f..4d646db4 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/QuizFirstComeService.java @@ -132,6 +132,7 @@ public QuizFirstComeLandResponseDto getQuizLand(Long eventId) { .startAt(subEvent.getStartAt()) .endAt(subEvent.getEndAt()) .lastQuizNumber(subEvents.size()) + .quizSequence(quizFirstCome.getSequence()) .build(); } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawRedis.java b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawRedis.java index c8661bd5..761ec1e4 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawRedis.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawRedis.java @@ -42,8 +42,6 @@ public synchronized QuizFirstComeSubmitResponseDto winnerDraw(EventUser eventUse winner.setUser(authenticatedUser); winnerRepository.save(winner); - counterService.incrementCounter(CounterService.COUNTER_KEY); - - return QuizFirstComeSubmitResponseDto.winner(prize.getPrizeWinningImgUrl()); + return QuizFirstComeSubmitResponseDto.winner(prize.getPrizeResultImgUrl()); } } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawSync.java b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawSync.java index ac348deb..c0357c64 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawSync.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/firstcome/quiz/service/winnerdraw/QuizWinnerDrawSync.java @@ -55,6 +55,6 @@ public synchronized QuizFirstComeSubmitResponseDto winnerDraw( eventUser.updateWinner(); eventUserRepository.save(eventUser); - return QuizFirstComeSubmitResponseDto.winner(prize.getPrizeWinningImgUrl()); + return QuizFirstComeSubmitResponseDto.winner(prize.getPrizeResultImgUrl()); } } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java index f0d8a8cc..73578595 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/controller/DrawingLotteryController.java @@ -30,8 +30,6 @@ @Slf4j @RequestMapping("/api/v1/lottery/drawing") public class DrawingLotteryController { - public static final int RANK_COUNT = 20; - private final DrawingLotteryService drawingLotteryService; @Value("${properties.event-id}") @@ -78,7 +76,7 @@ public BaseResponse getDrawingLandingPage() { public BaseResponse> getRankList( @Validated SubEventRequest subEventRequest ) { - return new BaseResponse<>(drawingLotteryService.getRankList(subEventRequest, RANK_COUNT)); + return new BaseResponse<>(drawingLotteryService.getRankList(subEventRequest)); } @GetMapping("") diff --git a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java index afb5241d..753e0e87 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/DrawingLotteryService.java @@ -39,17 +39,19 @@ public class DrawingLotteryService implements LotteryService { private final ScoreCalculator scoreCalculator; private final DrawingRank drawingRank; + public static final int RANK_COUNT = 20; + @Value("${properties.event-id}") private Long eventId; @PostConstruct public void init() { - SubEvent rankingSubEvent = subEventRepository.findByEventId(eventId) + subEventRepository.findByEventId(eventId) .stream() .filter(subEvent -> subEvent.getEventType().equals(SubEventType.DRAWING)) .findFirst().get(); - drawingRank.updateRankingData(rankingSubEvent.getId(), 20); + drawingRank.updateRankingData(rankingSubEvent.getId(), RANK_COUNT); } @Transactional(readOnly = true) @@ -64,8 +66,8 @@ public DrawingLotteryLandDto getDrawingLotteryLand(long eventId) { return DrawingLotteryLandDto.fromEntity(drawing); } - public List getRankList(SubEventRequest subEventRequest, int rankCount) { - return drawingRank.getRankList(subEventRequest, rankCount); + public List getRankList(SubEventRequest subEventRequest) { + return drawingRank.getRankList(subEventRequest, RANK_COUNT); } private SubEvent findDrawingEvent(List subEvents) { @@ -177,6 +179,6 @@ public DrawingScoreDto getDrawingScore(User authenticatedUser, DrawingScoreReque @Transactional public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest) { - return drawingRank.getDrawingTotalScore(authenticatedUser, subEventRequest); + return drawingRank.getDrawingTotalScore(authenticatedUser, subEventRequest, RANK_COUNT); } } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRank.java b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRank.java index 9ae54c1c..ac57d187 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRank.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRank.java @@ -10,7 +10,7 @@ public interface DrawingRank { List getRankList(SubEventRequest subEventRequest, int rankCount); - DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest); + DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest, int rankCount); void updateRankingData(long subEventId, int rankCount); } diff --git a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankRedis.java b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankRedis.java index 117d1334..1ee8d0e2 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankRedis.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankRedis.java @@ -54,7 +54,7 @@ public List getRankList(SubEventRequest subEventRequest, int rankCount) @Transactional @Override - public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest) { + public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest, int rankCount) { EventUser eventUser = eventUserRepository.findByUserIdAndSubEventId(authenticatedUser.getId(), subEventRequest.getSubEventId()) .orElseThrow(() -> new EventUserNotFoundException()); @@ -73,6 +73,25 @@ public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEven eventUser.updateGameScore(totalScore); eventUserRepository.save(eventUser); redisTemplate.opsForZSet().add(RANKING_KEY, authenticatedUser.getName(), totalScore); + Long rankSize = redisTemplate.opsForZSet().zCard(RANKING_KEY); + + if (rankSize != null && rankSize < rankCount) { + redisTemplate.opsForZSet().add(RANKING_KEY, authenticatedUser.getName(), totalScore); + } else if (rankSize != null) { + // ZSet의 크기가 20이라면, 20번째 순위의 값을 가져옴 + Set> range = redisTemplate.opsForZSet().rangeWithScores(RANKING_KEY, -1, -1); + if (range != null && !range.isEmpty()) { + ZSetOperations.TypedTuple lastRank = range.iterator().next(); + double lastRankScore = lastRank.getScore(); + + // 새로운 값이 20위의 값보다 크다면 추가 + if (totalScore > lastRankScore) { + redisTemplate.opsForZSet().add(RANKING_KEY, authenticatedUser.getName(), totalScore); + // 최하위 랭크 제거 (21번째 항목 제거) + redisTemplate.opsForZSet().removeRange(RANKING_KEY, 0, 0); + } + } + } } return DrawingTotalScoreDto.builder() diff --git a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankSync.java b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankSync.java index e44a35ee..22735a1b 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankSync.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/lottery/drawing/service/rank/DrawingRankSync.java @@ -40,7 +40,7 @@ public List getRankList(SubEventRequest subEventRequest, int rankCount) @Transactional @Override - public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest) { + public DrawingTotalScoreDto getDrawingTotalScore(User authenticatedUser, SubEventRequest subEventRequest, int rankCount) { EventUser eventUser = eventUserRepository.findByUserIdAndSubEventId(authenticatedUser.getId(), subEventRequest.getSubEventId()) .orElseThrow(() -> new EventUserNotFoundException()); diff --git a/src/main/java/com/hyundai/softeer/backend/domain/prize/entity/Prize.java b/src/main/java/com/hyundai/softeer/backend/domain/prize/entity/Prize.java index bfd179d4..72f5e7c4 100644 --- a/src/main/java/com/hyundai/softeer/backend/domain/prize/entity/Prize.java +++ b/src/main/java/com/hyundai/softeer/backend/domain/prize/entity/Prize.java @@ -25,4 +25,6 @@ public class Prize { private String prizeImgUrl; private String prizeWinningImgUrl; + + private String prizeResultImgUrl; }