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

feat(spring): 미충전 주차 차량 메일 알림 기능 추가

parent cefd8e8c
No related branches found
No related tags found
No related merge requests found
......@@ -15,5 +15,6 @@ public interface VehicleRepository extends JpaRepository<Vehicle, Long> {
@Query("SELECT v FROM Vehicle v WHERE v.charger = :charger")
Optional<Vehicle> findVehicleByCharger(@Param("charger") int charger);
public void deleteVehicleByCharger(int charger);
public List<Vehicle> findVehiclesByParkingTimeBeforeAndLastMailBefore(LocalDateTime parkingTime, LocalDateTime lastMail);
public List<Vehicle> findVehiclesByParkingTimeBeforeAndLastMailBeforeAndDriverIsNotNull(LocalDateTime parkingTime, LocalDateTime lastMail);
public List<Vehicle> findVehiclesByParkingTimeBeforeAndDriverIsNull(LocalDateTime parkingTime);
}
......@@ -140,13 +140,18 @@ public class ChargingService {
park = park.minusMinutes(3);
mail = mail.minusMinutes(1);
List<Vehicle> vehicles = vehicleRepository.findVehiclesByParkingTimeBeforeAndLastMailBefore(park, mail);
List<Vehicle> vehicles = vehicleRepository.findVehiclesByParkingTimeBeforeAndLastMailBeforeAndDriverIsNotNull(park, mail);
for (Vehicle vehicle : vehicles) {
webMailService.sendOverMail(vehicle);
vehicle.setLastMail(mail);
vehicleRepository.save(vehicle);
}
vehicles = vehicleRepository.findVehiclesByParkingTimeBeforeAndDriverIsNull(mail);
for (Vehicle vehicle : vehicles) {
webMailService.sendChargelessMail(vehicle);
}
}
public boolean validate(String lot, String number) {
......
......@@ -71,4 +71,14 @@ public class WebMailService {
System.out.println(LocalDateTime.now(ZoneId.of("Asia/Seoul")) + " 메일 전송 " + vehicle.getNumber());
}
public void sendChargelessMail(Vehicle vehicle) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(mail);
message.setSubject("[시프 충전소] " + vehicle.getCharger() + "번 충전기에 미충전 주차 차량이 있습니다");
message.setText(vehicle.getNumber() + " 차량이 " + vehicle.getCharger() + "번 충전기에서 미충전 주차 중입니다");
mailSender.send(message);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment