From 0845f082af74843db45fec0470d0a1cad7862ed4 Mon Sep 17 00:00:00 2001 From: tangwenkang <2720983602@qq.com> Date: Thu, 30 Nov 2023 20:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=8E=86=E5=8F=B2=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../history/common/domain/HistoryRecord.java | 42 ++++++++++++++++ .../common/domain/VehicleOperation.java | 19 ++----- .../history/common/domain/req/HistoryReq.java | 23 +++++---- vehicle-history-server/pom.xml | 7 +++ .../server/controller/CarController.java | 15 +++--- .../controller/HistoricalTrackController.java | 25 +++++++--- .../server/mapper/HistoricalTrackMapper.java | 3 +- .../server/mapper/VehicleOperationMapper.java | 12 +++++ .../service/HistoricalTrackService.java | 18 +++++-- .../server/service/impl/CarServiceImpl.java | 1 + .../impl/HistoricalTrackServiceImpl.java | 50 ++++++++++++------- .../src/main/resources/banner.txt | 1 - 12 files changed, 153 insertions(+), 63 deletions(-) create mode 100644 vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/HistoryRecord.java create mode 100644 vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/VehicleOperationMapper.java diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/HistoryRecord.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/HistoryRecord.java new file mode 100644 index 0000000..3617c12 --- /dev/null +++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/HistoryRecord.java @@ -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; +} diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/VehicleOperation.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/VehicleOperation.java index 0b1a201..0edc916 100644 --- a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/VehicleOperation.java +++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/VehicleOperation.java @@ -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; } diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/HistoryReq.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/HistoryReq.java index f982ea3..615824e 100644 --- a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/HistoryReq.java +++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/HistoryReq.java @@ -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; } diff --git a/vehicle-history-server/pom.xml b/vehicle-history-server/pom.xml index 8d289ef..3a43f87 100644 --- a/vehicle-history-server/pom.xml +++ b/vehicle-history-server/pom.xml @@ -102,6 +102,13 @@ 1.2.4 + + org.apache.kafka + kafka-clients + 3.1.0 + + + diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/CarController.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/CarController.java index d3ee823..2a8b286 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/CarController.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/CarController.java @@ -30,9 +30,8 @@ public class CarController { * @return */ @PostMapping("/listCar") - public Result> listCar(@RequestBody ReqCar reqCar){ - Result> result = carService.listCar(reqCar); - return result; + public Result> listCar(@RequestBody ReqCar reqCar) { + return carService.listCar(reqCar); } /** @@ -40,7 +39,7 @@ public class CarController { * @return */ @GetMapping("/listCarType") - public Result> listCarType(){ + public Result> 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> listFence(){ + public Result> listFence() { return carService.listFence(); } } diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/HistoricalTrackController.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/HistoricalTrackController.java index 7c81785..d5bca72 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/HistoricalTrackController.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/HistoricalTrackController.java @@ -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> listHistoricalTrack(@RequestBody HistoryReq historyReq) { - return Result.success(historicalTrackService.listHistoricalTrack(historyReq)); + @DS(value = "slave") + public Result> 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> CarRecord(@RequestParam HistoryReq historyReq){ + return Result.success(historicalTrackService.CarRecord(historyReq)); + } } diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/HistoricalTrackMapper.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/HistoricalTrackMapper.java index 7b59ef1..0b36068 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/HistoricalTrackMapper.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/HistoricalTrackMapper.java @@ -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 { +public interface HistoricalTrackMapper extends MPJBaseMapper { } diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/VehicleOperationMapper.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/VehicleOperationMapper.java new file mode 100644 index 0000000..100d5ef --- /dev/null +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/VehicleOperationMapper.java @@ -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 { +} diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/HistoricalTrackService.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/HistoricalTrackService.java index 15baef1..c65c278 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/HistoricalTrackService.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/HistoricalTrackService.java @@ -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 listHistoricalTrack(HistoryReq historyReq); - + List listHistoricalTrack(); /** * 删除历史轨迹 - * @param vin + * @param recordId + * @return */ - void delHistoricalTrack(String vin); + void delHistoricalTrack(Integer recordId); + + /** + * 查询车辆的历史轨迹记录 + * @param historyReq + * @return + */ + List CarRecord(HistoryReq historyReq); } diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/CarServiceImpl.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/CarServiceImpl.java index fb5c97e..95889e4 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/CarServiceImpl.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/CarServiceImpl.java @@ -27,6 +27,7 @@ import java.util.List; */ @Service @Log4j2 + public class CarServiceImpl implements CarService { @Autowired private CarMapper carMapper; diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/HistoricalTrackServiceImpl.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/HistoricalTrackServiceImpl.java index 5e0e040..8cbc59f 100644 --- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/HistoricalTrackServiceImpl.java +++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/HistoricalTrackServiceImpl.java @@ -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 listHistoricalTrack(HistoryReq historyReq) { - Page page = new Page<>(historyReq.getPageNum(), historyReq.getPageSize()); - return historicalTrackMapper.selectJoinPage(page, VehicleOperation.class, new MPJLambdaWrapper() - .selectAll(VehicleOperation.class) - .eq(historyReq.getCarVin() != null, VehicleOperation::getVin, historyReq.getCarVin())) - .getRecords(); + public List listHistoricalTrack() { + return historicalTrackMapper.selectList(new MPJLambdaWrapper().selectAll(HistoryRecord.class)); } - /** * 删除历史轨迹 - * - * @param vin + * @param recordId + * @return */ @Override - public void delHistoricalTrack(String vin) { - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - LambdaUpdateWrapper wrapper = updateWrapper.eq(VehicleOperation::getVin, vin); - historicalTrackMapper.delete(wrapper); + public void delHistoricalTrack(Integer recordId) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + LambdaUpdateWrapper wrapper = updateWrapper + .eq(HistoryRecord::getRecordId, recordId); + historicalTrackMapper.deleteById(wrapper); + } + + /** + * 查询车辆的历史轨迹记录 + * @param historyReq + * @return + */ + @Override + public List CarRecord(HistoryReq historyReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper wrapper = queryWrapper + .eq(VehicleOperation::getVin, historyReq.getCarVin()) + .ge(VehicleOperation::getCreateTime, historyReq.getStartTime()) + .le(VehicleOperation::getCreateTime, historyReq.getEndTime()); + return vehicleOperationMapper.selectList(wrapper); } } diff --git a/vehicle-history-server/src/main/resources/banner.txt b/vehicle-history-server/src/main/resources/banner.txt index 0dd5eee..572fcfa 100644 --- a/vehicle-history-server/src/main/resources/banner.txt +++ b/vehicle-history-server/src/main/resources/banner.txt @@ -1,2 +1 @@ -Spring Boot Version: ${spring-boot.version} Spring Application Name: ${spring.application.name}