From 3bfbdaa4880f8d67cd9370481527f34d6f58f437 Mon Sep 17 00:00:00 2001 From: thguss Date: Wed, 1 May 2024 22:07:54 +0900 Subject: [PATCH] =?UTF-8?q?[ADD]=20Null=20=EC=B2=98=EB=A6=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dto/response/MemberGetResponse.java | 24 +++++++++++++-- .../member/api/dto/response/PlanResponse.java | 15 ---------- .../api/member/service/MemberService.java | 10 ++----- .../response/MemberGetServiceResponse.java | 30 +++++++++++++------ .../dto/response/PlanServiceResponse.java | 21 ------------- 5 files changed, 44 insertions(+), 56 deletions(-) delete mode 100644 smeem-api/src/main/java/com/smeem/api/member/api/dto/response/PlanResponse.java delete mode 100644 smeem-api/src/main/java/com/smeem/api/member/service/dto/response/PlanServiceResponse.java diff --git a/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/MemberGetResponse.java b/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/MemberGetResponse.java index 6dbe618e..f471110d 100644 --- a/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/MemberGetResponse.java +++ b/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/MemberGetResponse.java @@ -1,12 +1,14 @@ package com.smeem.api.member.api.dto.response; - import com.smeem.api.badge.api.dto.response.BadgeResponse; import com.smeem.api.member.service.dto.response.MemberGetServiceResponse; -import lombok.AccessLevel; +import com.smeem.api.member.service.dto.response.MemberGetServiceResponse.PlanServiceResponse; import lombok.Builder; -@Builder(access = AccessLevel.PRIVATE) +import static java.util.Objects.nonNull; +import static lombok.AccessLevel.PRIVATE; + +@Builder(access = PRIVATE) public record MemberGetResponse( String username, String target, @@ -34,4 +36,20 @@ public static MemberGetResponse from(MemberGetServiceResponse response) { .trainingPlan(PlanResponse.from(response.trainingPlan())) .build(); } + + @Builder(access = PRIVATE) + private record PlanResponse( + long id, + String content + ) { + + private static PlanResponse from(PlanServiceResponse response) { + return nonNull(response) + ? PlanResponse.builder() + .id(response.id()) + .content(response.content()) + .build() + : null; + } + } } diff --git a/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/PlanResponse.java b/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/PlanResponse.java deleted file mode 100644 index 7668e6c5..00000000 --- a/smeem-api/src/main/java/com/smeem/api/member/api/dto/response/PlanResponse.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.smeem.api.member.api.dto.response; - -import com.smeem.api.member.service.dto.response.PlanServiceResponse; - -public record PlanResponse( - long id, - String content -) { - public static PlanResponse from(PlanServiceResponse response) { - return new PlanResponse( - response.id(), - response.content() - ); - } -} diff --git a/smeem-api/src/main/java/com/smeem/api/member/service/MemberService.java b/smeem-api/src/main/java/com/smeem/api/member/service/MemberService.java index 49356e6b..6e1a9627 100644 --- a/smeem-api/src/main/java/com/smeem/api/member/service/MemberService.java +++ b/smeem-api/src/main/java/com/smeem/api/member/service/MemberService.java @@ -68,14 +68,8 @@ public MemberUpdateServiceResponse updateUserProfile(final MemberServiceUpdateUs public MemberGetServiceResponse getMemberProfile(final long memberId) { val member = memberFinder.findById(memberId); val goal = goalService.getByType(GoalGetServiceRequest.of(member.getGoal())); - val trainingTimes = trainingTimeService.getAllByMember(member); - val trainingPlan = member.getPlan(); - - return MemberGetServiceResponse.of( - goal, - member, - trainingPlan, - BadgeServiceResponse.of(memberBadgeService.getBadgeByMemberId(memberId))); + val badge = BadgeServiceResponse.of(memberBadgeService.getBadgeByMemberId(memberId)); + return MemberGetServiceResponse.of(goal, member, badge); } @Transactional diff --git a/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/MemberGetServiceResponse.java b/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/MemberGetServiceResponse.java index 80e7b82b..e65fdf8f 100644 --- a/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/MemberGetServiceResponse.java +++ b/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/MemberGetServiceResponse.java @@ -15,9 +15,9 @@ import java.util.stream.Collectors; import static com.smeem.common.code.failure.TrainingTimeFailureCode.NOT_SET_TRAINING_TIME; +import static java.util.Objects.nonNull; import static lombok.AccessLevel.PRIVATE; - @Builder(access = PRIVATE) public record MemberGetServiceResponse( String username, @@ -31,13 +31,7 @@ public record MemberGetServiceResponse( PlanServiceResponse trainingPlan ) { - public static MemberGetServiceResponse of( - GoalGetServiceResponse goal, - Member member, - Plan trainingPlan, - BadgeServiceResponse badge - ) { - + public static MemberGetServiceResponse of(GoalGetServiceResponse goal, Member member, BadgeServiceResponse badge) { return MemberGetServiceResponse.builder() .username(member.getUsername()) .goalType(member.getGoal()) @@ -47,7 +41,7 @@ public static MemberGetServiceResponse of( .hasPushAlarm(member.isHasPushAlarm()) .trainingTime(generateTrainingTimeResponse(member.getTrainingTimes())) .badge(badge) - .trainingPlan(PlanServiceResponse.of(trainingPlan)) + .trainingPlan(PlanServiceResponse.of(member)) .build(); } @@ -74,4 +68,22 @@ private static TrainingTime getOneTrainingTime(List trainingTimes) () -> new TrainingTimeException(NOT_SET_TRAINING_TIME)); } + @Builder(access = PRIVATE) + public record PlanServiceResponse( + long id, + String content + ) { + + private static PlanServiceResponse of(Member member) { + return nonNull(member.getPlan()) ? PlanServiceResponse.of(member.getPlan()) : null; + } + + private static PlanServiceResponse of(Plan plan) { + return PlanServiceResponse.builder() + .id(plan.getId()) + .content(plan.getContent()) + .build(); + } + } + } diff --git a/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/PlanServiceResponse.java b/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/PlanServiceResponse.java deleted file mode 100644 index b74f0b65..00000000 --- a/smeem-api/src/main/java/com/smeem/api/member/service/dto/response/PlanServiceResponse.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.smeem.api.member.service.dto.response; - - -import com.smeem.domain.plan.model.Plan; -import lombok.AccessLevel; -import lombok.Builder; - -@Builder(access = AccessLevel.PRIVATE) -public record PlanServiceResponse( - long id, - String content -) { - public static PlanServiceResponse of( - Plan plan - ) { - return PlanServiceResponse.builder() - .id(plan.getId()) - .content(plan.getContent()) - .build(); - } -}