Skip to content

Commit

Permalink
[Refactor] 데이터베이스 업데이트하는 로직 쿼리 사용하도록 리팩토링 (#120)
Browse files Browse the repository at this point in the history
* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Feature] static �text를 관리하는 enum 구현 (#71)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

---------

Co-authored-by: hyeokson <[email protected]>

* �[Refactor] MainPageController 클래스명 변경 (#72)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 메인 페이지 GET API 구현하기 (#73)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

* feat: 메인페이지 자동차 정적 정보 응답 dto 구현

* feat: 메인페이지 이벤트 정적 정보 응답 dto 구현

* refactor: 클래스 및 변수명 변경

* refactor: 클래스명 변경

* refactor: 클래스명 변경

* refactor: round 변수 삭제

* feat: 인증검사를 하지 않는 url 추가

* feat: 메인 페이지 컨트롤러 구현

* feat: 메인 페이지 service 클래스 구현

* feat: 정적자원util 클래스 초기화 메서드 구현

* refactor: enum 변수명 수정

* refactor: Fcfs 당첨자 수 수정 로직 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 어드민 회원가입 기능 구현 (#75)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: 어드민 회원가입 요청 dto 구현

* feat: swagger controller 구현

* feat: 어드민 회원가입 controller 메서드 구현

* feat: 어드민 로그인 요청 dto 수정

* feat: 어드민 회원가입 기능 구현

* feat: 메서드 추가

- 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현

* feat: swagger, admin url 추가

* feat: swagger 서버 주소 변경

* feat: cors 설정

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: 어드민 회원가입 요청 dto 구현

* feat: swagger controller 구현

* feat: 어드민 회원가입 controller 메서드 구현

* feat: 어드민 로그인 요청 dto 수정

* feat: 어드민 회원가입 기능 구현

* feat: 메서드 추가

- 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현

* feat: swagger, admin url 추가

* feat: swagger 서버 주소 변경

* feat: cors 설정

* feat: 특정 url에 대해서 인가 검사 하지 않도록 구현

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* feat: 유저 생성 시 공유 정보 생성하도록 수정

* feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정

* refactor: ShareUrlInfo에 빌더 어노테이션 추가

* feat: List형태로 공유 url 가져오는 메서드 추가

* feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가

* refactor: NoArgsConstructor, AllArgsConstructor 추가

* refactor: GeneratedValue 어노테이션 삭제

* refactor: readOnly false로 변경

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Feature] static �text를 관리하는 enum 구현 (#71)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

---------

Co-authored-by: hyeokson <[email protected]>

* �[Refactor] MainPageController 클래스명 변경 (#72)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 메인 페이지 GET API 구현하기 (#73)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

…
  • Loading branch information
3 people authored Aug 16, 2024
1 parent 38bc5eb commit 8496022
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,24 @@

import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.Optional;

@Repository
public interface DrawParticipationInfoRepository extends JpaRepository<DrawParticipationInfo, Integer> {
Optional<DrawParticipationInfo> findDrawParticipationInfoByUserId(Integer userId);

@Modifying
@Transactional
@Query("UPDATE DrawParticipationInfo d SET d.drawWinningCount = d.drawWinningCount + 1 WHERE d.userId = :userId")
void increaseWinCount(Integer userId);

@Modifying
@Transactional
@Query("UPDATE DrawParticipationInfo d SET d.drawLosingCount = d.drawLosingCount + 1 WHERE d.userId = :userId")
void increaseLoseCount(Integer userId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -110,23 +110,19 @@ public ResponseDto<DrawModalResponseDto> participateDrawEvent(Integer userId) {
ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)
.orElseThrow(() -> new ShareInfoException(ErrorStatus._NOT_FOUND));

int invitedNum = shareInfo.getInvitedNum();
int remainDrawCount = shareInfo.getRemainDrawCount();

// 만약 남은 참여 기회가 0이라면
if (remainDrawCount == 0) {
return ResponseDto.onSuccess(responseLoseModal(userId));
}

DrawParticipationInfo drawParticipationInfo = drawParticipationInfoRepository.findDrawParticipationInfoByUserId(userId)
.orElseThrow(() -> new DrawException(ErrorStatus._NOT_FOUND));

// 만약 당첨 목록에 존재한다면 이미 오늘은 한 번 당첨됐다는 뜻이므로 LoseModal 반환
int ranking = getRankingIfWinner(userId); // 당첨 목록에 존재한다면 랭킹 반환
if (ranking != 0) {
decreaseRemainDrawCount(userId, invitedNum, remainDrawCount); // 횟수 1회 차감
shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감
increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가
increaseLoseCount(drawParticipationInfo); // 낙첨 횟수 증가
drawParticipationInfoRepository.increaseLoseCount(userId); // 낙첨 횟수 증가
return ResponseDto.onSuccess(responseLoseModal(userId)); // LoseModal 반환
}

Expand All @@ -144,7 +140,7 @@ public ResponseDto<DrawModalResponseDto> participateDrawEvent(Integer userId) {
drawUtil.performDraw();

if (drawUtil.isDrawWin()) { // 당첨자일 경우
decreaseRemainDrawCount(userId, invitedNum, remainDrawCount); // 횟수 1회 차감
shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감

ranking = drawUtil.getRanking();
int winnerNum;
Expand All @@ -159,18 +155,18 @@ public ResponseDto<DrawModalResponseDto> participateDrawEvent(Integer userId) {
if (isWinner(userId, ranking, winnerNum)) { // 레디스에 추첨 티켓이 남았다면, 레디스 당첨 목록에 추가
// 추첨 티켓이 다 팔리지 않았다면
increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가
increaseWinCount(drawParticipationInfo); // 당첨 횟수 증가
drawParticipationInfoRepository.increaseWinCount(userId); // 당첨 횟수 증가
return ResponseDto.onSuccess(responseWinModal()); // WinModal 반환
} else {
// 추첨 티켓이 다 팔렸다면 로직상 당첨자라도 실패 반환
increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가
increaseLoseCount(drawParticipationInfo); // 낙첨 횟수 증가
drawParticipationInfoRepository.increaseLoseCount(userId); // 낙첨 횟수 증가
return ResponseDto.onSuccess(responseLoseModal(userId)); // LoseModal 반환
}
} else { // 낙첨자일 경우
decreaseRemainDrawCount(userId, invitedNum, remainDrawCount); // 횟수 1회 차감
shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감
increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가
increaseLoseCount(drawParticipationInfo); // 낙첨 횟수 증가
drawParticipationInfoRepository.increaseLoseCount(userId); // 낙첨 횟수 증가
return ResponseDto.onSuccess(responseLoseModal(userId)); // LoseModal 반환
}
}
Expand Down Expand Up @@ -204,34 +200,6 @@ private DrawWinModalResponseDto responseWinModal() {
.build();
}

/**
* 당첨된 경우 당첨 횟수 증가
*
* @param drawParticipationInfo 추첨 참여 정보
*/
private void increaseWinCount(DrawParticipationInfo drawParticipationInfo) {
drawParticipationInfoRepository.save(DrawParticipationInfo.builder()
.userId(drawParticipationInfo.getUserId())
.drawWinningCount(drawParticipationInfo.getDrawWinningCount() + 1)
.drawLosingCount(drawParticipationInfo.getDrawLosingCount())
.drawParticipationCount(drawParticipationInfo.getDrawParticipationCount())
.build());
}

/**
* 당첨되지 않은 경우 낙첨 횟수 증가
*
* @param drawParticipationInfo 추첨 참여 정보
*/
private void increaseLoseCount(DrawParticipationInfo drawParticipationInfo) {
drawParticipationInfoRepository.save(DrawParticipationInfo.builder()
.userId(drawParticipationInfo.getUserId())
.drawWinningCount(drawParticipationInfo.getDrawWinningCount())
.drawLosingCount(drawParticipationInfo.getDrawLosingCount() + 1)
.drawParticipationCount(drawParticipationInfo.getDrawParticipationCount())
.build());
}

@EventLock(key = "DRAW_WINNER_#{#ranking}")
private boolean isWinner(Integer userId, int ranking, int winnerNum) {
String drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;
Expand All @@ -253,25 +221,6 @@ private void increaseDrawParticipationCount() {
eventLockRedisUtil.incrementData(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());
}

/**
* 참여 횟수 1회 차감
*
* @param userId 그대로 저장
* @param invitedNum 그대로 저장
* @param remainDrawCount 1회 차감 후 저장
*/
private void decreaseRemainDrawCount(Integer userId, int invitedNum, int remainDrawCount) {
// 횟수 1회 차감
int newRemainDrawCount = remainDrawCount - 1;
ShareInfo shareInfo = ShareInfo.builder()
.userId(userId)
.invitedNum(invitedNum)
.remainDrawCount(newRemainDrawCount)
.build();

shareInfoRepository.save(shareInfo);
}

/**
* 당첨 내역 조회하는 메서드
* 1. 당첨자라면 WinModal과 같은 당첨 내역 모달 응답
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import java.util.Optional;

Expand All @@ -15,4 +16,9 @@ public interface ShareInfoRepository extends JpaRepository<ShareInfo, Integer> {
@Modifying
@Query("UPDATE ShareInfo s SET s.remainDrawCount = s.remainDrawCount + 1 WHERE s.userId = :userId")
void increaseRemainDrawCount(Integer userId);

@Modifying
@Transactional
@Query("UPDATE ShareInfo s SET s.remainDrawCount = s.remainDrawCount - 1 WHERE s.userId = :userId")
void decreaseRemainDrawCount(Integer userId);
}

0 comments on commit 8496022

Please sign in to comment.