Skip to content
Snippets Groups Projects
Commit 232d5e7a authored by 천 진강's avatar 천 진강
Browse files

fix(spring): 전기차 검증 로직 api 변경

parent e37b9c13
No related branches found
No related tags found
No related merge requests found
......@@ -36,6 +36,15 @@ public class WebSocketHandler extends TextWebSocketHandler {
chargingService.park(lot);
}
else if (cmd.length() >= 6) {
if (chargingService.validate(lot, cmd)) {
session.sendMessage(new TextMessage(lot + "-" + "Y"));
}
else {
session.sendMessage(new TextMessage(lot + "-" + "N"));
}
}
else if (cmd.contains("d")) {
chargingService.identifyDriver(lot, cmd.substring(1));
}
......@@ -44,6 +53,7 @@ public class WebSocketHandler extends TextWebSocketHandler {
System.out.println("퇴장");
chargingService.unpark(lot);
socketRepository.removeSession(session);
session.sendMessage(new TextMessage(lot + "-" + "EXIT"));
session.close();
}
......
......@@ -41,7 +41,7 @@ public class ValidateController {
if (validateCarDTO.getUseFuel().contains("전기")) {
chargingService.makeVehicle(lot, number);
return number;
return "Y";
}
else return "N";
}
......
......@@ -9,13 +9,19 @@ import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import org.example.thiefsil.dto.CarDTO;
import org.example.thiefsil.dto.ValidateCarDTO;
import org.example.thiefsil.entity.Driver;
import org.example.thiefsil.entity.Vehicle;
import org.example.thiefsil.repository.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
......@@ -143,6 +149,27 @@ public class ChargingService {
}
public boolean validate(String lot, String number) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", "application/json");
HttpEntity<Object> entity = new HttpEntity<>(headers);
ResponseEntity<ValidateCarDTO> response = restTemplate.exchange("http://ajou.ftp.sh/api/car?carNumber=" + number
, HttpMethod.GET,entity, ValidateCarDTO.class);
ValidateCarDTO validateCarDTO = response.getBody();
System.out.println(number);
System.out.println(validateCarDTO);
if (validateCarDTO.getError() != null) {
return false;
}
if (validateCarDTO.getUseFuel().contains("전기")) {
makeVehicle(lot, number);
return true;
}
else return false;
}
@PostConstruct
public void init() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment