历史记录测试

master
tangwenkang 2023-11-30 22:12:14 +08:00
parent 0845f082af
commit 80b042b1d7
13 changed files with 333 additions and 335 deletions

View File

@ -1,5 +1,6 @@
package com.dragon.vehicle.history.common.domain;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -17,7 +18,7 @@ import java.util.Date;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "history_record")
@TableName(value = "tb_record")
public class HistoryRecord {
/**
* ID
@ -38,5 +39,7 @@ public class HistoryRecord {
/**
* 1- 0-
*/
@TableLogic(value="0",delval="1")
//value为正常数据的值delval为删除数据的值
private Integer isDelete;
}

View File

@ -0,0 +1,308 @@
package com.dragon.vehicle.history.common.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@TableName("vehicle_data")
public class VehicleData {
/**
* id
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
* VIN
*/
private String vin;
/**
*
*/
private Date createTime;
/**
*
*/
private String longitude;
/**
*
*/
private String latitude;
/**
*
*/
private String speed;
/**
*
*/
private BigDecimal mileage;
/**
*
*/
private String voltage;
/**
*
*/
private String current;
/**
*
*/
private String resistance;
/**
*
*/
private String gear;
/**
*
*/
private String accelerationPedal;
/**
*
*/
private String brakePedal;
/**
*
*/
private String fuelConsumptionRate;
/**
*
*/
private String motorControllerTemperature;
/**
*
*/
private String motorSpeed;
/**
*
*/
private String motorTorque;
/**
*
*/
private String motorTemperature;
/**
*
*/
private String motorVoltage;
/**
*
*/
private String motorCurrent;
/**
* SOC
*/
private BigDecimal remainingBattery;
/**
*
*/
private String maximumFeedbackPower;
/**
*
*/
private String maximumDischargePower;
/**
* BMS
*/
private String selfCheckCounter;
/**
*
*/
private String totalBatteryCurrent;
/**
* V3
*/
private String totalBatteryVoltage;
/**
*
*/
private String singleBatteryMaxVoltage;
/**
*
*/
private String singleBatteryMinVoltage;
/**
*
*/
private String singleBatteryMaxTemperature;
/**
*
*/
private String singleBatteryMinTemperature;
/**
*
*/
private String availableBatteryCapacity;
/**
*
*/
private int vehicleStatus;
/**
*
*/
private int chargingStatus;
/**
*
*/
private int operatingStatus;
/**
* SOC
*/
private int socStatus;
/**
*
*/
private int chargingEnergyStorageStatus;
/**
*
*/
private int driveMotorStatus;
/**
*
*/
private int positionStatus;
/**
* EAS()
*/
private int easStatus;
/**
* PTC()
*/
private int ptcStatus;
/**
* EPS()
*/
private int epsStatus;
/**
* ABS()
*/
private int absStatus;
/**
* MCU(/)
*/
private int mcuStatus;
/**
*
*/
private int heatingStatus;
/**
*
*/
private int batteryStatus;
/**
*
*/
private int batteryInsulationStatus;
public static VehicleData getBuild(String messages) {
char start = messages.charAt(0);
char end = messages.charAt(messages.length() - 1);
System.out.println(start);
System.out.println(end);
return VehicleData.builder()
.vin(messages.substring(1, 18))
//messages.substring(18, 31)
.createTime(new Date())
.longitude(messages.substring(31, 42))
.latitude(messages.substring(42, 52))
.speed(messages.substring(52, 58))
.mileage(new BigDecimal(messages.substring(58, 69)))
.voltage(messages.substring(69, 75))
.current(messages.substring(75, 80))
.resistance(messages.substring(80, 89))
.gear(messages.substring(89, 90))
.accelerationPedal(messages.substring(90, 92))
.brakePedal(messages.substring(92, 94))
.fuelConsumptionRate(messages.substring(94, 99))
.motorControllerTemperature(messages.substring(99, 105))
.motorSpeed(messages.substring(105, 110))
.motorTorque(messages.substring(110, 114))
.motorTemperature(messages.substring(114, 120))
.motorVoltage(messages.substring(120, 125))
.motorCurrent(messages.substring(125, 133))
.remainingBattery(new BigDecimal(messages.substring(133, 139)))
.maximumFeedbackPower(messages.substring(139, 145))
.maximumDischargePower(messages.substring(145, 151))
.selfCheckCounter(messages.substring(151, 153))
.totalBatteryCurrent(messages.substring(153, 158))
.totalBatteryVoltage(messages.substring(158, 164))
.singleBatteryMaxVoltage(messages.substring(164, 168))
.singleBatteryMinVoltage(messages.substring(168, 172))
.singleBatteryMaxTemperature(messages.substring(172, 178))
.singleBatteryMinTemperature(messages.substring(178, 184))
.availableBatteryCapacity(messages.substring(184, 190))
.vehicleStatus(Integer.valueOf(messages.substring(190, 191)))
.chargingStatus(Integer.valueOf(messages.substring(191, 192)))
.operatingStatus(Integer.valueOf(messages.substring(192, 193)))
.socStatus(Integer.valueOf(messages.substring(193, 194)))
.chargingEnergyStorageStatus(Integer.valueOf(messages.substring(194, 195)))
.driveMotorStatus(Integer.valueOf(messages.substring(195, 196)))
.positionStatus(Integer.valueOf(messages.substring(196, 197)))
.easStatus(Integer.valueOf(messages.substring(197, 198)))
.ptcStatus(Integer.valueOf(messages.substring(198, 199)))
.epsStatus(Integer.valueOf(messages.substring(199, 200)))
.absStatus(Integer.valueOf(messages.substring(200, 201)))
.mcuStatus(Integer.valueOf(messages.substring(201, 202)))
.heatingStatus(Integer.valueOf(messages.substring(202, 203)))
.batteryStatus(Integer.valueOf(messages.substring(203, 204)))
.batteryInsulationStatus(Integer.valueOf(messages.substring(204, 205)))
.build();
}
}

