Skip to content

Commit a774a9e

Browse files
committed
[feat] DTO record로 변환, Detail과 Summary 응답 형태 변경
1 parent 7c32003 commit a774a9e

File tree

12 files changed

+83
-126
lines changed

12 files changed

+83
-126
lines changed

src/main/java/nambang_swag/bada_on/config/DataLoader.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,27 @@
1717
public class DataLoader implements CommandLineRunner {
1818

1919
private final PlaceService placeService;
20-
private final ExternalApiService externalApiService;
2120

2221
@Override
2322
public void run(String... args) {
2423
List<String> commonActivities = Arrays.asList("diving", "snorkeling", "swimming", "surfing",
2524
"kayakingPaddleBoarding");
2625

2726
List<PlaceRegister> places = new ArrayList<>();
28-
places.add(new PlaceRegister("협재 해수욕장", 33.394, 126.239, commonActivities));
29-
places.add(new PlaceRegister("금능으뜸원 해수욕장", 33.389, 126.235, commonActivities));
30-
places.add(new PlaceRegister("이호테우 해수욕장", 33.497, 126.452, commonActivities));
31-
places.add(new PlaceRegister("삼양검은모래 해수욕장", 33.525, 126.586, commonActivities));
32-
places.add(new PlaceRegister("함덕서우봉 해수욕장", 33.543, 126.669, commonActivities));
33-
places.add(new PlaceRegister("김녕성세기 해수욕장", 33.557, 126.759, commonActivities));
34-
places.add(new PlaceRegister("하고수동 해수욕장", 33.513, 126.958, commonActivities));
35-
places.add(new PlaceRegister("중문ㆍ색달 해수욕장", 33.244, 126.411, commonActivities));
36-
places.add(new PlaceRegister("화순금모래 해수욕장", 33.236, 126.319, commonActivities));
37-
places.add(new PlaceRegister("하효쇠소깍 해수욕장", 33.252, 126.623, commonActivities));
38-
places.add(new PlaceRegister("표선해비치", 33.327, 126.843, commonActivities));
39-
places.add(new PlaceRegister("신양섭지코지 해수욕장", 33.434, 126.923, commonActivities));
40-
places.add(new PlaceRegister("종달 해수욕장", 33.496, 126.913, commonActivities));
41-
places.add(new PlaceRegister("하도 해수욕장", 33.512, 126.898, commonActivities));
27+
places.add(new PlaceRegister("협재 해수욕장", 33.394, 126.239, "제주 제주시 한림읍 한림로 329-10", commonActivities));
28+
places.add(new PlaceRegister("금능으뜸원 해수욕장", 33.389, 126.235, "제주 제주시 한림읍 금능길 119-10", commonActivities));
29+
places.add(new PlaceRegister("이호테우 해수욕장", 33.497, 126.452, "제주 제주시 도리로 20", commonActivities));
30+
places.add(new PlaceRegister("삼양검은모래 해수욕장", 33.525, 126.586, "제주 제주시 삼양동", commonActivities));
31+
places.add(new PlaceRegister("함덕서우봉 해수욕장", 33.543, 126.669, "제주 제주시 조천읍 조함해안로 525", commonActivities));
32+
places.add(new PlaceRegister("김녕성세기 해수욕장", 33.557, 126.759, "제주 제주시 구좌읍 김녕로21길 25", commonActivities));
33+
places.add(new PlaceRegister("하고수동 해수욕장", 33.513, 126.958, "제주 제주시 우도면 연평리", commonActivities));
34+
places.add(new PlaceRegister("중문ㆍ색달 해수욕장", 33.244, 126.411, "제주 서귀포시 중문관광로72번길 100", commonActivities));
35+
places.add(new PlaceRegister("화순금모래 해수욕장", 33.236, 126.319, "제주 서귀포시 안덕면 화순해안로 91", commonActivities));
36+
places.add(new PlaceRegister("하효쇠소깍 해수욕장", 33.252, 126.623, "제주 서귀포시 하효동", commonActivities));
37+
places.add(new PlaceRegister("표선해비치", 33.327, 126.843, "제주 서귀포시 표선면 표선리", commonActivities));
38+
places.add(new PlaceRegister("신양섭지코지 해수욕장", 33.434, 126.923, "제주 서귀포시 성산읍 섭지코지로 107", commonActivities));
39+
places.add(new PlaceRegister("종달 해수욕장", 33.496, 126.913, "제주 제주시 구좌읍 종달리 565-72", commonActivities));
40+
places.add(new PlaceRegister("하도 해수욕장", 33.512, 126.898, "제주 제주시 구좌읍 하도리", commonActivities));
4241

4342
for (PlaceRegister place : places) {
4443
placeService.register(place);

src/main/java/nambang_swag/bada_on/constant/SkyCondition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
public enum SkyCondition {
77
NONE(0, "없음"),
88
SUNNY(1, "맑음"),
9-
CLOUDS(3, "구름많음"),
9+
CLOUDS(3, "흐림"), // 구름 많음
1010
CLOUDY(4, "흐림");
1111

1212
private final int code;

src/main/java/nambang_swag/bada_on/entity/Place.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public class Place {
3434
@Column(nullable = false)
3535
private Double longitude;
3636

37+
@Column(nullable = false)
38+
private String address;
39+
3740
@Column(nullable = false)
3841
private int nx;
3942

@@ -47,10 +50,11 @@ public class Place {
4750
private boolean canKayakingPaddleBoarding;
4851

4952
@Builder
50-
public Place(String name, Double latitude, Double longitude, int nx, int ny) {
53+
public Place(String name, Double latitude, Double longitude, String address, int nx, int ny) {
5154
this.name = name;
5255
this.latitude = latitude;
5356
this.longitude = longitude;
57+
this.address = address;
5458
this.nx = nx;
5559
this.ny = ny;
5660
}

src/main/java/nambang_swag/bada_on/request/PlaceRegister.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,24 @@
44

55
import jakarta.validation.constraints.NotBlank;
66
import jakarta.validation.constraints.NotNull;
7-
import lombok.Getter;
87
import nambang_swag.bada_on.util.validation.annotation.ValidLatitude;
98
import nambang_swag.bada_on.util.validation.annotation.ValidLongitude;
109

11-
@Getter
12-
public class PlaceRegister {
13-
10+
public record PlaceRegister(
1411
@NotBlank(message = "이름을 입력해주세요.")
15-
private String name;
12+
String name,
1613

1714
@NotNull(message = "등록할 장소의 위도를 입력해주세요.")
1815
@ValidLatitude(message = "위도는 30에서 45 사이의 값이어야 하며, XX.XX 형식이어야 합니다.")
19-
private Double latitude;
16+
Double latitude,
2017

2118
@NotNull(message = "등록할 장소의 경도를 입력해주세요.")
2219
@ValidLongitude(message = "경도는 120에서 140 사이의 값이어야 하며, XXX.XX 형식이어야 합니다.")
23-
private Double longitude;
20+
Double longitude,
2421

25-
private List<String> activities;
22+
@NotNull(message = "등록할 장소의 주소를 입력해주세요.")
23+
String address,
2624

27-
public PlaceRegister(String name, Double latitude, Double longitude, List<String> activities) {
28-
this.name = name;
29-
this.latitude = latitude;
30-
this.longitude = longitude;
31-
this.activities = activities;
32-
}
25+
List<String> activities
26+
) {
3327
}
Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package nambang_swag.bada_on.request;
22

3-
import lombok.Getter;
4-
5-
@Getter
6-
public class RegisterFcmToken {
7-
private String token;
8-
private String device;
9-
private String timeStamp;
3+
public record RegisterFcmToken(
4+
String token,
5+
String device,
6+
String timeStamp
7+
) {
108
}

src/main/java/nambang_swag/bada_on/response/AvailableTime.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,8 @@
22

33
import java.util.List;
44

5-
import lombok.Getter;
6-
7-
@Getter
8-
public class AvailableTime {
9-
private int date;
10-
private List<Integer> hours;
11-
12-
public AvailableTime(int date, List<Integer> hours) {
13-
this.date = date;
14-
this.hours = hours;
15-
}
5+
public record AvailableTime(
6+
int date,
7+
List<Integer> hours
8+
) {
169
}
Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,24 @@
11
package nambang_swag.bada_on.response;
22

3-
import java.util.ArrayList;
43
import java.util.List;
5-
import java.util.Objects;
64

7-
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
8-
9-
import lombok.Builder;
10-
import lombok.Getter;
115
import nambang_swag.bada_on.entity.Place;
126

13-
@Getter
14-
@JsonPropertyOrder({"id", "name", "latitude", "longitude", "activities"})
15-
public class PlaceInfo {
16-
private Long id;
17-
private String name;
18-
private Double latitude;
19-
private Double longitude;
20-
private List<String> activities;
21-
22-
@Builder
23-
public PlaceInfo(Place place, List<String> activities) {
24-
this.id = place.getId();
25-
this.name = place.getName();
26-
this.latitude = place.getLatitude();
27-
this.longitude = place.getLongitude();
28-
this.activities = Objects.requireNonNullElseGet(activities, ArrayList::new);
7+
public record PlaceInfo(
8+
Long id,
9+
String name,
10+
String address,
11+
Double latitude,
12+
Double longitude,
13+
List<String> activities
14+
) {
15+
public static PlaceInfo from(Place place) {
16+
return new PlaceInfo(
17+
place.getId(),
18+
place.getName(),
19+
place.getAddress(),
20+
place.getLatitude(),
21+
place.getLongitude(),
22+
place.getStringActivities());
2923
}
30-
3124
}
Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,12 @@
11
package nambang_swag.bada_on.response;
22

3-
import java.util.ArrayList;
43
import java.util.List;
54

6-
import lombok.Builder;
7-
import lombok.Getter;
8-
9-
@Getter
10-
public class PlaceList {
11-
12-
private int total;
13-
private List<PlaceInfo> places;
14-
15-
@Builder
16-
public PlaceList(int total, List<PlaceInfo> places) {
17-
this.total = total;
18-
this.places = places != null ? places : new ArrayList<>();
5+
public record PlaceList(
6+
int total,
7+
List<PlaceInfo> places
8+
) {
9+
public static PlaceList of(int total, List<PlaceInfo> places) {
10+
return new PlaceList(total, places);
1911
}
2012
}

src/main/java/nambang_swag/bada_on/response/WeatherDetail.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public record WeatherDetail(
1111
String skyCondition,
1212
float temperature,
1313
float wind,
14+
float precipitation,
1415
float tideInfo,
1516
float waveHeight,
1617
List<TideInfo> tideInfoList,
@@ -25,6 +26,7 @@ public static WeatherDetail of(Weather weather, List<WarningDetail> warning, Lis
2526
getSkyCondition(weather),
2627
weather.getHourlyTemperature(),
2728
weather.getWindSpeed(),
29+
weather.getHourlyPrecipitation(),
2830
tidePercentage,
2931
weather.getWaveHeight(),
3032
tideInfoList,

src/main/java/nambang_swag/bada_on/response/WeatherSummary.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public record WeatherSummary(
99
int date,
1010
int hour,
1111
List<String> warning,
12-
Activity recommendActivity,
12+
String recommendActivity,
1313
String skyCondition,
1414
float temperature,
1515
String wind,
@@ -22,7 +22,7 @@ public static WeatherSummary of(Weather weather, List<String> warning, Activity
2222
weather.getDate(),
2323
weather.getTime() / 100,
2424
warning,
25-
recommendActivity,
25+
recommendActivity.getValue(),
2626
getSkyCondition(weather),
2727
weather.getHourlyTemperature(),
2828
getWindString(weather.getWindSpeed()),
@@ -48,8 +48,10 @@ private static String getWindString(float windSpeed) {
4848
return "약함";
4949
} else if (windSpeed >= 4f && windSpeed < 7f) {
5050
return "적당";
51-
} else {
51+
} else if (windSpeed >= 7f && windSpeed < 10f) {
5252
return "강함";
53+
} else {
54+
return "매우 강함";
5355
}
5456
}
5557
}

0 commit comments

Comments
 (0)