小车上线

master
xiaohuang 2024-06-18 21:15:20 +08:00
parent efae57b545
commit 5dd0571824
2 changed files with 249 additions and 0 deletions

View File

@ -0,0 +1,41 @@
package com.muyu.vehicle.controller;
import com.alibaba.fastjson.JSON;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.vehicle.domain.VehicleInfo;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* VehiclelnfoController
*
* @author xiaohuang
* Date 2024/6/18 18:35
*/
@Log4j2
@RestController
@RequestMapping("/vehicleInfo")
public class VehiclelnfoController extends BaseController {
@Autowired
private RedisTemplate<String,String> redisTemplate;
@GetMapping("/list/{vin}")
public Result vehicleInfoAllList(@PathVariable String vin){
if (vin.isEmpty()){
return Result.error("该车辆未上线");
}
String lastElement = redisTemplate.opsForList().index(vin, 0);
VehicleInfo vehicleInfo = JSON.parseObject(lastElement, VehicleInfo.class);
return Result.success(vehicleInfo);
}
}

View File

@ -0,0 +1,208 @@
package com.muyu.vehicle.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
*
* @author Mobai
* @className Vehicle
* @description
* @date 2024/6/6 8:18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VehicleInfo {
/**
* vin
*/
private String vin;
/**
*
*/
private Long startTime;
/**
*
*/
private BigDecimal longitude;
/**
*
*/
private BigDecimal latitude;
/**
*
*/
private BigDecimal speed;
/**
*
*/
private BigDecimal mileage;
/**
*
*/
private BigDecimal voltage;
/**
*
*/
private BigDecimal current;
/**
*
*/
private BigDecimal resistance;
/**
*
*/
private String gear;
/**
*
*/
private BigDecimal accelerationPedal;
/**
*
*/
private BigDecimal brakePedal;
/**
*
*/
private BigDecimal fuelConsumptionRate;
/**
*
*/
private BigDecimal motorControllerTemperature;
/**
*
*/
private BigDecimal motorSpeed;
/**
*
*/
private BigDecimal motoTorque;
/**
*
*/
private BigDecimal motorTemperature;
/**
*
*/
private BigDecimal motorVoltage;
/**
*
*/
private BigDecimal motorCurrent;
/**
* SOC
*/
private BigDecimal remainingBattery;
/**
*
*/
private BigDecimal maximumFeedbackPower;
/**
*
*/
private BigDecimal maximumDischargePower;
/**
* BMS
*/
private BigDecimal selfCheckCounter;
/**
*
*/
private BigDecimal totalBatteryCurrent;
/**
* V3
*/
private BigDecimal totalBatteryVoltage;
/**
*
*/
private BigDecimal singleBatteryMaxVoltage;
/**
*
*/
private BigDecimal singleBatteryMinVoltage;
/**
*
*/
private BigDecimal singleBatteryMaxTemperature;
/**
*
*/
private BigDecimal singleBatteryMinTemperature;
/**
*
*/
private BigDecimal availableBatteryCapacity;
/**
*
*/
private Integer vehicleStatus;
/**
*
*/
private Integer chargingStatus;
/**
*
*/
private Integer operatingStatus;
/**
* SOC
*/
private Integer chargingEnergyStorageStatus;
/**
*
*/
private Integer driveMotorStatus;
/**
*
*/
private Integer positionStatus;
/**
* EAS
*/
private Integer easStatus;
/**
* PTC
*/
private Integer ptcStatus;
/**
* EPS
*/
private Integer epsStatus;
/**
* ABS
*/
private Integer absStatus;
/**
* MCU
*/
private Integer mcuStatus;
/**
*
*/
private Integer heatingStatus;
/**
*
*/
private Integer batteryStatus;
/**
*
*/
private Integer batteryInsulationStatus;
/**
* DCDC
*/
private Integer dcdcStatus;
/**
* CHG
*/
private Integer chgStatus;
}