增加车辆实例控制层

增加车辆列表查询接口
master
DongZeLiang 2023-11-25 11:05:40 +08:00
parent 3915ad1b5d
commit 320fe5c311
6 changed files with 119 additions and 5 deletions

View File

@ -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<VehicleInstanceResp>> list(@RequestBody VehicleInstanceListReq vehicleInstanceListReq){
List<VehicleInstanceResp> list = vehicleInstanceService.queryList(vehicleInstanceListReq);
return Result.success(list);
}
}

View File

@ -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;
}

View File

@ -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();
}
}

View File

@ -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<VehicleInstanceResp> queryList (VehicleInstanceListReq vehicleInstanceListReq);
}

View File

@ -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<VehicleInstanceResp> queryList (VehicleInstanceListReq vehicleInstanceListReq) {
return LocalContainer.vehicleDataMap.values()
.stream()
.map(VehicleInstanceResp::instanceBuild)
.toList();
}
}

View File

@ -39,7 +39,7 @@ public class Test {
long genVinStartTime = System.currentTimeMillis();
List<String> 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);