Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@ dependencies {
// Xml
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.19.0-rc2"

// 좌표
implementation 'org.locationtech.proj4j:proj4j:1.1.1'

}

// JaCoCo 버전 설정
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/air-quality")
@RequiredArgsConstructor
public class AirQualityController {

private final AirQualityService airQualityService;
private final AirQualityService airQualityService;

@GetMapping
public ResponseEntity<ApiResponse<AirQualityResponse>> getAirQuality() {
return ResponseEntity.ok(ApiResponse.createSuccess(airQualityService.getAirQuality()));
}
@GetMapping
public ResponseEntity<ApiResponse<AirQualityResponse>> getAirQuality(
@RequestParam double lat,
@RequestParam double lng
) {
return ResponseEntity.ok(ApiResponse.createSuccess(airQualityService.getAirQuality(lat, lng)));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import lombok.RequiredArgsConstructor;
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
import org.programmers.signalbuddyfinal.domain.air_quality.service.AirQualityService;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

Expand All @@ -21,4 +20,4 @@ public class AirQualityScheduler {
public void updateAirQuality(){
airQualityService.updateAriQuality();
}
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

@Getter
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AirQualityResponse implements Serializable {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package org.programmers.signalbuddyfinal.domain.air_quality.dto;

import lombok.Data;
import java.util.List;


public class Observatory {
private Response response;

@Data
public static class Response {
private Body body;
private Header header;
}

@Data
public static class Body {
private int totalCount;
private List<Item> items;
private int pageNo;
private int numOfRows;
}

@Data
public static class Item {
private String stationCode;
private double tm;
private String addr;
private String stationName;
}

@Data
public static class Header {
private String resultMsg;
private String resultCode;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.programmers.signalbuddyfinal.domain.air_quality.dto;

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class ObservatoryResponse {

private String addr;

private String stationName;

private String stationCode;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package org.programmers.signalbuddyfinal.domain.air_quality.dto;

import lombok.Builder;
import java.util.List;
import lombok.Getter;

@Builder
@Getter
public class RegionAirQuality {
private Response response;

@Builder
@Getter
public static class Response {
private Body body;
private Header header;
}

@Builder
@Getter
public static class Body {
private int totalCount;
private List<Item> items;
private int pageNo;
private int numOfRows;
}

@Builder
@Getter
public static class Item {
private String so2Grade;
private String coFlag;
private String khaiValue;
private String so2Value;
private String coValue;
private String pm25Flag;
private String pm10Flag;
private String pm10Value;
private String o3Grade;
private String khaiGrade;
private String pm25Value;
private String no2Flag;
private String no2Grade;
private String o3Flag;
private String pm25Grade;
private String so2Flag;
private String dataTime;
private String coGrade;
private String no2Value;
private String pm10Grade;
private String o3Value;
}

@Builder
@Getter
public static class Header {
private String resultMsg;
private String resultCode;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package org.programmers.signalbuddyfinal.domain.air_quality.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import java.util.List;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;

@Getter
@Builder
public class SeoulAirQuality {

private int list_total_count;

@JsonProperty("RESULT")
private Result result;

private List<Item> row;

@Getter
@Builder
@JacksonXmlRootElement(localName = "RESULT")
public static class Result {

@JsonProperty("CODE")
@JacksonXmlProperty(localName = "CODE")
private String code;

@JsonProperty("MESSAGE")
@JacksonXmlProperty(localName = "MESSAGE")
private String message;
}

@Getter
@Builder
public static class Item{

@JsonProperty("GRADE")
private String grade;

@JsonProperty("IDEX_MVL")
private String mvl;

@JsonProperty("POLLUTANT")
private String pollutant;

@JsonProperty("NITROGEN")
private String nitrogen;

@JsonProperty("OZONE")
private String ozone;

@JsonProperty("CARBON")
private String carbon;

@JsonProperty("SULFUROUS")
private String sulfurous;

@JsonProperty("PM10")
private String pm10;

@JsonProperty("PM25")
private String pm25;

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ public enum AirQualityErrorCode implements ErrorCode {

AIR_QUALITY_SERVICE_UNAVAILABLE(HttpStatus.SERVICE_UNAVAILABLE, "20000",
"일시적인 문제로 데이터를 불러올 수 없습니다. 잠시 후 다시 시도해 주세요."),
AIR_QUALITY_DATA_NOT_READ(HttpStatus.INTERNAL_SERVER_ERROR, "20001", "미세먼지 API 데이터 파싱 에러");
AIR_QUALITY_DATA_NOT_READ(HttpStatus.INTERNAL_SERVER_ERROR, "20001", "미세먼지 API 데이터 파싱 에러"),
ALL_AIR_QUALITY_DATA_NOT_READ(HttpStatus.INTERNAL_SERVER_ERROR, "20002", "측정소별 미세먼지 API 데이터 파싱 에러"),
OBSERVATORY_DATA_NOT_READ(HttpStatus.INTERNAL_SERVER_ERROR, "20003", "관측소 API 데이터 파싱 에러");

private HttpStatus httpStatus;
private String code;
Expand Down
Loading