更改历史轨迹记录数据源

master
tangwenkang 2023-11-30 20:52:25 +08:00
parent 60c5e03819
commit 0845f082af
12 changed files with 153 additions and 63 deletions

View File

@ -0,0 +1,42 @@
package com.dragon.vehicle.history.common.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author Wenkang Tang
* @date 2023/11/30 19:36
* @description
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "history_record")
public class HistoryRecord {
/**
* ID
*/
private Integer recordId;
/**
* VIN
*/
private String vin;
/**
*
*/
private Date startTime;
/**
*
*/
private Date endTime;
/**
* 1- 0-
*/
private Integer isDelete;
}

View File

@ -34,9 +34,10 @@ public class VehicleOperation {
*/
private String vin;
/**
* 线
*
*/
private String drivingRoute;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
/**
*
*/
@ -217,18 +218,4 @@ public class VehicleOperation {
* CHG()
*/
private Integer chgStatus;
/**
* 0- 1-
*/
private Integer isDelete;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
}

View File

@ -1,10 +1,13 @@
package com.dragon.vehicle.history.common.domain.req;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author Wenkang Tang
* @date 2023/11/29 14:46
@ -15,18 +18,18 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@Builder
public class HistoryReq {
/**
*
*/
private Integer pageNum=1;
/**
*
*/
private Integer pageSize=10;
/**
* VIN
*/
private String carVin;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
}

View File

@ -102,6 +102,13 @@
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>

View File

@ -30,9 +30,8 @@ public class CarController {
* @return
*/
@PostMapping("/listCar")
public Result<PageResult<ResCar>> listCar(@RequestBody ReqCar reqCar){
Result<PageResult<ResCar>> result = carService.listCar(reqCar);
return result;
public Result<PageResult<ResCar>> listCar(@RequestBody ReqCar reqCar) {
return carService.listCar(reqCar);
}
/**
@ -40,7 +39,7 @@ public class CarController {
* @return
*/
@GetMapping("/listCarType")
public Result<List<CarType>> listCarType(){
public Result<List<CarType>> listCarType() {
return carService.listCarType();
}
@ -49,7 +48,7 @@ public class CarController {
* @return
*/
@PostMapping("/updateCar")
public Result updateCar(@RequestBody Car car){
public Result updateCar(@RequestBody Car car) {
return carService.updateCar(car);
}
@ -59,7 +58,7 @@ public class CarController {
* @return
*/
@PostMapping("/deleteCar")
public Result deleteCar(@RequestParam String carVin){
public Result deleteCar(@RequestParam String carVin) {
return carService.deleteCar(carVin);
}
@ -69,7 +68,7 @@ public class CarController {
* @return
*/
@PostMapping("/insertCar")
public Result insertCar(@RequestBody Car car){
public Result insertCar(@RequestBody Car car) {
return carService.insertCar(car);
}
@ -78,7 +77,7 @@ public class CarController {
* @return
*/
@GetMapping("/listFence")
public Result<List<Fence>> listFence(){
public Result<List<Fence>> listFence() {
return carService.listFence();
}
}

View File

@ -1,14 +1,16 @@
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.req.HistoryReq;
import com.dragon.vehicle.history.server.service.HistoricalTrackService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @author Wenkang Tang
@ -25,18 +27,29 @@ public class HistoricalTrackController {
* @return
*/
@PostMapping("/listHistoricalTrack")
public Result<List<VehicleOperation>> listHistoricalTrack(@RequestBody HistoryReq historyReq) {
return Result.success(historicalTrackService.listHistoricalTrack(historyReq));
@DS(value = "slave")
public Result<List<HistoryRecord>> listHistoricalTrack() {
return Result.success(historicalTrackService.listHistoricalTrack());
}
/**
*
* @param vin
* @param recordId
* @return
*/
@PostMapping("/delHistoricalTrack")
public Result delHistoricalTrack(@RequestParam String vin){
historicalTrackService.delHistoricalTrack(vin);
public Result delHistoricalTrack(@RequestParam Integer recordId){
historicalTrackService.delHistoricalTrack(recordId);
return Result.success("删除成功!");
}
/**
*
* @param historyReq
* @return
*/
@PostMapping("/CarRecord")
public Result<List<VehicleOperation>> CarRecord(@RequestParam HistoryReq historyReq){
return Result.success(historicalTrackService.CarRecord(historyReq));
}
}

View File

@ -1,5 +1,6 @@
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.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Mapper;
@ -9,6 +10,6 @@ import org.apache.ibatis.annotations.Mapper;
* @date 2023/11/19 19:55
*/
@Mapper
public interface HistoricalTrackMapper extends MPJBaseMapper<VehicleOperation> {
public interface HistoricalTrackMapper extends MPJBaseMapper<HistoryRecord> {
}

View File

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

View File

@ -1,9 +1,12 @@
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.req.HistoryReq;
import java.util.List;
import java.util.Map;
/**
* @author Wenkang Tang
@ -14,11 +17,18 @@ public interface HistoricalTrackService {
*
* @return
*/
List<VehicleOperation> listHistoricalTrack(HistoryReq historyReq);
List<HistoryRecord> listHistoricalTrack();
/**
*
* @param vin
* @param recordId
* @return
*/
void delHistoricalTrack(String vin);
void delHistoricalTrack(Integer recordId);
/**
*
* @param historyReq
* @return
*/
List<VehicleOperation> CarRecord(HistoryReq historyReq);
}

View File

@ -27,6 +27,7 @@ import java.util.List;
*/
@Service
@Log4j2
public class CarServiceImpl implements CarService {
@Autowired
private CarMapper carMapper;

View File

@ -1,16 +1,22 @@
package com.dragon.vehicle.history.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.req.HistoryReq;
import com.dragon.vehicle.history.server.mapper.HistoricalTrackMapper;
import com.dragon.vehicle.history.server.mapper.VehicleOperationMapper;
import com.dragon.vehicle.history.server.service.HistoricalTrackService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author Wenkang Tang
@ -20,32 +26,42 @@ import java.util.List;
public class HistoricalTrackServiceImpl implements HistoricalTrackService {
@Autowired
private HistoricalTrackMapper historicalTrackMapper;
@Autowired
private VehicleOperationMapper vehicleOperationMapper;
/**
*
*
* @param historyReq
* @return
* @return
*/
@Override
public List<VehicleOperation> listHistoricalTrack(HistoryReq historyReq) {
Page<VehicleOperation> page = new Page<>(historyReq.getPageNum(), historyReq.getPageSize());
return historicalTrackMapper.selectJoinPage(page, VehicleOperation.class, new MPJLambdaWrapper<VehicleOperation>()
.selectAll(VehicleOperation.class)
.eq(historyReq.getCarVin() != null, VehicleOperation::getVin, historyReq.getCarVin()))
.getRecords();
public List<HistoryRecord> listHistoricalTrack() {
return historicalTrackMapper.selectList(new MPJLambdaWrapper<HistoryRecord>().selectAll(HistoryRecord.class));
}
/**
*
*
* @param vin
* @param recordId
* @return
*/
@Override
public void delHistoricalTrack(String vin) {
LambdaUpdateWrapper<VehicleOperation> updateWrapper = new LambdaUpdateWrapper<>();
LambdaUpdateWrapper<VehicleOperation> wrapper = updateWrapper.eq(VehicleOperation::getVin, vin);
historicalTrackMapper.delete(wrapper);
public void delHistoricalTrack(Integer recordId) {
LambdaUpdateWrapper<HistoryRecord> updateWrapper = new LambdaUpdateWrapper<>();
LambdaUpdateWrapper<HistoryRecord> wrapper = updateWrapper
.eq(HistoryRecord::getRecordId, recordId);
historicalTrackMapper.deleteById(wrapper);
}
/**
*
* @param historyReq
* @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);
}
}

View File

@ -1,2 +1 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}