diff --git a/pom.xml b/pom.xml
index 4be7000..dbf3e17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,4 +27,27 @@
UTF-8
+
+
+ dragon-release
+ dragon-releases
+ http://10.100.1.7:8081/repository/maven-releases/
+
+
+
+
+
+
+ dragon-public
+ dragon-maven
+ http://10.100.1.7:8081/repository/maven-public/
+
+
+
+ aliyun-public
+ aliyun
+ https://maven.aliyun.com/repository/public
+
+
+
diff --git a/vehicle-history-common/pom.xml b/vehicle-history-common/pom.xml
index 6fa54a3..719a0ee 100644
--- a/vehicle-history-common/pom.xml
+++ b/vehicle-history-common/pom.xml
@@ -22,5 +22,12 @@
com.dragon
dragon-common-core
+
+
+ org.projectlombok
+ lombok
+ 1.18.30
+
+
diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Car.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Car.java
new file mode 100644
index 0000000..8589f9c
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Car.java
@@ -0,0 +1,54 @@
+package com.dragon.vehicle.history.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/20 19:26
+ * @description 车辆信息表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class Car {
+ /**
+ * 车辆表ID
+ */
+ private Integer carId;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 车辆名称
+ */
+ private String carName;
+ /**
+ * 车辆品牌
+ */
+ private String carBrand;
+ /**
+ * 车辆类型
+ */
+ private Integer carTypeId;
+ /**
+ * 电子围栏ID
+ */
+ private Integer fenceId;
+ /**
+ * 车辆状态 1-在线 0-离线
+ */
+ private Integer carStatus;
+ /**
+ * 是否删除 1-是 0-否
+ */
+ @TableLogic(value="0",delval="1")
+ //value为正常数据的值,delval为删除数据的值
+ private Integer isDelete;
+
+}
diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/CarType.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/CarType.java
new file mode 100644
index 0000000..4644e20
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/CarType.java
@@ -0,0 +1,26 @@
+package com.dragon.vehicle.history.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 19:47
+ * @description 车辆类型表
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class CarType {
+ /**
+ * 车辆类型表ID
+ */
+ private Integer carTypeId;
+ /**
+ * 车辆类型名称
+ */
+ private String carTypeName;
+}
diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Fence.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Fence.java
new file mode 100644
index 0000000..cc7d763
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/Fence.java
@@ -0,0 +1,64 @@
+package com.dragon.vehicle.history.common.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/22 8:14
+ * @description 电子围栏表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class Fence {
+ /**
+ * 围栏主键id
+ */
+ private Integer fenceId;
+ /**
+ * 围栏名称
+ */
+ private String fenceName;
+ /**
+ * 围栏数据
+ */
+ private String fenceData;
+ /**
+ * 围栏状态
+ */
+ private Integer status;
+ /**
+ * 告警类型
+ */
+ private String alarmType;
+ /**
+ * 租户号
+ */
+ private String tenantId;
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+ /**
+ * 创建人
+ */
+ private String createBy;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新人
+ */
+ private String updateBy;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+}
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
new file mode 100644
index 0000000..cec8445
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/VehicleOperation.java
@@ -0,0 +1,240 @@
+package com.dragon.vehicle.history.common.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/19 20:01
+ * @description 车辆详细信息表
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class VehicleOperation {
+ /**
+ * 车辆实时轨迹数据表
+ */
+ private Integer vehicleOperationId;
+ /**
+ * 车辆VIN
+ */
+ private String vin;
+ /**
+ * 行驶路线
+ */
+ private String drivingRoute;
+ /**
+ * 经度
+ */
+ 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;
+ /**
+ * 车辆状态 报文
+ */
+ private String vehicleStatusMsg;
+ /**
+ * 智能硬件 报文
+ */
+ private String smartHardwareMsg;
+ /**
+ * 电池报文
+ */
+ private String batteryMsg;
+ /**
+ * 开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date startTime;
+ /**
+ * 结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+ /**
+ * 是否删除 1-是 0-否
+ */
+ private Integer isDelete;
+}
diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqCar.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqCar.java
new file mode 100644
index 0000000..28fe49a
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqCar.java
@@ -0,0 +1,54 @@
+package com.dragon.vehicle.history.common.domain.req;
+
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dragon.common.core.utils.StringUtils;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 19:15
+ * @description 车辆列表分页参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ReqCar {
+ /**
+ * 当前页数
+ */
+ private Integer pageNum=1;
+
+ /**
+ * 每页条数
+ */
+ private Integer pageSize=10;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 车辆名称
+ */
+ private String carName;
+ /**
+ * 车辆品牌
+ */
+ private String carBrand;
+ /**
+ * 车辆类型
+ */
+ private Integer carTypeId;
+ /**
+ * 电子围栏ID
+ */
+ private Integer fenceId;
+ /**
+ * 车辆状态 1-在线 0-离线
+ */
+ private Integer carStatus;
+}
diff --git a/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqVehicleOperation.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqVehicleOperation.java
new file mode 100644
index 0000000..25c2274
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/req/ReqVehicleOperation.java
@@ -0,0 +1,47 @@
+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/20 18:38
+ * @description 查询车辆历史轨迹参数
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ReqVehicleOperation {
+ /**
+ * 车辆VIN
+ */
+ private String vin;
+
+ /**
+ * 当前页数
+ */
+ private Integer pageNum;
+
+ /**
+ * 每页条数
+ */
+ private Integer pageSize;
+
+ /**
+ * 开始日期
+ */
+ @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/res/ResCar.java b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/res/ResCar.java
new file mode 100644
index 0000000..d6d41b4
--- /dev/null
+++ b/vehicle-history-common/src/main/java/com/dragon/vehicle/history/common/domain/res/ResCar.java
@@ -0,0 +1,58 @@
+package com.dragon.vehicle.history.common.domain.res;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 20:35
+ * @description
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class ResCar {
+ /**
+ * 车辆表ID
+ */
+ private Integer carId;
+ /**
+ * 车辆VIN
+ */
+ private String carVin;
+ /**
+ * 车辆名称
+ */
+ private String carName;
+ /**
+ * 车辆品牌
+ */
+ private String carBrand;
+ /**
+ * 车辆类型
+ */
+ private Integer carTypeId;
+ /**
+ * 电子围栏ID
+ */
+ private Integer fenceId;
+ /**
+ * 车辆状态 1-在线 0-离线
+ */
+ private Integer carStatus;
+ /**
+ * 是否删除 1-是 0-否
+ */
+ private Integer isDelete;
+ /**
+ * 车辆类型名称
+ */
+ private String carTypeName;
+ /**
+ * 围栏名称
+ */
+ private String fenceName;
+}
diff --git a/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/RemoteHistoryService.java b/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/RemoteHistoryService.java
index 9268409..0645a3b 100644
--- a/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/RemoteHistoryService.java
+++ b/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/RemoteHistoryService.java
@@ -1,10 +1,8 @@
package com.dragon.vehicle.history.remote;
/**
- * @author 冯凯
- * @version 1.0
- * @description:
- * @date 2023/11/19 19:02
+ * @author 唐文康
*/
public interface RemoteHistoryService {
+
}
diff --git a/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/factory/RemoteHistoryServiceFallbackFactory.java b/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/factory/RemoteHistoryServiceFallbackFactory.java
index fc9fbf5..987873e 100644
--- a/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/factory/RemoteHistoryServiceFallbackFactory.java
+++ b/vehicle-history-remote/src/main/java/com/dragon/vehicle/history/remote/factory/RemoteHistoryServiceFallbackFactory.java
@@ -4,10 +4,7 @@ import com.dragon.vehicle.history.remote.RemoteHistoryService;
import org.springframework.stereotype.Component;
/**
- * @author 冯凯
- * @version 1.0
- * @description:
- * @date 2023/11/19 19:03
+ * @author 唐文康
*/
@Component
public class RemoteHistoryServiceFallbackFactory implements RemoteHistoryService {
diff --git a/vehicle-history-server/pom.xml b/vehicle-history-server/pom.xml
index a83558e..1e88689 100644
--- a/vehicle-history-server/pom.xml
+++ b/vehicle-history-server/pom.xml
@@ -83,18 +83,51 @@
dragon-common-swagger
+
- com.dragon
- dragon-file-remote
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.1
+
- com.dragon
- dragon-system-common
+ com.github.yulichang
+ mybatis-plus-join
+ 1.2.4
+
+
+
+
+
+
+ dragon-release
+ dragon-releases
+ http://10.100.1.7:8081/repository/maven-releases/
+
+
+
+
+
+
+ dragon-public
+ dragon-maven
+ http://10.100.1.7:8081/repository/maven-public/
+
+
+
+ aliyun-public
+ aliyun
+ https://maven.aliyun.com/repository/public
+
+
+
+
${project.artifactId}
+
org.springframework.boot
spring-boot-maven-plugin
@@ -106,6 +139,8 @@
+
+
org.apache.maven.plugins
maven-deploy-plugin
@@ -113,7 +148,7 @@
true
- org.apache.maven.pluginsmaven-compiler-plugin1616
+
diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/DragonVehicleHistoryApplication.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/DragonVehicleHistoryApplication.java
index 615dd90..d26ac1a 100644
--- a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/DragonVehicleHistoryApplication.java
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/DragonVehicleHistoryApplication.java
@@ -6,11 +6,9 @@ import com.dragon.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+
/**
- * @author 冯凯
- * @version 1.0
- * @description:
- * @date 2023/11/19 18:59
+ * @author 唐文康
*/
@EnableCustomConfig
@EnableCustomSwagger2
diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/config/MybatisPlusConfig.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..d8c4782
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/config/MybatisPlusConfig.java
@@ -0,0 +1,26 @@
+package com.dragon.vehicle.history.server.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author 唐文康
+ */
+@Configuration
+public class MybatisPlusConfig {
+
+ /**
+ * 分页插件。如果你不配置,分页插件将不生效
+ */
+ @Bean
+ public MybatisPlusInterceptor paginationInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ // 指定数据库方言为 MYSQL
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+ return interceptor;
+ }
+
+}
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
new file mode 100644
index 0000000..0accef0
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/CarController.java
@@ -0,0 +1,62 @@
+package com.dragon.vehicle.history.server.controller;
+
+import com.dragon.common.core.domain.Result;
+import com.dragon.vehicle.history.common.domain.Car;
+import com.dragon.vehicle.history.common.domain.CarType;
+import com.dragon.vehicle.history.common.domain.req.ReqCar;
+import com.dragon.vehicle.history.common.domain.res.ResCar;
+import com.dragon.vehicle.history.server.service.CarService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 19:18
+ * @description
+ */
+@RestController
+@RequestMapping("/car")
+public class CarController {
+ @Autowired
+ private CarService carService;
+
+ /**
+ * 车辆信息列表
+ * @param reqCar 分页参数
+ * @return
+ */
+ @PostMapping("/listCar")
+ public Result> listCar(@RequestBody ReqCar reqCar){
+ return carService.listCar(reqCar);
+ }
+
+ /**
+ * 查询车辆类型列表
+ * @return
+ */
+ @GetMapping("/listCarType")
+ public Result> listCarType(){
+ return carService.listCarType();
+ }
+
+ /**
+ * 修改车辆信息
+ * @return
+ */
+ @PostMapping("/updateCar")
+ public Result updateCar(@RequestBody Car car){
+ return carService.updateCar(car);
+ }
+
+ /**
+ * 删除车辆信息
+ * @param carVin
+ * @return
+ */
+ @PostMapping("/deleteCar")
+ public Result deleteCar(@RequestParam String carVin){
+ return carService.deleteCar(carVin);
+ }
+}
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
new file mode 100644
index 0000000..6cdf14e
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/controller/HistoricalTrackController.java
@@ -0,0 +1,23 @@
+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.HistoricalTrackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/19 19:54
+ */
+@RestController
+@RequestMapping("/history")
+public class HistoricalTrackController {
+ @Autowired
+ private HistoricalTrackService historicalTrackService;
+}
diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarMapper.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarMapper.java
new file mode 100644
index 0000000..d2a710a
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarMapper.java
@@ -0,0 +1,15 @@
+package com.dragon.vehicle.history.server.mapper;
+
+import com.dragon.vehicle.history.common.domain.Car;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 19:29
+ * @description
+ */
+@Mapper
+public interface CarMapper extends MPJBaseMapper {
+
+}
diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarTypeMapper.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarTypeMapper.java
new file mode 100644
index 0000000..b35ef70
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/CarTypeMapper.java
@@ -0,0 +1,15 @@
+package com.dragon.vehicle.history.server.mapper;
+
+import com.dragon.vehicle.history.common.domain.CarType;
+import com.github.yulichang.base.MPJBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/22 9:24
+ * @description
+ */
+@Mapper
+public interface CarTypeMapper extends MPJBaseMapper {
+
+}
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
new file mode 100644
index 0000000..7b59ef1
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/mapper/HistoricalTrackMapper.java
@@ -0,0 +1,14 @@
+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/19 19:55
+ */
+@Mapper
+public interface HistoricalTrackMapper extends MPJBaseMapper {
+
+}
diff --git a/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/CarService.java b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/CarService.java
new file mode 100644
index 0000000..81f5e29
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/CarService.java
@@ -0,0 +1,42 @@
+package com.dragon.vehicle.history.server.service;
+
+
+import com.dragon.common.core.domain.Result;
+import com.dragon.vehicle.history.common.domain.Car;
+import com.dragon.vehicle.history.common.domain.CarType;
+import com.dragon.vehicle.history.common.domain.req.ReqCar;
+import com.dragon.vehicle.history.common.domain.res.ResCar;
+
+import java.util.List;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/21 19:27
+ * @description
+ */
+public interface CarService {
+ /**
+ * 车辆信息列表
+ * @param reqCar 分页参数
+ * @return
+ */
+ Result> listCar(ReqCar reqCar);
+
+ /**
+ * 查询车辆类型列表
+ * @return
+ */
+ Result> listCarType();
+ /**
+ * 修改车辆信息
+ * @return
+ */
+ Result updateCar(Car car);
+
+ /**
+ * 删除车辆信息
+ * @param carVin
+ * @return
+ */
+ Result deleteCar(String carVin);
+}
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
new file mode 100644
index 0000000..5680ca9
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/HistoricalTrackService.java
@@ -0,0 +1,8 @@
+package com.dragon.vehicle.history.server.service;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/19 19:55
+ */
+public interface HistoricalTrackService {
+}
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
new file mode 100644
index 0000000..f102256
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/CarServiceImpl.java
@@ -0,0 +1,89 @@
+package com.dragon.vehicle.history.server.service.impl;
+
+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.Car;
+import com.dragon.vehicle.history.common.domain.CarType;
+import com.dragon.vehicle.history.common.domain.Fence;
+import com.dragon.vehicle.history.common.domain.req.ReqCar;
+import com.dragon.vehicle.history.common.domain.res.ResCar;
+import com.dragon.vehicle.history.server.mapper.CarMapper;
+import com.dragon.vehicle.history.server.mapper.CarTypeMapper;
+import com.dragon.vehicle.history.server.service.CarService;
+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/21 19:29
+ * @description
+ */
+@Service
+public class CarServiceImpl implements CarService {
+ @Autowired
+ private CarMapper carMapper;
+ @Autowired
+ private CarTypeMapper carTypeMapper;
+
+ /**
+ * 车辆信息列表
+ * @param reqCar 分页参数
+ * @return
+ */
+ @Override
+ public Result> listCar(ReqCar reqCar) {
+ Page resCarPage = new Page<>(reqCar.getPageNum(), reqCar.getPageSize());
+ List resCars = carMapper.selectJoinPage(resCarPage, ResCar.class, new MPJLambdaWrapper()
+ .selectAll(Car.class)
+ .select(CarType::getCarTypeName)
+ .select(Fence::getFenceName)
+ .leftJoin(CarType.class, CarType::getCarTypeId, Car::getCarTypeId)
+ .leftJoin(Fence.class,Fence::getFenceId,Car::getFenceId)
+ .like(reqCar.getCarName() != null, Car::getCarName, reqCar.getCarName())
+ .like(reqCar.getCarBrand() != null, Car::getCarBrand, reqCar.getCarBrand())
+ .like(reqCar.getCarVin() != null, Car::getCarVin, reqCar.getCarVin())
+ .eq(reqCar.getCarStatus() != null, Car::getCarStatus, reqCar.getCarStatus())
+ .eq(reqCar.getCarTypeId() != null, CarType::getCarTypeId, reqCar.getCarTypeId())
+ .eq(reqCar.getFenceId() != null, Car::getFenceId, reqCar.getFenceId())).getRecords();
+ return Result.success(resCars);
+ }
+
+ /**
+ * 查询车辆类型列表
+ * @return
+ */
+ @Override
+ public Result> listCarType() {
+ MPJLambdaWrapper carTypeMPJLambdaWrapper = new MPJLambdaWrapper().selectAll(CarType.class);
+ return Result.success(carTypeMapper.selectList(carTypeMPJLambdaWrapper));
+ }
+
+ /**
+ * 修改车辆信息
+ *
+ * @param car
+ * @return
+ */
+ @Override
+ public Result updateCar(Car car) {
+ MPJLambdaWrapper carMPJLambdaWrapper = new MPJLambdaWrapper<>();
+ MPJLambdaWrapper lambdaWrapper = carMPJLambdaWrapper.eq(Car::getCarVin, car.getCarVin());
+ carMapper.update(car,lambdaWrapper);
+ return Result.success();
+ }
+
+ /**
+ * 删除车辆信息
+ * @param carVin
+ * @return
+ */
+ @Override
+ public Result deleteCar(String carVin) {
+ carMapper.deleteById(carVin);
+ return Result.success();
+ }
+}
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
new file mode 100644
index 0000000..f1f3bc4
--- /dev/null
+++ b/vehicle-history-server/src/main/java/com/dragon/vehicle/history/server/service/impl/HistoricalTrackServiceImpl.java
@@ -0,0 +1,16 @@
+package com.dragon.vehicle.history.server.service.impl;
+
+import com.dragon.vehicle.history.server.mapper.HistoricalTrackMapper;
+import com.dragon.vehicle.history.server.service.HistoricalTrackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Wenkang Tang
+ * @date 2023/11/19 19:55
+ */
+@Service
+public class HistoricalTrackServiceImpl implements HistoricalTrackService {
+ @Autowired
+ private HistoricalTrackMapper historicalTrackMapper;
+}
diff --git a/vehicle-history-server/src/main/resources/bootstrap.yml b/vehicle-history-server/src/main/resources/bootstrap.yml
index f7aed58..22f7695 100644
--- a/vehicle-history-server/src/main/resources/bootstrap.yml
+++ b/vehicle-history-server/src/main/resources/bootstrap.yml
@@ -26,3 +26,8 @@ spring:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ global-config:
+ db-config:
+ logic-delete-field: flag # 全局逻辑删除的实体字段名
+ logic-delete-value: 1 # 逻辑已删除值(默认为 1)
+ logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
diff --git a/vehicle-history-server/src/main/resources/mapper/CarMapper.xml b/vehicle-history-server/src/main/resources/mapper/CarMapper.xml
new file mode 100644
index 0000000..ee3cbda
--- /dev/null
+++ b/vehicle-history-server/src/main/resources/mapper/CarMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/vehicle-history-server/src/main/resources/mapper/CarTypeMapper.xml b/vehicle-history-server/src/main/resources/mapper/CarTypeMapper.xml
new file mode 100644
index 0000000..54b534f
--- /dev/null
+++ b/vehicle-history-server/src/main/resources/mapper/CarTypeMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/vehicle-history-server/src/main/resources/mapper/history/HistoryMapper.xml b/vehicle-history-server/src/main/resources/mapper/HistoricalTrackMapper.xml
similarity index 91%
rename from vehicle-history-server/src/main/resources/mapper/history/HistoryMapper.xml
rename to vehicle-history-server/src/main/resources/mapper/HistoricalTrackMapper.xml
index d7ffe92..44a0c25 100644
--- a/vehicle-history-server/src/main/resources/mapper/history/HistoryMapper.xml
+++ b/vehicle-history-server/src/main/resources/mapper/HistoricalTrackMapper.xml
@@ -1,6 +1,5 @@
-
-
+