From af011a58291fc025670db19193963089cdce184f Mon Sep 17 00:00:00 2001 From: ThalesJ2 Date: Tue, 26 Aug 2025 15:26:25 -0300 Subject: [PATCH] feat: remove feature getImages --- Docker-compose.yml | 26 ++++++------- pom.xml | 4 +- .../api/apiviagem/ApiViagemApplication.java | 9 ++++- .../apiviagem/DTO/request/CityRequestDTO.java | 10 ----- .../DTO/response/CityResponseDTO.java | 3 +- .../apiviagem/controller/CityController.java | 7 ++-- .../api/apiviagem/service/CityService.java | 37 +++---------------- src/main/resources/application-dev.yml | 8 ++-- 8 files changed, 39 insertions(+), 65 deletions(-) delete mode 100644 src/main/java/com/api/apiviagem/DTO/request/CityRequestDTO.java diff --git a/Docker-compose.yml b/Docker-compose.yml index 211d96c..319d56c 100644 --- a/Docker-compose.yml +++ b/Docker-compose.yml @@ -11,31 +11,31 @@ services: SPRING_DATASOURCE_USERNAME: ${DB_USER} SPRING_DATASOURCE_PASSWORD: ${ROOT_PASSWORD} depends_on: - - db + - postgres networks: - - network1 + - network2 - db: - image: mysql:8.0 - container_name: db_container + postgres: + image: postgres + container_name: container-postgres environment: - MYSQL_DATABASE: ${DB_NAME} - MYSQL_PASSWORD: ${DB_PASSWORD} - MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD} + POSTGRES_PASSWORD: ${ROOT_PASSWORD} + POSTGRES_USER: ${DB_USER} + POSTGRES_DB: ${DB_NAME} ports: - - '3306:3306' + - "5432:5432" volumes: - - mysql_data:/var/lib/mysql + - postgres_data:/var/lib/postgres restart: always networks: - - network1 + - network2 networks: - network1: + network2: driver: bridge volumes: - mysql_data: + postgres_data: diff --git a/pom.xml b/pom.xml index 937fbb2..1fc5799 100644 --- a/pom.xml +++ b/pom.xml @@ -66,8 +66,8 @@ - com.mysql - mysql-connector-j + org.postgresql + postgresql runtime diff --git a/src/main/java/com/api/apiviagem/ApiViagemApplication.java b/src/main/java/com/api/apiviagem/ApiViagemApplication.java index 9e94a9a..685dcb3 100644 --- a/src/main/java/com/api/apiviagem/ApiViagemApplication.java +++ b/src/main/java/com/api/apiviagem/ApiViagemApplication.java @@ -1,13 +1,20 @@ package com.api.apiviagem; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import javax.sql.DataSource; +import java.sql.Connection; + @SpringBootApplication -public class ApiViagemApplication { +public class ApiViagemApplication{ + public static void main(String[] args) { SpringApplication.run(ApiViagemApplication.class, args); } + } diff --git a/src/main/java/com/api/apiviagem/DTO/request/CityRequestDTO.java b/src/main/java/com/api/apiviagem/DTO/request/CityRequestDTO.java deleted file mode 100644 index 2fc1a93..0000000 --- a/src/main/java/com/api/apiviagem/DTO/request/CityRequestDTO.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.api.apiviagem.DTO.request; - - -import java.util.List; - -public record CityRequestDTO( - String city, - List touristSpots -) { -} diff --git a/src/main/java/com/api/apiviagem/DTO/response/CityResponseDTO.java b/src/main/java/com/api/apiviagem/DTO/response/CityResponseDTO.java index da5e85b..5844d17 100644 --- a/src/main/java/com/api/apiviagem/DTO/response/CityResponseDTO.java +++ b/src/main/java/com/api/apiviagem/DTO/response/CityResponseDTO.java @@ -12,7 +12,8 @@ public record CityResponseDTO( String parksAndRecreation, String state, String population, - List images + String longitude, + String latitude ) { } diff --git a/src/main/java/com/api/apiviagem/controller/CityController.java b/src/main/java/com/api/apiviagem/controller/CityController.java index 671fc3b..7583c49 100644 --- a/src/main/java/com/api/apiviagem/controller/CityController.java +++ b/src/main/java/com/api/apiviagem/controller/CityController.java @@ -1,6 +1,5 @@ package com.api.apiviagem.controller; -import com.api.apiviagem.DTO.request.CityRequestDTO; import com.api.apiviagem.DTO.response.CityResponseDTO; import com.api.apiviagem.service.CityService; import org.springframework.beans.factory.annotation.Autowired; @@ -16,8 +15,8 @@ public class CityController { private CityService cityService; - @PostMapping - public ResponseEntity findCity(@RequestBody CityRequestDTO cityRequestDTO){ - return ResponseEntity.ok(cityService.getInformation(cityRequestDTO)); + @GetMapping("/{city}") + public ResponseEntity findCity(@PathVariable String city){ + return ResponseEntity.ok(cityService.getInformation(city)); } } diff --git a/src/main/java/com/api/apiviagem/service/CityService.java b/src/main/java/com/api/apiviagem/service/CityService.java index c1b8455..434eeb0 100644 --- a/src/main/java/com/api/apiviagem/service/CityService.java +++ b/src/main/java/com/api/apiviagem/service/CityService.java @@ -1,6 +1,5 @@ package com.api.apiviagem.service; -import com.api.apiviagem.DTO.request.CityRequestDTO; import com.api.apiviagem.DTO.response.CityResponseDTO; import com.api.apiviagem.model.City; import com.api.apiviagem.model.Image; @@ -48,11 +47,11 @@ public class CityService { - public CityResponseDTO getInformation(CityRequestDTO dto){ + public CityResponseDTO getInformation(String city){ try { String address = "https://en.wikipedia.org/wiki/#1"; - address = address.replace("#1",dto.city()); + address = address.replace("#1",city); Document document = Jsoup.connect(address).get(); int countP = 0; @@ -82,8 +81,8 @@ public CityResponseDTO getInformation(CityRequestDTO dto){ countP = 0; } } - newCity.setImages(getImage(dto)); - return translateText(gson.toJson(newCity),dto.city()); + + return translateText(gson.toJson(newCity),city); } catch (IOException e) { @@ -103,7 +102,8 @@ public CityResponseDTO translateText(String json,String city){ "state:":"coloque o nome do estado da cidade aqui", "population": "coloque o valor da população da cidade aqui, apenas a quantidade ", "year_foundation": - "images":[] + "latitude": + "longitude": } """; String propmt = "Traduza o texto para português é otimize, deixe o texto bem curto mas com todas onformações, sua redação (melhore clareza, fluidez e concisão). Em seguida, retorne o resultado no formato JSON, seguindo esta estrutura:"+format+" texto = "+json +" cheque se o json criado e valido. Não meche no Images."+city; @@ -164,31 +164,6 @@ public void updateObject(City city, String text,String element){ } - public List getImage(CityRequestDTO dto){ - String address = "https://commons.m.wikimedia.org/wiki/#1"; - address = address.replace("#1",dto.city()); - List images = new ArrayList<>(); - try { - Document document = Jsoup.connect(address).get(); - - - List lis = document.getElementsByClass("gallerybox"); - - for (Element e : lis) { - - Element aux = e.getElementsByClass("gallerytext").getFirst(); - for (String touristic : dto.touristSpots()){ - if(aux.text().contains(touristic)){ - images.add(new Image(touristic,e.getElementsByTag("img").attr("src"))); - } - } - - } - return images; - } catch (IOException e) {throw new RuntimeException(e);} - - } - } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 46ad410..4cf91c2 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,8 +1,10 @@ spring: datasource: - url: ${DB_URL} - username: ${DB_USER} - password: ${ROOT_PASSWORD} + url: jdbc:postgresql://aws-1-sa-east-1.pooler.supabase.com:5432/postgres + username: postgres.xduzjgpamammweblmalt + password: postgres123& + driver-class-name: org.postgresql.Driver + jpa: