package com.muyu.service.impl; import com.muyu.domain.Vehicle; 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.stereotype.Service; /** * @author DongZeLiang * @version 1.0 * @description 车辆实例业务实现层 * @date 2023/11/22 */ @Log4j2 @Service public class VehicleInstanceServiceImpl implements VehicleInstanceService { /** * 根据车辆生成车辆实例 * * @param vehicle 车辆信息 */ @Override public void init(Vehicle vehicle) { VehicleInstance vehicleInstance = new VehicleInstance(); vehicleInstance.setVehicle(vehicle); vehicleInstance.setVehicleData(VehicleData.vehicleBuild(vehicle)); LocalContainer.setVehicleInstance(vehicleInstance); log.info("构建车辆对象: [{}]", vehicle.getVin()); } /** * 初始化链接客户端 * * @param vin 车辆VIN */ @Override public void initClient(String vin) { VehicleInstance vehicleInstance = LocalContainer.getVehicleInstance(vin); MqttProperties mqttProperties = MqttProperties.builder() .broker("tcp://fluxmq.muyu.icu:1883") .topic("test") .clientId(vin) .build(); vehicleInstance.setMqttProperties(mqttProperties); vehicleInstance.initCline(); } /** * * * * * * */ }