|
11 | 11 | import org.springframework.stereotype.Service;
|
12 | 12 | import org.springframework.transaction.annotation.Transactional;
|
13 | 13 |
|
| 14 | +import com.tnt.application.trainee.DietService; |
14 | 15 | import com.tnt.application.trainee.PtGoalService;
|
15 | 16 | import com.tnt.application.trainee.TraineeService;
|
16 | 17 | import com.tnt.application.trainer.TrainerService;
|
|
19 | 20 | import com.tnt.domain.member.Member;
|
20 | 21 | import com.tnt.domain.pt.PtLesson;
|
21 | 22 | import com.tnt.domain.pt.PtTrainerTrainee;
|
| 23 | +import com.tnt.domain.trainee.Diet; |
22 | 24 | import com.tnt.domain.trainee.PtGoal;
|
23 | 25 | import com.tnt.domain.trainee.Trainee;
|
24 | 26 | import com.tnt.domain.trainer.Trainer;
|
| 27 | +import com.tnt.dto.trainee.request.ConnectWithTrainerRequest; |
| 28 | +import com.tnt.dto.trainee.request.CreateDietRequest; |
25 | 29 | import com.tnt.dto.trainer.ConnectWithTrainerDto;
|
26 |
| -import com.tnt.dto.trainer.request.ConnectWithTrainerRequest; |
27 | 30 | import com.tnt.dto.trainer.request.CreatePtLessonRequest;
|
28 | 31 | import com.tnt.dto.trainer.response.ConnectWithTraineeResponse;
|
29 | 32 | import com.tnt.dto.trainer.response.ConnectWithTraineeResponse.ConnectTraineeInfo;
|
|
45 | 48 | @RequiredArgsConstructor
|
46 | 49 | public class PtService {
|
47 | 50 |
|
48 |
| - private final TraineeService traineeService; |
49 | 51 | private final TrainerService trainerService;
|
| 52 | + private final TraineeService traineeService; |
50 | 53 | private final PtGoalService ptGoalService;
|
| 54 | + private final DietService dietService; |
| 55 | + |
51 | 56 | private final PtTrainerTraineeRepository ptTrainerTraineeRepository;
|
| 57 | + private final PtTrainerTraineeSearchRepository ptTrainerTraineeSearchRepository; |
52 | 58 | private final PtLessonRepository ptLessonRepository;
|
53 | 59 | private final PtLessonSearchRepository ptLessonSearchRepository;
|
54 |
| - private final PtTrainerTraineeSearchRepository ptTrainerTraineeSearchRepository; |
55 | 60 |
|
56 | 61 | @Transactional
|
57 | 62 | public ConnectWithTrainerDto connectWithTrainer(Long memberId, ConnectWithTrainerRequest request) {
|
@@ -152,9 +157,10 @@ public GetActiveTraineesResponse getActiveTrainees(Long memberId) {
|
152 | 157 | .map(PtGoal::getContent)
|
153 | 158 | .toList();
|
154 | 159 |
|
| 160 | + // Memo 추가 구현 필요 |
155 | 161 | return new TraineeInfo(trainee.getId(), trainee.getMember().getName(),
|
156 |
| - ptTrainerTrainee.getFinishedPtCount(), ptTrainerTrainee.getTotalPtCount(), trainee.getCautionNote(), |
157 |
| - ptGoals); |
| 162 | + trainee.getMember().getProfileImageUrl(), ptTrainerTrainee.getFinishedPtCount(), |
| 163 | + ptTrainerTrainee.getTotalPtCount(), "", ptGoals); |
158 | 164 | }).toList();
|
159 | 165 |
|
160 | 166 | return new GetActiveTraineesResponse(trainees.size(), traineeInfo);
|
@@ -187,6 +193,21 @@ public void completePtLesson(Long memberId, Long ptLessonId) {
|
187 | 193 | ptLesson.completeLesson();
|
188 | 194 | }
|
189 | 195 |
|
| 196 | + @Transactional |
| 197 | + public void createDiet(Long memberId, CreateDietRequest request, String dietImageUrl) { |
| 198 | + Trainee trainee = traineeService.getTraineeWithMemberId(memberId); |
| 199 | + |
| 200 | + Diet diet = Diet.builder() |
| 201 | + .traineeId(trainee.getId()) |
| 202 | + .date(request.date()) |
| 203 | + .dietImageUrl(dietImageUrl) |
| 204 | + .memo(request.memo()) |
| 205 | + .dietType(request.dietType()) |
| 206 | + .build(); |
| 207 | + |
| 208 | + dietService.save(diet); |
| 209 | + } |
| 210 | + |
190 | 211 | public boolean isPtTrainerTraineeExistWithTrainerId(Long trainerId) {
|
191 | 212 | return ptTrainerTraineeRepository.existsByTrainerIdAndDeletedAtIsNull(trainerId);
|
192 | 213 | }
|
|
0 commit comments