From 8413e2e627593eaef7e200cf4b8dbc3ed561f524 Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Mon, 27 Nov 2023 14:54:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E6=95=B0=E6=8D=AE=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/controller/VehicleController.java | 2 + .../controller/VehicleInstanceController.java | 34 +++++++++++ .../controller/VehiclePositionController.java | 32 +++++++++++ ...{RouteInfo.java => PositionRouteInfo.java} | 2 +- .../com/muyu/domain/req/CheckPositionReq.java | 28 +++++++++ .../java/com/muyu/domain/req/GearReq.java | 28 +++++++++ src/main/java/com/muyu/domain/req/MsgReq.java | 28 +++++++++ .../muyu/domain/resp/VehicleInstanceResp.java | 35 +++++++++++- ...teMapper.java => PositionRouteMapper.java} | 4 +- ...Service.java => PositionRouteService.java} | 11 +++- .../muyu/service/VehicleInstanceService.java | 21 +++++++ .../impl/PositionRouteServiceImpl.java | 54 ++++++++++++++++++ .../muyu/service/impl/RouteServiceImpl.java | 35 ------------ .../impl/VehicleInstanceServiceImpl.java | 57 +++++++++++++++++++ .../com/muyu/vehicle/VehicleInstance.java | 23 +++++++- .../com/muyu/vehicle/model/VehicleData.java | 18 ++++++ src/main/resources/data.sql | 4 +- src/main/resources/schema.sql | 2 +- 18 files changed, 371 insertions(+), 47 deletions(-) create mode 100644 src/main/java/com/muyu/controller/VehiclePositionController.java rename src/main/java/com/muyu/domain/{RouteInfo.java => PositionRouteInfo.java} (96%) create mode 100644 src/main/java/com/muyu/domain/req/CheckPositionReq.java create mode 100644 src/main/java/com/muyu/domain/req/GearReq.java create mode 100644 src/main/java/com/muyu/domain/req/MsgReq.java rename src/main/java/com/muyu/mapper/{RouteMapper.java => PositionRouteMapper.java} (60%) rename src/main/java/com/muyu/service/{RouteService.java => PositionRouteService.java} (58%) create mode 100644 src/main/java/com/muyu/service/impl/PositionRouteServiceImpl.java delete mode 100644 src/main/java/com/muyu/service/impl/RouteServiceImpl.java diff --git a/src/main/java/com/muyu/controller/VehicleController.java b/src/main/java/com/muyu/controller/VehicleController.java index f2f1202..e120722 100644 --- a/src/main/java/com/muyu/controller/VehicleController.java +++ b/src/main/java/com/muyu/controller/VehicleController.java @@ -38,4 +38,6 @@ public class VehicleController { vehicleService.generate(sum); return Result.success(); } + + } diff --git a/src/main/java/com/muyu/controller/VehicleInstanceController.java b/src/main/java/com/muyu/controller/VehicleInstanceController.java index fa0389b..dda1489 100644 --- a/src/main/java/com/muyu/controller/VehicleInstanceController.java +++ b/src/main/java/com/muyu/controller/VehicleInstanceController.java @@ -1,6 +1,9 @@ package com.muyu.controller; import com.muyu.common.Result; +import com.muyu.domain.req.CheckPositionReq; +import com.muyu.domain.req.GearReq; +import com.muyu.domain.req.MsgReq; import com.muyu.domain.req.VehicleInstanceListReq; import com.muyu.domain.resp.VehicleInstanceResp; import com.muyu.service.VehicleInstanceService; @@ -55,4 +58,35 @@ public class VehicleInstanceController { this.vehicleInstanceService.vehicleClientClose(vin); return Result.success(); } + + /** + * 选择车辆轨迹 + * @param checkPositionReq 轨迹选择 + * @return 操作提示 + */ + @PostMapping("/position/check") + public Result checkPosition(@RequestBody CheckPositionReq checkPositionReq){ + this.vehicleInstanceService.checkPosition(checkPositionReq); + return Result.success(); + } + + /** + * 车辆报文操作 + * @return 操作提示 + */ + @PostMapping("/msg") + public Result msg(@RequestBody MsgReq msgReq){ + this.vehicleInstanceService.msg(msgReq); + return Result.success(); + } + + /** + * 车辆档位操作 + * @return 操作提示 + */ + @PostMapping("/gear") + public Result gear(@RequestBody GearReq gearReq){ + this.vehicleInstanceService.gear(gearReq); + return Result.success(); + } } diff --git a/src/main/java/com/muyu/controller/VehiclePositionController.java b/src/main/java/com/muyu/controller/VehiclePositionController.java new file mode 100644 index 0000000..e4e8aed --- /dev/null +++ b/src/main/java/com/muyu/controller/VehiclePositionController.java @@ -0,0 +1,32 @@ +package com.muyu.controller; + +import com.muyu.common.Result; +import com.muyu.domain.PositionRouteInfo; +import com.muyu.service.PositionRouteService; +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 DongZl + * @description: 车辆路径控制层 + * @Date 2023-11-27 上午 10:50 + */ +@RestController +@RequestMapping("/position") +public class VehiclePositionController { + + @Autowired + private PositionRouteService positionRouteService; + + @GetMapping("/list") + public Result> listAll(){ + List positionRouteInfos = positionRouteService.list(); + List list = positionRouteInfos.stream().map(PositionRouteInfo::getName) + .toList(); + return Result.success(list); + } +} diff --git a/src/main/java/com/muyu/domain/RouteInfo.java b/src/main/java/com/muyu/domain/PositionRouteInfo.java similarity index 96% rename from src/main/java/com/muyu/domain/RouteInfo.java rename to src/main/java/com/muyu/domain/PositionRouteInfo.java index b6e14cc..47f62cd 100644 --- a/src/main/java/com/muyu/domain/RouteInfo.java +++ b/src/main/java/com/muyu/domain/PositionRouteInfo.java @@ -20,7 +20,7 @@ import java.util.Date; @NoArgsConstructor @AllArgsConstructor @TableName("route_info") -public class RouteInfo { +public class PositionRouteInfo { /** * 主键 diff --git a/src/main/java/com/muyu/domain/req/CheckPositionReq.java b/src/main/java/com/muyu/domain/req/CheckPositionReq.java new file mode 100644 index 0000000..14d821b --- /dev/null +++ b/src/main/java/com/muyu/domain/req/CheckPositionReq.java @@ -0,0 +1,28 @@ +package com.muyu.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author DongZl + * @description: 车辆选择轨迹 + * @Date 2023-11-27 上午 11:04 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CheckPositionReq { + + /** + * VIN + */ + private String vin; + + /** + * 轨迹标签 + */ + private String positionCode; +} diff --git a/src/main/java/com/muyu/domain/req/GearReq.java b/src/main/java/com/muyu/domain/req/GearReq.java new file mode 100644 index 0000000..2e310d7 --- /dev/null +++ b/src/main/java/com/muyu/domain/req/GearReq.java @@ -0,0 +1,28 @@ +package com.muyu.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author DongZl + * @description: + * @Date 2023-11-27 下午 02:37 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GearReq { + + /** + * VIN + */ + private String vin; + + /** + * 档位 + */ + private String gear; +} diff --git a/src/main/java/com/muyu/domain/req/MsgReq.java b/src/main/java/com/muyu/domain/req/MsgReq.java new file mode 100644 index 0000000..7ab7de2 --- /dev/null +++ b/src/main/java/com/muyu/domain/req/MsgReq.java @@ -0,0 +1,28 @@ +package com.muyu.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author DongZl + * @description: msg请求实体类 + * @Date 2023-11-27 下午 02:15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MsgReq { + + /** + * 车辆VIN + */ + private String vin; + + /** + * 消息编码 + */ + private String msgCode; +} diff --git a/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java b/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java index 996a1b7..f58f15b 100644 --- a/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java +++ b/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java @@ -6,6 +6,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.math.BigDecimal; + /** * @author DongZl * @description: 车辆实例控制层响应结果 @@ -25,12 +27,43 @@ public class VehicleInstanceResp { /** * 是否在线 */ - public boolean isOnline; + private boolean isOnline; + + /** + * 路线轨迹编码 + */ + private String positionCode; + + /** + * 路线剩余定位点 + */ + private Integer positionLength = 0; + + /** + * 消息状态 + */ + private String msgCode; + + + /** + * 档位 + */ + private String gear = "P"; + + /** + * 里程 + */ + private BigDecimal mileage; public static VehicleInstanceResp instanceBuild (VehicleInstance vehicleInstance) { return VehicleInstanceResp.builder() .vin(vehicleInstance.getVin()) .isOnline(vehicleInstance.isOnline()) + .positionCode(vehicleInstance.getPositionCode()) + .positionLength(vehicleInstance.getPositionQueue().size()) + .gear(vehicleInstance.getVehicleData().getGear()) + .msgCode(vehicleInstance.getMsgCode()) + .mileage(vehicleInstance.getVehicleData().getMileage()) .build(); } } diff --git a/src/main/java/com/muyu/mapper/RouteMapper.java b/src/main/java/com/muyu/mapper/PositionRouteMapper.java similarity index 60% rename from src/main/java/com/muyu/mapper/RouteMapper.java rename to src/main/java/com/muyu/mapper/PositionRouteMapper.java index 5b38ed1..f9501ef 100644 --- a/src/main/java/com/muyu/mapper/RouteMapper.java +++ b/src/main/java/com/muyu/mapper/PositionRouteMapper.java @@ -1,12 +1,12 @@ package com.muyu.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.domain.RouteInfo; +import com.muyu.domain.PositionRouteInfo; /** * @author DongZl * @description: 轨迹路径 mapper * @Date 2023-11-20 上午 09:32 */ -public interface RouteMapper extends BaseMapper { +public interface PositionRouteMapper extends BaseMapper { } diff --git a/src/main/java/com/muyu/service/RouteService.java b/src/main/java/com/muyu/service/PositionRouteService.java similarity index 58% rename from src/main/java/com/muyu/service/RouteService.java rename to src/main/java/com/muyu/service/PositionRouteService.java index 49f0120..6078e88 100644 --- a/src/main/java/com/muyu/service/RouteService.java +++ b/src/main/java/com/muyu/service/PositionRouteService.java @@ -1,7 +1,7 @@ package com.muyu.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.domain.RouteInfo; +import com.muyu.domain.PositionRouteInfo; import com.muyu.domain.model.PositionModel; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; * @description: 路径轨迹业务层 * @Date 2023-11-20 上午 09:33 */ -public interface RouteService extends IService { +public interface PositionRouteService extends IService { /** @@ -20,4 +20,11 @@ public interface RouteService extends IService { * @return 轨迹ID */ public List getPositionModelByRouteId(Long routeId); + + /** + * 根据轨迹 编号查询 估计详情 + * @param positionCode 轨迹编号 + * @return + */ + List getPositionModelByRouteName (String positionCode); } diff --git a/src/main/java/com/muyu/service/VehicleInstanceService.java b/src/main/java/com/muyu/service/VehicleInstanceService.java index e2ef91d..d14b083 100644 --- a/src/main/java/com/muyu/service/VehicleInstanceService.java +++ b/src/main/java/com/muyu/service/VehicleInstanceService.java @@ -1,6 +1,9 @@ package com.muyu.service; import com.muyu.domain.Vehicle; +import com.muyu.domain.req.CheckPositionReq; +import com.muyu.domain.req.GearReq; +import com.muyu.domain.req.MsgReq; import com.muyu.domain.req.VehicleInstanceListReq; import com.muyu.domain.resp.VehicleInstanceResp; @@ -44,4 +47,22 @@ public interface VehicleInstanceService { * @param vin vin */ void vehicleClientClose (String vin); + + /** + * 选择车辆轨迹 + * @param checkPositionReq 切换轨迹 + */ + void checkPosition (CheckPositionReq checkPositionReq); + + /** + * 车辆消息操作 + * @param msgReq + */ + void msg (MsgReq msgReq); + + /** + * 设置档位 + * @param gearReq + */ + void gear (GearReq gearReq); } diff --git a/src/main/java/com/muyu/service/impl/PositionRouteServiceImpl.java b/src/main/java/com/muyu/service/impl/PositionRouteServiceImpl.java new file mode 100644 index 0000000..b3835f6 --- /dev/null +++ b/src/main/java/com/muyu/service/impl/PositionRouteServiceImpl.java @@ -0,0 +1,54 @@ +package com.muyu.service.impl; + +import com.alibaba.fastjson2.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.domain.PositionRouteInfo; +import com.muyu.domain.model.PositionModel; +import com.muyu.mapper.PositionRouteMapper; +import com.muyu.service.PositionRouteService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author DongZl + * @description: 路径轨迹业务实现层 + * @Date 2023-11-20 上午 09:34 + */ +@Service +public class PositionRouteServiceImpl extends ServiceImpl implements PositionRouteService { + /** + * 根据轨迹ID获取轨迹详情 + * + * @param routeId 轨迹ID + * + * @return 轨迹ID + */ + @Override + public List getPositionModelByRouteId (Long routeId) { + PositionRouteInfo positionRouteInfo = this.getById(routeId); + return JSONArray.parseArray(positionRouteInfo.getRouteData(), String.class) + .stream() + .map(PositionModel::strBuild) + .toList(); + } + + /** + * 根据轨迹 编号查询 估计详情 + * + * @param positionCode 轨迹编号 + * + * @return + */ + @Override + public List getPositionModelByRouteName (String positionCode) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PositionRouteInfo::getName, positionCode); + PositionRouteInfo positionRouteInfo = getOne(queryWrapper); + return JSONArray.parseArray(positionRouteInfo.getRouteData(), String.class) + .stream() + .map(PositionModel::strBuild) + .toList(); + } +} diff --git a/src/main/java/com/muyu/service/impl/RouteServiceImpl.java b/src/main/java/com/muyu/service/impl/RouteServiceImpl.java deleted file mode 100644 index 5797f82..0000000 --- a/src/main/java/com/muyu/service/impl/RouteServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.muyu.service.impl; - -import com.alibaba.fastjson2.JSONArray; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.domain.RouteInfo; -import com.muyu.domain.model.PositionModel; -import com.muyu.mapper.RouteMapper; -import com.muyu.service.RouteService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @author DongZl - * @description: 路径轨迹业务实现层 - * @Date 2023-11-20 上午 09:34 - */ -@Service -public class RouteServiceImpl extends ServiceImpl implements RouteService { - /** - * 根据轨迹ID获取轨迹详情 - * - * @param routeId 轨迹ID - * - * @return 轨迹ID - */ - @Override - public List getPositionModelByRouteId (Long routeId) { - RouteInfo routeInfo = this.getById(routeId); - return JSONArray.parseArray(routeInfo.getRouteData(), String.class) - .stream() - .map(PositionModel::strBuild) - .toList(); - } -} diff --git a/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java b/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java index 09b47e1..ceaf33d 100644 --- a/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java +++ b/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java @@ -1,15 +1,24 @@ package com.muyu.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.muyu.domain.PositionRouteInfo; import com.muyu.domain.Vehicle; +import com.muyu.domain.model.PositionModel; +import com.muyu.domain.req.CheckPositionReq; +import com.muyu.domain.req.GearReq; +import com.muyu.domain.req.MsgReq; import com.muyu.domain.req.VehicleInstanceListReq; import com.muyu.domain.resp.VehicleInstanceResp; +import com.muyu.service.PositionRouteService; import com.muyu.service.VehicleInstanceService; import com.muyu.vehicle.VehicleInstance; import com.muyu.vehicle.core.LocalContainer; import com.muyu.vehicle.model.VehicleData; import com.muyu.vehicle.model.properties.MqttProperties; import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -22,6 +31,10 @@ import java.util.List; @Log4j2 @Service public class VehicleInstanceServiceImpl implements VehicleInstanceService { + + @Autowired + private PositionRouteService positionRouteService; + /** * 根据车辆生成车辆实例 * @@ -100,4 +113,48 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService { vehicleInstance.closeClient(); } + /** + * 选择车辆轨迹 + * + * @param checkPositionReq 切换轨迹 + */ + @Override + public void checkPosition (CheckPositionReq checkPositionReq) { + VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(checkPositionReq.getVin()); + List positionModelList = + this.positionRouteService.getPositionModelByRouteName(checkPositionReq.getPositionCode()); + vehicleInstance.settingPosition(positionModelList); + vehicleInstance.setPositionCode(checkPositionReq.getPositionCode()); + } + + /** + * 车辆消息操作 + * + * @param msgReq + */ + @Override + public void msg (MsgReq msgReq) { + VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(msgReq.getVin()); + switch (msgReq.getMsgCode()){ + case "上报" -> { + vehicleInstance.initVehicleThread(); + vehicleInstance.startSend(); + } + case "暂停" -> vehicleInstance.pauseSend(); + case "停止" -> vehicleInstance.stopSend(); + default -> throw new RuntimeException("车辆消息事件错误"); + } + } + + /** + * 设置档位 + * + * @param gearReq + */ + @Override + public void gear (GearReq gearReq) { + VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(gearReq.getVin()); + vehicleInstance.setGear(gearReq.getGear()); + } + } diff --git a/src/main/java/com/muyu/vehicle/VehicleInstance.java b/src/main/java/com/muyu/vehicle/VehicleInstance.java index 0e1812c..0784810 100644 --- a/src/main/java/com/muyu/vehicle/VehicleInstance.java +++ b/src/main/java/com/muyu/vehicle/VehicleInstance.java @@ -43,10 +43,15 @@ import static com.muyu.common.SystemConstant.*; @AllArgsConstructor public class VehicleInstance { + /** + * 路线轨迹编码 + */ + private String positionCode; + /** * 路径队列 */ - private final LinkedBlockingQueue positionQueue = new LinkedBlockingQueue<>(); + private LinkedBlockingQueue positionQueue = new LinkedBlockingQueue<>(); /** * 车辆 */ @@ -63,7 +68,10 @@ public class VehicleInstance { * 车辆工作线程 */ private VehicleThread vehicleThread; - + /** + * 消息状态 + */ + private String msgCode; /** * 线程提交回调 */ @@ -170,6 +178,7 @@ public class VehicleInstance { * @param positionModelList 路线集合 */ public void settingPosition(List positionModelList){ + positionQueue.clear(); positionModelList.forEach(positionQueue::offer); log.info("车辆:{} 设置路径成功", this.getVin()); } @@ -178,10 +187,12 @@ public class VehicleInstance { * 初始化线程 */ public void initVehicleThread() { + if (this.positionCode == null){ + throw new RuntimeException("车辆["+getVin()+"]为选中路径"); + } VehicleThread vehicleThread = new VehicleThread(); vehicleThread.setVehicleInstance(this); this.setVehicleThread(vehicleThread); - this.vehicleThread.pause(); ScheduledFuture scheduledFuture = ThreadPool.submit(vehicleThread); this.setScheduledFuture(scheduledFuture); log.info("初始化车辆上报模拟线程开始:[{}]", this.getVin()); @@ -191,21 +202,27 @@ public class VehicleInstance { * 开始上报线程 */ public void startSend() { + this.msgCode = "上报"; this.vehicleThread.resume(); + log.info("车辆[{}],开始上报", this.getVin()); } /** * 暂停上报线程 */ public void pauseSend() { + this.msgCode = "暂停"; this.vehicleThread.pause(); + log.info("车辆[{}],暂停上报", this.getVin()); } /** * 结束发送 */ public void stopSend() { + this.msgCode = "停止"; this.vehicleThread.stop(); + log.info("车辆[{}],停止上报", this.getVin()); } /** diff --git a/src/main/java/com/muyu/vehicle/model/VehicleData.java b/src/main/java/com/muyu/vehicle/model/VehicleData.java index 5af379c..33370c3 100644 --- a/src/main/java/com/muyu/vehicle/model/VehicleData.java +++ b/src/main/java/com/muyu/vehicle/model/VehicleData.java @@ -392,9 +392,27 @@ public class VehicleData { public static VehicleData vehicleBuild (Vehicle vehicle) { return VehicleData.builder() .vin(vehicle.getVin()) + .gear("P") .remainingBattery(vehicle.getRemainingBattery()) .batteryLevel(vehicle.getBatteryLevel()) .mileage(vehicle.getTotalMileage()) + .vehicleStatus(1) + .chargingStatus(1) + .operatingStatus(1) + .socStatus(1) + .chargingEnergyStorageStatus(1) + .driveMotorStatus(1) + .positionStatus(1) + .easStatus(1) + .ptcStatus(1) + .epsStatus(1) + .absStatus(1) + .mcuStatus(1) + .heatingStatus(1) + .batteryStatus(1) + .batteryInsulationStatus(1) + .dcdcStatus(1) + .chgStatus(1) .build(); } diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index d07f658..3058df6 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -1,7 +1,7 @@ insert into vehicle(vin, remaining_battery, total_mileage, battery_level, create_time) values -('VIN1234567891234',45000,12.483, 45000, CURRENT_TIMESTAMP()), -('VIN123456789DIJE',45000,23.696, 45000, CURRENT_TIMESTAMP()); +('VIN12345678912345',45000,12.483, 45000, CURRENT_TIMESTAMP()), +('VIN123456789DIJE4',45000,23.696, 45000, CURRENT_TIMESTAMP()); insert into route_info (id, name, data, create_time) values diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index ad6e7a5..a8c0802 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -8,7 +8,7 @@ create table if not exists vehicle ( create table if not exists route_info ( `id` int primary key not null , - `name` char (50) not null, + `name` char (3) not null, `data` CLOB not null, `create_time` datetime not null ) ;