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

feat(spring): 완충, 화재 감지 메일 발송 기능 추가

parent 56338359
Branches
No related tags found
No related merge requests found
......@@ -14,7 +14,7 @@ public class WebMailController {
@GetMapping("/hi")
public String hi() {
webMailService.sendMail();
webMailService.sendChargeMail("0");
return "hi";
}
}
......@@ -28,6 +28,7 @@ public class ChargingService {
private final SocketRepository socketRepository;
private final DriverRepository driverRepository;
private final VehicleRepository vehicleRepository;
private final WebMailService webMailService;
@Value("${test.mail}")
......@@ -56,7 +57,12 @@ public class ChargingService {
public void doCharging(String lot, String charge) {
Vehicle vehicle = vehicleRepository.findVehicleByCharger(Integer.valueOf(lot)).orElse(null);
if (vehicle == null) return;
vehicle.setCharge(Integer.valueOf(charge));
int c = Integer.valueOf(charge);
vehicle.setCharge(c);
if (c == 100) {
webMailService.sendChargeMail(lot);
}
vehicleRepository.save(vehicle);
}
......@@ -103,6 +109,8 @@ public class ChargingService {
for (WebSocketSession session : sessions) {
session.sendMessage(new TextMessage(lot + "-FIRE"));
}
webMailService.sendFireMail(lot);
}
@PostConstruct
......
package org.example.thiefsil.service;
import lombok.RequiredArgsConstructor;
import org.example.thiefsil.entity.Driver;
import org.example.thiefsil.entity.Vehicle;
import org.example.thiefsil.repository.SocketRepository;
import org.example.thiefsil.repository.VehicleRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.List;
@Service
@RequiredArgsConstructor
public class WebMailService {
private final JavaMailSender mailSender;
private final VehicleRepository vehicleRepository;
@Value("${test.mail}")
private String mail;
public void sendMail() {
public void sendChargeMail(String lot) {
SimpleMailMessage message = new SimpleMailMessage();
Vehicle vehicle = vehicleRepository.findVehicleByCharger(Integer.valueOf(lot)).orElse(null);
Driver driver = vehicle.getDriver();
message.setTo(driver.getEmail());
message.setSubject("[시프 충전소] " + driver.getName() + "님의 차량이 완충되었습니다");
message.setText(driver.getName() + "님의 " + vehicle.getNumber() + " 차량이 완충되었습니다");
mailSender.send(message);
}
public void sendFireMail(String lot) throws IOException {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(mail);
message.setSubject("테스트 메일");
message.setText("테스트 메일입니다");
message.setSubject("[시프 충전소] " + "(관리자) " + lot + "번 충전기에서 화재가 발생했습니다");
message.setText(lot + "번 충전기에서 화재가 발생했습니다");
mailSender.send(message);
List<Vehicle> vehicles = vehicleRepository.findAll();
for (Vehicle vehicle : vehicles) {
Driver driver = vehicle.getDriver();
message.setTo(driver.getEmail());
message.setSubject("[시프 충전소] " + driver.getName() + "님 " + lot + "번 충전기에서 화재가 발생했습니다");
mailSender.send(message);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment