-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathMissionConverter.java
More file actions
85 lines (67 loc) ยท 3.22 KB
/
MissionConverter.java
File metadata and controls
85 lines (67 loc) ยท 3.22 KB
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package umc.converter;
import org.springframework.data.domain.Page;
import umc.converter.user.UserMissionConverter;
import umc.domain.Location;
import umc.domain.Mission;
import umc.domain.Restaurant;
import umc.domain.Review;
import umc.domain.mapping.UserMission;
import umc.web.dto.mission.MissionRequestDTO;
import umc.web.dto.mission.MissionResponseDTO;
import umc.web.dto.restaurant.RestaurantRequestDTO;
import umc.web.dto.review.ReviewResponseDTO;
import java.util.List;
import java.util.stream.Collectors;
public class MissionConverter {
public static Mission toMission(MissionRequestDTO.createMissionDTO request, Restaurant restaurant) {
return Mission.builder()
.name(request.getName())
.contents(request.getContents())
.points(request.getPoints())
.restaurant(restaurant)
.location(restaurant.getLocation())
.build();
}
public static MissionResponseDTO.MissionDTO toMissionDTO(Mission mission){
return MissionResponseDTO.MissionDTO.builder()
.missionName(mission.getName())
.contents(mission.getContents())
.points(mission.getPoints())
.restaurantId(mission.getRestaurant().getId())
.createdAt(mission.getCreatedAt().toLocalDate())
.build();
}
public static MissionResponseDTO.MissionDTO toMissionDTO(UserMission userMission){
return MissionResponseDTO.MissionDTO.builder()
.missionName(userMission.getMission().getName())
.contents(userMission.getMission().getContents())
.points(userMission.getMission().getPoints())
.restaurantId(userMission.getMission().getRestaurant().getId())
.createdAt(userMission.getMission().getCreatedAt().toLocalDate())
.build();
}
public static MissionResponseDTO.MissionListDTO toMissionListDTO(Page<Mission> missionList){
List<MissionResponseDTO.MissionDTO> missionDTOList = missionList.stream()
.map(MissionConverter::toMissionDTO).collect(Collectors.toList());
return MissionResponseDTO.MissionListDTO.builder()
.isLast(missionList.isLast())
.isFirst(missionList.isFirst())
.totalPage(missionList.getTotalPages())
.totalElements(missionList.getTotalElements())
.listSize(missionDTOList.size())
.missionDTOList(missionDTOList)
.build();
}
public static MissionResponseDTO.MissionListDTO toUserMissionListDTO(Page<UserMission> userMissionList) {
List<MissionResponseDTO.MissionDTO> userMissionDTOList = userMissionList.stream()
.map(MissionConverter::toMissionDTO).collect(Collectors.toList());
return MissionResponseDTO.MissionListDTO.builder()
.isLast(userMissionList.isLast())
.isFirst(userMissionList.isFirst())
.totalPage(userMissionList.getTotalPages())
.totalElements(userMissionList.getTotalElements())
.listSize(userMissionDTOList.size())
.missionDTOList(userMissionDTOList)
.build();
}
}