From 0d4734ccc2db62982e3881d9fa10f3a1d6629b8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B2=9C=20=EC=A7=84=EA=B0=95?= <jjjjjk12@ajou.ac.kr> Date: Sat, 7 Dec 2024 15:37:12 +0900 Subject: [PATCH] =?UTF-8?q?feat(spring):=20=EC=9B=B9=EC=86=8C=EC=BC=93=20?= =?UTF-8?q?=EC=84=B8=EC=85=98=EA=B4=80=EB=A0=A8=20=EC=98=88=EC=99=B8?= =?UTF-8?q?=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thiefsil/config/WebSocketHandler.java | 17 ++++++++++++++--- .../thiefsil/controller/MainController.java | 6 +++++- .../thiefsil/service/ChargingService.java | 10 +++++++--- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/server-node-spring/src/main/java/org/example/thiefsil/config/WebSocketHandler.java b/server-node-spring/src/main/java/org/example/thiefsil/config/WebSocketHandler.java index 3362f31..bd31c74 100644 --- a/server-node-spring/src/main/java/org/example/thiefsil/config/WebSocketHandler.java +++ b/server-node-spring/src/main/java/org/example/thiefsil/config/WebSocketHandler.java @@ -8,6 +8,8 @@ import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.TextWebSocketHandler; +import java.io.IOException; + @RequiredArgsConstructor @Component @@ -38,15 +40,21 @@ public class WebSocketHandler extends TextWebSocketHandler { if (cmd.equals("PARK")) { chargingService.park(lot); - session.sendMessage(new TextMessage( lot + "-PARK")); + try { + session.sendMessage(new TextMessage( lot + "-PARK")); + } catch (IOException e) { socketRepository.removeSession(session); } } else if (cmd.length() >= 6) { if (chargingService.validate(lot, cmd)) { - session.sendMessage(new TextMessage(lot + "-" + "Y")); + try { + session.sendMessage(new TextMessage(lot + "-" + "Y")); + } catch (IOException e) { socketRepository.removeSession(session); } } else { - session.sendMessage(new TextMessage(lot + "-" + "N")); + try { + session.sendMessage(new TextMessage(lot + "-" + "N")); + } catch (IOException e) { socketRepository.removeSession(session); } } } @@ -59,6 +67,9 @@ public class WebSocketHandler extends TextWebSocketHandler { chargingService.unpark(lot); socketRepository.removeSession(session); session.sendMessage(new TextMessage(lot + "-" + "EXIT")); + try { + Thread.sleep(1000000); + } catch (InterruptedException e) { e.printStackTrace(); } session.close(); } diff --git a/server-node-spring/src/main/java/org/example/thiefsil/controller/MainController.java b/server-node-spring/src/main/java/org/example/thiefsil/controller/MainController.java index 0598f91..faa7a29 100644 --- a/server-node-spring/src/main/java/org/example/thiefsil/controller/MainController.java +++ b/server-node-spring/src/main/java/org/example/thiefsil/controller/MainController.java @@ -33,7 +33,11 @@ public class MainController { List<WebSocketSession> sessions = socketRepository.findAllSession(); chargingService.extinguish(); for (WebSocketSession session : sessions) { - session.sendMessage(new TextMessage("CLEAR")); + try {session.sendMessage(new TextMessage("CLEAR"));} + catch (Exception e) { + e.printStackTrace(); + socketRepository.removeSession(session); + } } } diff --git a/server-node-spring/src/main/java/org/example/thiefsil/service/ChargingService.java b/server-node-spring/src/main/java/org/example/thiefsil/service/ChargingService.java index 3841398..0022dc7 100644 --- a/server-node-spring/src/main/java/org/example/thiefsil/service/ChargingService.java +++ b/server-node-spring/src/main/java/org/example/thiefsil/service/ChargingService.java @@ -136,7 +136,11 @@ public class ChargingService { public void onFire(String lot) throws IOException { List<WebSocketSession> sessions = socketRepository.findAllSession(); for (WebSocketSession session : sessions) { - session.sendMessage(new TextMessage(lot + "-FIRE")); + try { session.sendMessage(new TextMessage(lot + "-FIRE")); } + catch (Exception e) { + e.printStackTrace(); + socketRepository.removeSession(session); + } } fireState = true; webMailService.sendFireMail(lot); @@ -156,7 +160,7 @@ public class ChargingService { LocalDateTime mail = LocalDateTime.now(ZoneId.of("Asia/Seoul")); park = park.minusMinutes(3); - mail = mail.minusMinutes(1); + mail = mail.minusMinutes(10); List<Vehicle> vehicles = vehicleRepository.findVehiclesByParkingTimeBeforeAndLastMailBeforeAndDriverIsNotNull(park, mail); for (Vehicle vehicle : vehicles) { @@ -187,7 +191,7 @@ public class ChargingService { 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 + ResponseEntity<ValidateCarDTO> response = restTemplate.exchange("http://ajou.ftp.sh:8000/api/car?carNumber=" + number , HttpMethod.GET,entity, ValidateCarDTO.class); ValidateCarDTO validateCarDTO = response.getBody(); System.out.println(number); -- GitLab