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

fix(spring): 변경사항들이 웹뷰에서 적용안되던 문제 수정

parent 006479f1
Branches
No related tags found
No related merge requests found
......@@ -31,6 +31,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web-services'
implementation 'org.springframework.boot:spring-boot-starter-websocket'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.15.2'
runtimeOnly 'com.mysql:mysql-connector-j'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
......
......@@ -2,12 +2,16 @@ package org.example.thiefsil.repository;
import org.example.thiefsil.entity.Vehicle;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.Optional;
public interface VehicleRepository extends JpaRepository<Vehicle, Long> {
public Optional<Vehicle> findVehicleByNumber(String number);
public Optional<Vehicle> findVehicleByCharger(int charger);
//public Optional<Vehicle> findVehicleByCharger(int charger);
@Query("SELECT v FROM Vehicle v WHERE v.charger = :charger")
Optional<Vehicle> findVehicleByCharger(@Param("charger") int charger);
public void deleteVehicleByCharger(int charger);
}
......@@ -2,7 +2,11 @@ package org.example.thiefsil.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import jakarta.annotation.PostConstruct;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import org.example.thiefsil.dto.CarDTO;
import org.example.thiefsil.entity.Driver;
......@@ -29,7 +33,7 @@ public class ChargingService {
private final DriverRepository driverRepository;
private final VehicleRepository vehicleRepository;
private final WebMailService webMailService;
private final EntityManager entityManager;
@Value("${test.mail}")
private String mail;
......@@ -39,12 +43,17 @@ public class ChargingService {
public void view(WebSocketSession session) throws InterruptedException, IOException {
while (session.isOpen()) {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
List<CarDTO> list = new ArrayList<>(10);
for (int i = 0; i < 10; i++) {
Vehicle vehicle = vehicleRepository.findVehicleByCharger(i).orElse(null);
if (vehicle != null) {
System.out.println(vehicle);
}
CarDTO tmp = CarDTO.builder()
.position(i)
.car(vehicleRepository.findVehicleByCharger(i).orElse(null))
.car(vehicle)
.build();
list.add(tmp);
}
......@@ -59,11 +68,11 @@ public class ChargingService {
if (vehicle == null) return;
int c = Integer.valueOf(charge);
vehicle.setCharge(c);
vehicleRepository.save(vehicle);
if (c == 100) {
webMailService.sendChargeMail(lot);
}
vehicleRepository.save(vehicle);
}
public void makeVehicle(String lot, String id){
......@@ -89,9 +98,12 @@ public class ChargingService {
vehicleRepository.save(vehicle);
}
@Transactional
public void unpark(String lot) {
vehicleRepository.deleteVehicleByCharger(Integer.valueOf(lot));
vehicleCount--;
entityManager.flush();
entityManager.clear();
}
public void identifyDriver(String lot, String id) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment