package com.ruoyi.utils.qymqtt;
|
|
import com.ruoyi.sy.domain.ArdSyCarRtu;
|
import com.ruoyi.sy.service.ArdSyCarRtuService;
|
import com.ruoyi.utils.qymqtt.newM.EmqClient;
|
import com.ruoyi.utils.qymqtt.newM.QosEnum;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.PostConstruct;
|
import java.util.List;
|
import java.util.UUID;
|
|
@Slf4j(topic = "mqttCar")
|
@Component
|
public class AutoMqtt {
|
|
@Autowired
|
private ArdSyCarRtuService ardSyCarRtuService;
|
|
// @PostConstruct
|
public void init() {
|
// ArdSyCarRtuService carRtuService = SpringUtils.getBean(ArdSyCarRtuService.class);
|
// //获取电磁锁地址
|
// String mqttUrl = carRtuService.url("ElectromagneticLockUrl");
|
List<ArdSyCarRtu> rtus = ardSyCarRtuService.allCarTopicList();
|
for (int i = 0; i < rtus.size(); i++) {
|
ArdSyCarRtu rtu = rtus.get(i);
|
String carId = rtu.getCarId();
|
String subscribe = rtu.getTopicSubscribe();
|
try {
|
// MqttCustomerClient mqttCustomerClient = new MqttCustomerClient();
|
// mqttCustomerClient.connect(carId+"mqtt"+ UUID.randomUUID());
|
// mqttCustomerClient.subscribe(subscribe);
|
EmqClient emqClient = new EmqClient(carId+"mqttSubscribe"+UUID.randomUUID());
|
emqClient.connect();
|
emqClient.subscribe(subscribe, QosEnum.QoS2);
|
log.info("订阅主题:"+subscribe);
|
}catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
}
|