Skip to content

Commit

Permalink
[Feat] 선착순 이벤트의 시작 시간을 보내주는 기능 구현 (#191)
Browse files Browse the repository at this point in the history
* [Infra] CI/CD test (#42)

* 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: 환경변수 확인 추가

* infra: zip file 만들기 추가, AWS credentials 추가

* infra: 환경변수 이름 변경

- ARN -> AWS_ARN

* infra: s3 bucket에 업로드 추가

* infra: code deploy 추가

* infra: code deploy 수정

* infra: code deploy 수정

* infra: appspec.yml 작성

* infra: application.yml 생성 경로 변경

* infra: application.yml 확인 스크립트 삭제

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

* infra: application-prod.yml 추가

* infra: appspec.yml 수정, 배포를 위한 sh파일 추가

* infra: deploy.yml 이름 변경

- test_deploy -> deploy

* infra: body = null 설정

* infra: develop에 머지되었을 때만 발동하도록 수정

* feat: draw_rank column 이름 수정

* Infra: environment 삭제

* [Infra] CI CD test 3 (#45)

* 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: 환경변수 확인 추가

* infra: zip file 만들기 추가, AWS credentials 추가

* infra: 환경변수 이름 변경

- ARN -> AWS_ARN

* infra: s3 bucket에 업로드 추가

* infra: code deploy 추가

* infra: code deploy 수정

* infra: code deploy 수정

* infra: appspec.yml 작성

* infra: application.yml 생성 경로 변경

* infra: application.yml 확인 스크립트 삭제

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

* infra: application-prod.yml 추가

* infra: appspec.yml 수정, 배포를 위한 sh파일 추가

* infra: deploy.yml 이름 변경

- test_deploy -> deploy

* infra: body = null 설정

* infra: develop에 머지되었을 때만 발동하도록 수정

* feat: draw_rank column 이름 수정

* Infra: environment 삭제

* Infra: environment 삭제

* config: jwt 속성을 yml에 설정

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

* doc: jacoco 파일 생성

* feat: 선착순 이벤트 당첨 기록 응답 Dto 클래스

* chore: 패키지 변경

* feat: winningDate값 바인딩

* chore: 패키지 변경

* refactor: 변수 타입 변경

* feat: 선착순 당첨 기록을 처리하는 메서드 구현

* feat: 선착순 당첨 기록 응답을 반환하는 메서드 구현

* feat: 인수로 넘어온 선착순 설정 정보를 바인딩하는 메서드 구현

* chore: 패키지 변경

* refactor: redis prefix 상수 변경

* fix: 퀴즈 힌트 조회 로직 수정

* refactor: 메서드 변경

* feat: timeformatter 추가

* feat: entity에 변수 추가

* feat: 선착순 repository 메서드 추가

* chore: jacoco 파일 삭제

* test: 메서드 수정

* refactor: fcfsStartTime을 바인딩하도록 변경

* refactor: 필드 수정

* feat: request uri를 확인하는 로그 추가

* feat: 메서드 생성

- 현재 선착순 이벤트가 진행중이라면 현재 이벤트의 시작시간을, 진행중이 아니라면 다음 이벤트 시작시간을 반환하는 메서드 구현

---------

Co-authored-by: DrRivaski <[email protected]>
Co-authored-by: hyeokson <[email protected]>
  • Loading branch information
3 people authored Aug 21, 2024
1 parent 189a28d commit 0cc7a7d
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,19 @@ public LocalDateTime getNextFcfsTime(LocalDateTime now) {
return null;
}

/**
* 현재 선착순 이벤트가 진행중이라면 현재 이벤트의 시작시간을, 진행중이 아니라면 다음 이벤트 시작시간을 반환하는 메서드
*/
public LocalDateTime getNowOrNextFcfsTime(LocalDateTime now) {

Integer round = getFcfsRound(now);
if(round != null){
return fcfsSettingList.get(round-1).getStartTime();
}

return getNextFcfsTime(now);
}

public Integer getFcfsRoundForHistory(LocalDate now) {

for (FcfsSettingDto fcfsSettingDto : fcfsSettingList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,13 @@ public MainPageEventInfoResponseDto getEventPageInfo() {

int remainDrawCount = totalDrawWinner - (int) drawRepository.count();

String fcfsTime = "";
if(firstFcfsSetting.getStartTime().getMinute() != 0){
fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeFormatter);
}
else
fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeMinFormatter);

String fcfsTime = "";
if(firstFcfsSetting.getStartTime().getMinute() != 0){
fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeFormatter);
Expand All @@ -125,8 +132,7 @@ public MainPageEventInfoResponseDto getEventPageInfo() {
.remainDrawCount(staticResourceUtil.format(
textContentMap.get(StaticTextName.REMAIN_DRAW_COUNT.name()), decimalFormat.format(remainDrawCount)))
.fcfsHint(quizManager.getHint())
.isFcfsAvailable(fcfsSettingManager.isFcfsEntryAvailable(LocalDateTime.now()))
.nextFcfsStartTime(fcfsSettingManager.getNextFcfsTime(LocalDateTime.now()))
.fcfsStartTime(fcfsSettingManager.getNowOrNextFcfsTime(LocalDateTime.now()))
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {

log.info("request uri: {}", request.getRequestURI());

// preflight 요청 또는 whitelist에 있는 요청은 인증 검사 x
if (CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())) {
filterChain.doFilter(request, response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ void testGetEventPageInfo() {
when(drawSettingManager.getStartDate()).thenReturn(LocalDate.of(2024, 8, 1));
when(drawSettingManager.getEndDate()).thenReturn(LocalDate.of(2024, 8, 31));
when(quizManager.getHint()).thenReturn("퀴즈 힌트");
when(fcfsSettingManager.getNextFcfsTime(any())).thenReturn(LocalDateTime.of(2024, 8, 22, 11, 0));
when(fcfsSettingManager.getNowOrNextFcfsTime(any())).thenReturn(LocalDateTime.of(2024, 8, 22, 11, 0));

// When
MainPageEventInfoResponseDto response = mainPageService.getEventPageInfo();
Expand Down

0 comments on commit 0cc7a7d

Please sign in to comment.