add:增加后台管理系统

This commit is contained in:
2026-01-30 17:16:46 +08:00
parent acf269e92a
commit 778c8de6cd
155 changed files with 9913 additions and 51 deletions

View File

@@ -1,6 +1,7 @@
package org.nl.schedule.modular.vehicle.controller;
import jakarta.validation.constraints.NotBlank;
import org.nl.logging.annotation.Log;
import org.nl.schedule.modular.vehicle.service.VehicleService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -29,4 +30,10 @@ public class VehicleController {
public ResponseEntity<Object> getVehicleInfoByNumber(@PathVariable @NotBlank String vehicleNumber) {
return new ResponseEntity<>(vehicleService.getVehicleInfoByNumber(vehicleNumber), HttpStatus.OK);
}
@GetMapping("/getVehicleInfos")
@Log("获取车辆信息列表")
public ResponseEntity<Object> getVehicleInfos() {
return new ResponseEntity<>(vehicleService.getVehicleInfos(),HttpStatus.OK);
}
}

View File

@@ -20,5 +20,9 @@ public interface VehicleService {
*/
VehicleInfoDto getVehicleInfoByNumber(String vehicleNumber);
/**
* 获取内存中的车辆信息
* @return
*/
WebResponse getVehicleInfos();
}

View File

@@ -12,6 +12,7 @@ import org.nl.api.task.api.TaskAPI;
import org.nl.response.WebResponse;
import org.nl.schedule.core.websocket.WebSocketVehicleInfoServer;
import org.nl.schedule.modular.vehicle.dto.VehicleInfoDto;
import org.nl.schedule.modular.vehicle.entity.Location;
import org.nl.schedule.modular.vehicle.service.VehicleService;
import org.nl.util.URLConstant;
import org.springframework.scheduling.annotation.Scheduled;
@@ -45,7 +46,7 @@ public class VehicleServiceImpl implements VehicleService {
/**
* 定时更新车辆信息(每秒执行)
*/
@Scheduled(fixedRate = 1000) // 每秒执行一次
@Scheduled(fixedRate = 7000) // 每秒执行一次
public void updateVehicleInfo() {
try {
List<VehicleInfoDto> vehicles = getAllVehicles();
@@ -109,4 +110,39 @@ public class VehicleServiceImpl implements VehicleService {
// 直接从缓存中获取
return vehicleCache.get(vehicleNumber);
}
@Override
public WebResponse getVehicleInfos() {
VehicleInfoDto vehicleInfoDto = new VehicleInfoDto();
vehicleInfoDto.setVehicleId("1");
vehicleInfoDto.setVehicleNumber("1");
vehicleInfoDto.setIp("127.0.0.1");
vehicleInfoDto.setBatteryLevel(100);
vehicleInfoDto.setIceCapacity(50);
vehicleInfoDto.setWaterCapacity(50);
vehicleInfoDto.setSignalType("wifi");
vehicleInfoDto.setSignalStrength(10);
vehicleInfoDto.setError_code(0);
vehicleInfoDto.setError_msg("");
vehicleInfoDto.setError_info(new JSONObject());
vehicleInfoDto.setCurrentLocation(new Location());
vehicleInfoDto.setLastUpdated("2026-01-27 00:00:00");
vehicleCache.put("1",vehicleInfoDto);
VehicleInfoDto vehicleInfoDto2 = new VehicleInfoDto();
vehicleInfoDto2.setVehicleId("2");
vehicleInfoDto2.setVehicleNumber("2");
vehicleInfoDto2.setIp("127.0.0.1");
vehicleInfoDto2.setBatteryLevel(80);
vehicleInfoDto2.setIceCapacity(60);
vehicleInfoDto2.setWaterCapacity(60);
vehicleInfoDto2.setSignalType("5G");
vehicleInfoDto2.setSignalStrength(20);
vehicleInfoDto2.setError_code(0);
vehicleInfoDto2.setError_msg("");
vehicleInfoDto2.setError_info(new JSONObject());
vehicleInfoDto2.setCurrentLocation(new Location());
vehicleInfoDto2.setLastUpdated("2026-01-27 12:00:00");
vehicleCache.put("2",vehicleInfoDto2);
return WebResponse.requestParamOk(vehicleCache);
}
}