View File

@ -1,221 +0,0 @@
package com.dragon.vehicle.history.common.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.context.annotation.Bean;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author Wenkang Tang
* @date 2023/11/19 20:01
* @description
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "vehicle_operation")
public class VehicleOperation {
/**
*
*/
@TableId(value = "vehicle_operation_id")
private Integer vehicleOperationId;
/**
* VIN
*/
private String vin;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
/**
*
*/
private String longitude;
/**
*
*/
private String latitude;
/**
*
*/
private String speed;
/**
*
*/
private BigDecimal mileage;
/**
*
*/
private String voltage;
/**
*
*/
private String current;
/**
*
*/
private String resistance;
/**
*
*/
private String gear;
/**
*
*/
private String accelerationPedal;
/**
*
*/
private String brakePedal;
/**
*
*/
private String fuelConsumptionRate;
/**
*
*/
private String motorControllerTemperature;
/**
*
*/
private String motorSpeed;
/**
*
*/
private String motorTorque;
/**
*
*/
private String motorTemperature;
/**
*
*/
private String motorVoltage;
/**
*
*/
private String motorCurrent;
/**
* SOC
*/
private BigDecimal remainingBattery;
/**
*
*/
private BigDecimal batteryLevel;
/**
*
*/
private String maximumFeedbackPower;
/**
*
*/
private String maximumDischargePower;
/**
* BMS
*/
private String selfCheckCounter;
/**
*
*/
private String totalBatteryCurrent;
/**
* V3
*/
private String totalBatteryVoltage;
/**
*
*/
private String singleBatteryMaxVoltage;
/**
*
*/
private String singleBatteryMinVoltage;
/**
*
*/
private String singleBatteryMaxTemperature;
/**
*
*/
private String singleBatteryMinTemperature;
/**
*
*/
private String availableBatteryCapacity;
/**
*
*/
private Integer vehicleStatus;
/**
*
*/
private Integer chargingStatus;
/**
*
*/
private Integer operatingStatus;
/**
* SOC
*/
private Integer socStatus;
/**
*
*/
private Integer chargingRnergyStorageStatus;
/**
*
*/
private Integer driveMotorStatus;
/**
*
*/
private Integer positionStatus;
/**
* EAS()
*/
private Integer easStatus;
/**
* 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;
}

View File

@ -21,7 +21,7 @@ public class HistoryReq {
/**
* VIN
*/
private String carVin;
private String vin;
/**
*
*/

View File

@ -3,7 +3,7 @@ package com.dragon.vehicle.history.server.controller;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.dragon.common.core.domain.Result;
import com.dragon.vehicle.history.common.domain.HistoryRecord;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.common.domain.VehicleData;
import com.dragon.vehicle.history.common.domain.req.HistoryReq;
import com.dragon.vehicle.history.server.service.HistoricalTrackService;
import org.springframework.beans.factory.annotation.Autowired;
@ -38,6 +38,7 @@ public class HistoricalTrackController {
* @return
*/
@PostMapping("/delHistoricalTrack")
@DS(value = "slave")
public Result delHistoricalTrack(@RequestParam Integer recordId){
historicalTrackService.delHistoricalTrack(recordId);
return Result.success("删除成功!");
@ -49,7 +50,8 @@ public class HistoricalTrackController {
* @return
*/
@PostMapping("/CarRecord")
public Result<List<VehicleOperation>> CarRecord(@RequestParam HistoryReq historyReq){
@DS(value = "slave1")
public Result<List<VehicleData>> CarRecord(@RequestBody HistoryReq historyReq){
return Result.success(historicalTrackService.CarRecord(historyReq));
}
}

View File

@ -1,32 +0,0 @@
package com.dragon.vehicle.history.server.controller;
import com.dragon.common.core.domain.Result;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.server.service.LatestTrackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author Wenkang Tang
* @date 2023/11/29 15:05
* @description
*/
@RestController
@RequestMapping("/latest")
public class LatestTrackController {
@Autowired
private LatestTrackService latestTrackService;
/**
*
* @return
*/
@GetMapping("/listLatestTrack")
public Result<List<VehicleOperation>> listLatestTrack() {
return Result.success(latestTrackService.listLatestTrack());
}
}

View File

@ -1,7 +1,7 @@
package com.dragon.vehicle.history.server.mapper;
import com.dragon.vehicle.history.common.domain.HistoryRecord;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.common.domain.VehicleData;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;

View File

@ -1,14 +0,0 @@
package com.dragon.vehicle.history.server.mapper;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* @author Wenkang Tang
* @date 2023/11/29 15:07
* @description
*/
@Mapper
public interface LatestTrackMapper extends MPJBaseMapper<VehicleOperation> {
}

View File

@ -1,6 +1,6 @@
package com.dragon.vehicle.history.server.mapper;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.common.domain.VehicleData;
import com.github.yulichang.base.MPJBaseMapper;
/**
@ -8,5 +8,5 @@ import com.github.yulichang.base.MPJBaseMapper;
* @date 2023/11/30 20:06
* @description
*/
public interface VehicleOperationMapper extends MPJBaseMapper<VehicleOperation> {
public interface VehicleDataMapper extends MPJBaseMapper<VehicleData> {
}

View File

@ -2,7 +2,7 @@ package com.dragon.vehicle.history.server.service;
import com.dragon.common.core.domain.Result;
import com.dragon.vehicle.history.common.domain.HistoryRecord;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.common.domain.VehicleData;
import com.dragon.vehicle.history.common.domain.req.HistoryReq;
import java.util.List;
@ -30,5 +30,5 @@ public interface HistoricalTrackService {
* @param historyReq
* @return
*/
List<VehicleOperation> CarRecord(HistoryReq historyReq);
List<VehicleData> CarRecord(HistoryReq historyReq);
}

View File

@ -1,18 +0,0 @@
package com.dragon.vehicle.history.server.service;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import java.util.List;
/**
* @author Wenkang Tang
* @date 2023/11/29 15:06
* @description
*/
public interface LatestTrackService {
/**
*
* @return
*/
List<VehicleOperation> listLatestTrack();
}

View File

@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dragon.common.core.domain.Result;
import com.dragon.vehicle.history.common.domain.HistoryRecord;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.common.domain.VehicleData;
import com.dragon.vehicle.history.common.domain.req.HistoryReq;
import com.dragon.vehicle.history.server.mapper.HistoricalTrackMapper;
import com.dragon.vehicle.history.server.mapper.VehicleOperationMapper;
import com.dragon.vehicle.history.server.mapper.VehicleDataMapper;
import com.dragon.vehicle.history.server.service.HistoricalTrackService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
@ -27,7 +27,7 @@ public class HistoricalTrackServiceImpl implements HistoricalTrackService {
@Autowired
private HistoricalTrackMapper historicalTrackMapper;
@Autowired
private VehicleOperationMapper vehicleOperationMapper;
private VehicleDataMapper VehicleDataMapper;
/**
*
* @return
@ -47,7 +47,7 @@ public class HistoricalTrackServiceImpl implements HistoricalTrackService {
LambdaUpdateWrapper<HistoryRecord> updateWrapper = new LambdaUpdateWrapper<>();
LambdaUpdateWrapper<HistoryRecord> wrapper = updateWrapper
.eq(HistoryRecord::getRecordId, recordId);
historicalTrackMapper.deleteById(wrapper);
historicalTrackMapper.delete(wrapper);
}
/**
@ -56,12 +56,12 @@ public class HistoricalTrackServiceImpl implements HistoricalTrackService {
* @return
*/
@Override
public List<VehicleOperation> CarRecord(HistoryReq historyReq) {
LambdaQueryWrapper<VehicleOperation> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<VehicleOperation> wrapper = queryWrapper
.eq(VehicleOperation::getVin, historyReq.getCarVin())
.ge(VehicleOperation::getCreateTime, historyReq.getStartTime())
.le(VehicleOperation::getCreateTime, historyReq.getEndTime());
return vehicleOperationMapper.selectList(wrapper);
public List<VehicleData> CarRecord(HistoryReq historyReq) {
LambdaQueryWrapper<VehicleData> queryWrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<VehicleData> wrapper = queryWrapper
.eq(VehicleData::getVin, historyReq.getVin())
.ge(VehicleData::getCreateTime, historyReq.getStartTime())
.le(VehicleData::getCreateTime, historyReq.getEndTime());
return VehicleDataMapper.selectList(wrapper);
}
}

View File

@ -1,30 +0,0 @@
package com.dragon.vehicle.history.server.service.impl;
import com.dragon.vehicle.history.common.domain.VehicleOperation;
import com.dragon.vehicle.history.server.mapper.LatestTrackMapper;
import com.dragon.vehicle.history.server.service.LatestTrackService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Wenkang Tang
* @date 2023/11/29 15:06
* @description
*/
@Service
public class LatestTrackServiceImpl implements LatestTrackService {
@Autowired
private LatestTrackMapper latestTrackMapper;
/**
*
* @return
*/
@Override
public List<VehicleOperation> listLatestTrack() {
return latestTrackMapper.selectList(new MPJLambdaWrapper<VehicleOperation>().selectAll(VehicleOperation.class));
}
}