Skip to content

Commit

Permalink
feat/#399: 온보딩 여부 확인 기능
Browse files Browse the repository at this point in the history
  • Loading branch information
LJH098 committed Jul 17, 2024
1 parent 1614244 commit bd43e83
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

import javax.validation.Valid;

import com.gaebaljip.exceed.application.port.in.member.OnBoardingMemberQuery;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import com.gaebaljip.exceed.application.port.in.member.OnBoardingMemberCommand;
import com.gaebaljip.exceed.application.port.in.member.OnBoardingMemberUsecase;
Expand Down Expand Up @@ -43,4 +41,13 @@ public ApiResponse<CustomBody<Void>> onBoardingMember(
onBoardingMemberUsecase.execute(command);
return ApiResponseGenerator.success(HttpStatus.OK);
}

@Operation(summary = "온보딩 여부 확인", description = "온보딩의 여부를 확인한다.")
@GetMapping("/members/check/detail")
public ApiResponse<CustomBody<Void>> checkOnBoarding(@Parameter(hidden = true) @AuthenticationMemberId Long memberId) {
OnBoardingMemberQuery query = OnBoardingMemberQuery.of(memberId);
boolean isOnBoarding = onBoardingMemberUsecase.checkOnBoarding(query);
return ApiResponseGenerator.success(isOnBoarding, HttpStatus.OK);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.gaebaljip.exceed.application.port.in.member;

import lombok.Builder;

@Builder
public record OnBoardingMemberQuery(Long memberId) {
public static OnBoardingMemberQuery of(Long memberId) {
return OnBoardingMemberQuery.builder()
.memberId(memberId)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
@Component
public interface OnBoardingMemberUsecase {
void execute(OnBoardingMemberCommand command);
boolean checkOnBoarding(OnBoardingMemberQuery query);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.gaebaljip.exceed.application.service.member;

import com.gaebaljip.exceed.application.port.in.member.OnBoardingMemberQuery;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -22,7 +23,6 @@ public class OnBoardingMemberService implements OnBoardingMemberUsecase {
public static final int MINIMUM_AGE = 0;

private final MemberPort memberPort;

@Override
@Transactional
public void execute(OnBoardingMemberCommand command) {
Expand Down Expand Up @@ -68,4 +68,11 @@ private void validateAge(Integer age) {
throw InvalidAgeException.EXECPTION;
}
}

@Override
public boolean checkOnBoarding(OnBoardingMemberQuery query) {
MemberEntity memberEntity = memberPort.query(query.memberId());
return memberEntity.getWeight() != null && memberEntity.getHeight() != null && memberEntity.getAge() != null
&& memberEntity.getActivity() != null && memberEntity.getGender() != null && memberEntity.getTargetWeight() != null;
}
}

0 comments on commit bd43e83

Please sign in to comment.