From 7bb8e48e948cb202aac01584cafda3392e73b928 Mon Sep 17 00:00:00 2001 From: ri-naa Date: Thu, 11 Jan 2024 05:15:41 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[fix]=20=EC=9E=AC=EB=82=9C=20=EB=AC=B8?= =?UTF-8?q?=EC=9E=90=20=EC=97=AC=EB=9F=AC=EA=B0=9C=20=EA=B0=80=EC=A0=B8?= =?UTF-8?q?=EC=98=A4=EA=B8=B0=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/controller/MessageController.java | 3 +- .../message/service/MessageService.java | 44 ++++++++++++++++--- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ALGo/ALGo_server/message/controller/MessageController.java b/src/main/java/com/ALGo/ALGo_server/message/controller/MessageController.java index bea7743..863589b 100644 --- a/src/main/java/com/ALGo/ALGo_server/message/controller/MessageController.java +++ b/src/main/java/com/ALGo/ALGo_server/message/controller/MessageController.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController; import java.io.IOException; +import java.util.List; @RestController @RequestMapping("/disaster") @@ -24,7 +25,7 @@ public MessageController(MessageService messageService) { } @GetMapping("/message") - public MessageResponse getMessage(@AuthenticationPrincipal User user) throws IOException, ParseException { + public List getMessage(@AuthenticationPrincipal User user) throws IOException, ParseException { return messageService.message(user); } diff --git a/src/main/java/com/ALGo/ALGo_server/message/service/MessageService.java b/src/main/java/com/ALGo/ALGo_server/message/service/MessageService.java index a24dc16..ed62dbd 100644 --- a/src/main/java/com/ALGo/ALGo_server/message/service/MessageService.java +++ b/src/main/java/com/ALGo/ALGo_server/message/service/MessageService.java @@ -17,6 +17,7 @@ import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -29,14 +30,14 @@ public class MessageService { private final NaverTransService naverTransService; - public MessageResponse message(User user) throws IOException, ParseException { + public List message(User user) throws IOException, ParseException { StringBuilder urlBuilder = new StringBuilder("https://www.safetydata.go.kr/openApi"); urlBuilder.append("/" + URLEncoder.encode("행정안전부_긴급재난문자","UTF-8")); urlBuilder.append("?serviceKey=" + secretKey); urlBuilder.append("&returnType=json"); urlBuilder.append("&pageNum=1"); - urlBuilder.append("&numRowsPerPage=1"); + urlBuilder.append("&numRowsPerPage=4"); URL url = new URL(urlBuilder.toString()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); @@ -69,9 +70,41 @@ public MessageResponse message(User user) throws IOException, ParseException { JSONObject jsonObject = (JSONObject) jsonParser.parse(responseBody); JSONObject responseData = (JSONObject) jsonObject.get("responseData"); - JSONArray data = (JSONArray) responseData.get("data"); + JSONArray dataArr = (JSONArray) responseData.get("data"); - JSONObject dataObject = (JSONObject) data.get(0); + List msgResArr = new ArrayList<>(); + + for(int i=0; i areaIdArr = Arrays.stream(RCV_AREA_ID.split(",")).toList(); + for(int j=0;j areaNmArr = Arrays.stream(RCV_AREA_NM.split(",")).toList(); + for(int j=0;j Date: Thu, 11 Jan 2024 17:30:42 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[feat]=20=EB=8C=80=ED=94=BC=EC=86=8C=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EA=B0=80=EC=A0=B8=EC=98=A4=EA=B8=B0=20?= =?UTF-8?q?=EB=B0=8F=20=EA=B2=80=EC=83=89=20#13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/ShelterRepository.java | 13 ++++++ .../shelter/controller/ShelterController.java | 32 ++++++++++++++ .../shelter/dto/ShelterResponse.java | 22 ++++++++++ .../shelter/service/ShelterService.java | 42 +++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 src/main/java/com/ALGo/ALGo_server/repository/ShelterRepository.java create mode 100644 src/main/java/com/ALGo/ALGo_server/shelter/controller/ShelterController.java create mode 100644 src/main/java/com/ALGo/ALGo_server/shelter/dto/ShelterResponse.java create mode 100644 src/main/java/com/ALGo/ALGo_server/shelter/service/ShelterService.java diff --git a/src/main/java/com/ALGo/ALGo_server/repository/ShelterRepository.java b/src/main/java/com/ALGo/ALGo_server/repository/ShelterRepository.java new file mode 100644 index 0000000..0e4b168 --- /dev/null +++ b/src/main/java/com/ALGo/ALGo_server/repository/ShelterRepository.java @@ -0,0 +1,13 @@ +package com.ALGo.ALGo_server.repository; + +import com.ALGo.ALGo_server.entity.Shelter; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface ShelterRepository extends JpaRepository { + + List findAll(); + + List findByRegion(String region); +} diff --git a/src/main/java/com/ALGo/ALGo_server/shelter/controller/ShelterController.java b/src/main/java/com/ALGo/ALGo_server/shelter/controller/ShelterController.java new file mode 100644 index 0000000..218b0ad --- /dev/null +++ b/src/main/java/com/ALGo/ALGo_server/shelter/controller/ShelterController.java @@ -0,0 +1,32 @@ +package com.ALGo.ALGo_server.shelter.controller; + +import com.ALGo.ALGo_server.entity.Shelter; +import com.ALGo.ALGo_server.repository.ShelterRepository; +import com.ALGo.ALGo_server.shelter.dto.ShelterResponse; +import com.ALGo.ALGo_server.shelter.service.ShelterService; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/shelter") +public class ShelterController { + + private final ShelterRepository shelterRepository; + private final ShelterService shelterService; + + public ShelterController(ShelterRepository shelterRepository, ShelterService shelterService) { + this.shelterRepository = shelterRepository; + this.shelterService = shelterService; + } + + @GetMapping + public List getAllShelters() { + return shelterRepository.findAll(); + } + + @PostMapping("/search/{region}") + public List searchSheltersByRegion(@PathVariable String region) { + return shelterService.searchSheltersByRegion(region); + } +} diff --git a/src/main/java/com/ALGo/ALGo_server/shelter/dto/ShelterResponse.java b/src/main/java/com/ALGo/ALGo_server/shelter/dto/ShelterResponse.java new file mode 100644 index 0000000..b6bb73b --- /dev/null +++ b/src/main/java/com/ALGo/ALGo_server/shelter/dto/ShelterResponse.java @@ -0,0 +1,22 @@ +package com.ALGo.ALGo_server.shelter.dto; + +import jakarta.persistence.Column; +import lombok.Data; + +import java.util.List; + +@Data +public class ShelterResponse { + private Long shelter_id; + private String region; + private String address; + private String description; + + public ShelterResponse(Long shelter_id, String region, String address, String description){ + this.shelter_id = shelter_id; + this.region = region; + this.address = address; + this.description = description; + } + +} diff --git a/src/main/java/com/ALGo/ALGo_server/shelter/service/ShelterService.java b/src/main/java/com/ALGo/ALGo_server/shelter/service/ShelterService.java new file mode 100644 index 0000000..e219491 --- /dev/null +++ b/src/main/java/com/ALGo/ALGo_server/shelter/service/ShelterService.java @@ -0,0 +1,42 @@ +package com.ALGo.ALGo_server.shelter.service; + +import com.ALGo.ALGo_server.entity.Shelter; +import com.ALGo.ALGo_server.repository.ShelterRepository; +import com.ALGo.ALGo_server.shelter.dto.ShelterResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +@Service +@Transactional +@RequiredArgsConstructor +@Slf4j +public class ShelterService { + + private final ShelterRepository shelterRepository; + + public List searchSheltersByRegion(String region) { + List shelters = shelterRepository.findByRegion(region); + return convertToShelterResponseList(shelters); + } + + private List convertToShelterResponseList(List shelters) { + List shelterResponses = new ArrayList<>(); + for (Shelter shelter : shelters) { + ShelterResponse shelterResponse = new ShelterResponse( + shelter.getShelter_id(), + shelter.getRegion(), + shelter.getAddress(), + shelter.getDescription() + ); + shelterResponses.add(shelterResponse); + } + return shelterResponses; + } + + +}