diff --git a/src/main/java/com/phu/backend/controller/dailychart/DailyChartController.java b/src/main/java/com/phu/backend/controller/dailychart/DailyChartController.java index 65b2d2b..a13741a 100644 --- a/src/main/java/com/phu/backend/controller/dailychart/DailyChartController.java +++ b/src/main/java/com/phu/backend/controller/dailychart/DailyChartController.java @@ -1,7 +1,6 @@ package com.phu.backend.controller.dailychart; -import com.phu.backend.dto.dailychart.request.MemberDailyChartRequest; -import com.phu.backend.dto.dailychart.request.PtDailyChartRequest; +import com.phu.backend.dto.dailychart.request.DailyChartRequest; import com.phu.backend.dto.dailychart.response.DailyChartListResponse; import com.phu.backend.dto.dailychart.response.DailyChartResponse; import com.phu.backend.service.dailychart.DailyChartService; @@ -19,22 +18,23 @@ @Tag(name = "데일리차트 서비스 API", description = "데일리차트와 관련된 서비스를 제공하는 API") public class DailyChartController { private final DailyChartService dailyChartService; - @PostMapping("/pt/chart") + @PostMapping("/pt/chart/{member-id}") @Operation(summary = "트레이너 -> 회원 데일리 차트 생성", description = "PT후 트레이너가 회원의 데일리 차트를 생성한다.") - public ResponseEntity addChartPt(@RequestBody @Valid PtDailyChartRequest request) { - return ResponseEntity.ok().body(dailyChartService.addChartPt(request)); + public ResponseEntity addChartPt(@RequestBody @Valid DailyChartRequest request, + @PathVariable(name = "member-id") Long memberId) { + return ResponseEntity.ok().body(dailyChartService.addChartPt(request, memberId)); } @PostMapping("/member/chart") @Operation(summary = "회원(개인운동) 데일리 차트 생성", description = "회원이 개인운동 후 데일리 차트를 생성한다.") - public ResponseEntity addChartMember(@RequestBody @Valid MemberDailyChartRequest request) { + public ResponseEntity addChartMember(@RequestBody @Valid DailyChartRequest request) { return ResponseEntity.ok().body(dailyChartService.addChartMember(request)); } @GetMapping("/chart/{chart-id}") @Operation(summary = "데일리 차트 조회", description = "사용자가 데일리 차트를 상세조회한다.") - public ResponseEntity getDailyChart(@PathVariable(name = "chart-id") Long id) { - return ResponseEntity.ok().body(dailyChartService.getDailyCart(id)); + public ResponseEntity getDailyChart(@PathVariable(name = "chart-id") Long chartId) { + return ResponseEntity.ok().body(dailyChartService.getDailyCart(chartId)); } @GetMapping("/chart/all/{member-id}") diff --git a/src/main/java/com/phu/backend/dto/dailychart/request/MemberDailyChartRequest.java b/src/main/java/com/phu/backend/dto/dailychart/request/DailyChartRequest.java similarity index 84% rename from src/main/java/com/phu/backend/dto/dailychart/request/MemberDailyChartRequest.java rename to src/main/java/com/phu/backend/dto/dailychart/request/DailyChartRequest.java index d0c8376..f1df206 100644 --- a/src/main/java/com/phu/backend/dto/dailychart/request/MemberDailyChartRequest.java +++ b/src/main/java/com/phu/backend/dto/dailychart/request/DailyChartRequest.java @@ -10,12 +10,12 @@ import java.util.List; @Getter -public class MemberDailyChartRequest { +public class DailyChartRequest { @NotNull(message = "운동 기록 날짜를 입력해주세요") @Schema(description = "운동 날짜", nullable = false, example = "2024-10-29") private LocalDate chartDate; private Integer weight; private String memo; - @NotNull(message = "어느 부위를 운동했는지 기록하세요") + @NotNull private List routines = new ArrayList<>(); } diff --git a/src/main/java/com/phu/backend/service/dailychart/DailyChartService.java b/src/main/java/com/phu/backend/service/dailychart/DailyChartService.java index 0af4067..6287fa8 100644 --- a/src/main/java/com/phu/backend/service/dailychart/DailyChartService.java +++ b/src/main/java/com/phu/backend/service/dailychart/DailyChartService.java @@ -7,11 +7,9 @@ import com.phu.backend.domain.member.Member; import com.phu.backend.domain.member.MemberList; import com.phu.backend.domain.member.Part; -import com.phu.backend.dto.dailychart.request.MemberDailyChartRequest; -import com.phu.backend.dto.dailychart.request.PtDailyChartRequest; +import com.phu.backend.dto.dailychart.request.DailyChartRequest; import com.phu.backend.dto.dailychart.response.DailyChartListResponse; import com.phu.backend.dto.dailychart.response.DailyChartResponse; -import com.phu.backend.exception.dailychart.BranchIsNotValidException; import com.phu.backend.exception.dailychart.NotConnectedToTrainerException; import com.phu.backend.exception.dailychart.NotFoundChartException; import com.phu.backend.exception.dailychart.NotFoundChartMemberException; @@ -40,17 +38,14 @@ public class DailyChartService { private final MemberService memberService; @Transactional - public Long addChartPt(PtDailyChartRequest request) { - if (request.getBranch().equals(Branch.PERSONAL)) { - throw new BranchIsNotValidException(); - } + public Long addChartPt(DailyChartRequest request, Long memberId) { Member trainer = memberService.getMember(); if (trainer.getPart().equals(Part.MEMBER)) { throw new TrainerRoleException(); } - Member member = memberRepository.findById(request.getId()) + Member member = memberRepository.findById(memberId) .orElseThrow(NotFoundMemberException::new); if (member.getId().equals(trainer.getId())) { @@ -64,7 +59,7 @@ public Long addChartPt(PtDailyChartRequest request) { .chartDate(request.getChartDate()) .trainer(trainer) .memberEmail(member.getEmail()) - .branch(request.getBranch()) + .branch(Branch.PT) .weight(request.getWeight()) .memo(request.getMemo()) .build(); @@ -103,9 +98,10 @@ public DailyChartResponse getDailyCart(Long id) { } @Transactional - public Long addChartMember(MemberDailyChartRequest request) { + public Long addChartMember(DailyChartRequest request) { Member member = memberService.getMember(); + // 피티 검증 MemberList memberList = memberListRepository.findByMemberEmail(member.getEmail()) .orElseThrow(NotConnectedToTrainerException::new);