From 320fe5c311bab422096f0eb9957ba1308f57c43a Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Sat, 25 Nov 2023 11:05:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BD=A6=E8=BE=86=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E6=8E=A7=E5=88=B6=E5=B1=82=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/VehicleInstanceController.java | 39 +++++++++++++++++++ .../domain/req/VehicleInstanceListReq.java | 23 +++++++++++ .../muyu/domain/resp/VehicleInstanceResp.java | 30 ++++++++++++++ .../muyu/service/VehicleInstanceService.java | 11 ++++++ .../impl/VehicleInstanceServiceImpl.java | 19 +++++++-- src/main/java/com/muyu/vehicle/Test.java | 2 +- 6 files changed, 119 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/muyu/controller/VehicleInstanceController.java create mode 100644 src/main/java/com/muyu/domain/req/VehicleInstanceListReq.java create mode 100644 src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java diff --git a/src/main/java/com/muyu/controller/VehicleInstanceController.java b/src/main/java/com/muyu/controller/VehicleInstanceController.java new file mode 100644 index 0000000..77833ff --- /dev/null +++ b/src/main/java/com/muyu/controller/VehicleInstanceController.java @@ -0,0 +1,39 @@ +package com.muyu.controller; + +import com.muyu.common.Result; +import com.muyu.domain.req.VehicleInstanceListReq; +import com.muyu.domain.resp.VehicleInstanceResp; +import com.muyu.service.VehicleInstanceService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author DongZl + * @description: 车辆实例控制层 + * @Date 2023-11-25 上午 10:01 + */ +@Log4j2 +@RestController +@RequestMapping("/instance") +public class VehicleInstanceController { + + @Autowired + private VehicleInstanceService vehicleInstanceService; + + /** + * 查询车辆集合 + * @param vehicleInstanceListReq 车辆列表查询对象 + * @return 结果 + */ + @PostMapping("/list") + public Result> list(@RequestBody VehicleInstanceListReq vehicleInstanceListReq){ + List list = vehicleInstanceService.queryList(vehicleInstanceListReq); + return Result.success(list); + } +} diff --git a/src/main/java/com/muyu/domain/req/VehicleInstanceListReq.java b/src/main/java/com/muyu/domain/req/VehicleInstanceListReq.java new file mode 100644 index 0000000..057ca2c --- /dev/null +++ b/src/main/java/com/muyu/domain/req/VehicleInstanceListReq.java @@ -0,0 +1,23 @@ +package com.muyu.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author DongZl + * @description: 车辆请求 + * @Date 2023-11-25 上午 10:03 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class VehicleInstanceListReq { + + /** + * VIN + */ + private String vin; +} diff --git a/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java b/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java new file mode 100644 index 0000000..437bf27 --- /dev/null +++ b/src/main/java/com/muyu/domain/resp/VehicleInstanceResp.java @@ -0,0 +1,30 @@ +package com.muyu.domain.resp; + +import com.muyu.vehicle.VehicleInstance; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author DongZl + * @description: 车辆实例控制层响应结果 + * @Date 2023-11-25 上午 10:04 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class VehicleInstanceResp { + + /** + * VIN + */ + private String vin; + + public static VehicleInstanceResp instanceBuild (VehicleInstance vehicleInstance) { + return VehicleInstanceResp.builder() + .vin(vehicleInstance.getVin()) + .build(); + } +} diff --git a/src/main/java/com/muyu/service/VehicleInstanceService.java b/src/main/java/com/muyu/service/VehicleInstanceService.java index ca9c2dd..b574278 100644 --- a/src/main/java/com/muyu/service/VehicleInstanceService.java +++ b/src/main/java/com/muyu/service/VehicleInstanceService.java @@ -1,6 +1,10 @@ package com.muyu.service; import com.muyu.domain.Vehicle; +import com.muyu.domain.req.VehicleInstanceListReq; +import com.muyu.domain.resp.VehicleInstanceResp; + +import java.util.List; /** * @author DongZeLiang @@ -21,4 +25,11 @@ public interface VehicleInstanceService { * @param vin 车辆VIN */ public void initClient(String vin); + + /** + * 车辆结果对象 + * @param vehicleInstanceListReq 车辆查询 + * @return 车辆对象 + */ + List queryList (VehicleInstanceListReq vehicleInstanceListReq); } diff --git a/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java b/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java index c300f9a..24138b6 100644 --- a/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java +++ b/src/main/java/com/muyu/service/impl/VehicleInstanceServiceImpl.java @@ -1,6 +1,8 @@ package com.muyu.service.impl; import com.muyu.domain.Vehicle; +import com.muyu.domain.req.VehicleInstanceListReq; +import com.muyu.domain.resp.VehicleInstanceResp; import com.muyu.service.VehicleInstanceService; import com.muyu.vehicle.VehicleInstance; import com.muyu.vehicle.core.LocalContainer; @@ -9,6 +11,8 @@ import com.muyu.vehicle.model.properties.MqttProperties; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author DongZeLiang * @version 1.0 @@ -50,11 +54,18 @@ public class VehicleInstanceServiceImpl implements VehicleInstanceService { } /** + * 车辆结果对象 * + * @param vehicleInstanceListReq 车辆查询 * - * - * - * - * + * @return 车辆对象 */ + @Override + public List queryList (VehicleInstanceListReq vehicleInstanceListReq) { + return LocalContainer.vehicleDataMap.values() + .stream() + .map(VehicleInstanceResp::instanceBuild) + .toList(); + } + } diff --git a/src/main/java/com/muyu/vehicle/Test.java b/src/main/java/com/muyu/vehicle/Test.java index f486877..6166042 100644 --- a/src/main/java/com/muyu/vehicle/Test.java +++ b/src/main/java/com/muyu/vehicle/Test.java @@ -39,7 +39,7 @@ public class Test { long genVinStartTime = System.currentTimeMillis(); List list = new ArrayList<>(); // list.add("VIN12345678912345"); - for (int i = 0; i < 100; i++) { + for (int i = 0; i < 10; i++) { list.add(VehicleUtils.genVin()); } log.info("生成VIN结束:[{}MS]", System.currentTimeMillis()-genVinStartTime);