Skip to content

Commit

Permalink
Merge pull request #401 from JNU-econovation/feat/#399
Browse files Browse the repository at this point in the history
[BE/REFACTOR] 온보딩 여부 확인 API
  • Loading branch information
hwangdaesun committed Jul 17, 2024
2 parents 35a54fa + 17bf677 commit 58177c3
Show file tree
Hide file tree
Showing 5 changed files with 36 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
Expand Up @@ -89,4 +89,9 @@ public void updateWeight(Double weight, Double targetWeight) {
this.weight = weight;
this.targetWeight = targetWeight;
}

public boolean checkOnBoarding() {
return this.getWeight() != null && this.getHeight() != null && this.getAge() != null
&& this.getActivity() != null && this.getGender() != null && this.getTargetWeight() != null;
}
}
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,10 @@ private void validateAge(Integer age) {
throw InvalidAgeException.EXECPTION;
}
}

@Override
public boolean checkOnBoarding(OnBoardingMemberQuery query) {
MemberEntity memberEntity = memberPort.query(query.memberId());
return memberEntity.checkOnBoarding();
}
}

0 comments on commit 58177c3

Please sign in to comment.