-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDietService.java
46 lines (34 loc) · 1.52 KB
/
DietService.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.tnt.application.trainee;
import static com.tnt.common.error.model.ErrorMessage.DIET_NOT_FOUND;
import java.time.LocalDate;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.tnt.common.error.exception.NotFoundException;
import com.tnt.domain.trainee.Diet;
import com.tnt.infrastructure.mysql.repository.trainee.DietRepository;
import com.tnt.infrastructure.mysql.repository.trainee.DietSearchRepository;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class DietService {
private final DietRepository dietRepository;
private final DietSearchRepository dietSearchRepository;
@Transactional
public Diet save(Diet diet) {
return dietRepository.save(diet);
}
public Diet getDietWithTraineeIdAndDietId(Long dietId, Long traineeId) {
return dietRepository.findByIdAndTraineeIdAndDeletedAtIsNull(dietId, traineeId)
.orElseThrow(() -> new NotFoundException(DIET_NOT_FOUND));
}
public List<Diet> getAllDietsWithTraineeId(Long traineeId) {
return dietRepository.findAllByTraineeIdAndDeletedAtIsNull(traineeId);
}
public List<Diet> getDietsWithTraineeIdForDaily(Long traineeId, LocalDate date) {
return dietSearchRepository.findAllByTraineeIdForDaily(traineeId, date);
}
public List<Diet> getDietsWithTraineeIdForTraineeCalendar(Long traineeId, LocalDate startDate, LocalDate endDate) {
return dietSearchRepository.findAllByTraineeIdForTraineeCalendar(traineeId, startDate, endDate);
}
}