package com.mh; import com.mh.common.core.domain.entity.MqttSubscription; import com.mh.common.utils.StringUtils; import com.mh.framework.mqtt.service.IMqttTopicService; import com.mh.system.service.mqtt.IMqttSubscriptionService; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import java.util.List; /** * @author LJF * @version 1.0 * @project EEMCS * @description 项目初始化之后的系列操作 * @date 2025-02-14 16:35:50 */ @Component public class MHRunner implements ApplicationRunner { private final IMqttSubscriptionService iMqttSubscriptionService; private final IMqttTopicService iMqttTopicService; public MHRunner(IMqttSubscriptionService iMqttSubscriptionService, IMqttTopicService iMqttTopicService) { this.iMqttSubscriptionService = iMqttSubscriptionService; this.iMqttTopicService = iMqttTopicService; } @Override public void run(ApplicationArguments args) throws Exception { // 初始化mqtt订阅记录 initializeMqttSubscription(); } /** * 初始化mqtt订阅记录 */ private void initializeMqttSubscription() { MqttSubscription mqttSubscription = new MqttSubscription(); mqttSubscription.setStatus("0"); List mqttSubscriptions = iMqttSubscriptionService.selectMqttSubList(mqttSubscription); for (MqttSubscription subscription : mqttSubscriptions) { try { if (!StringUtils.isEmpty(subscription.getTopic())) { iMqttTopicService.subscribe(subscription.getTopic(), subscription.getQos()); } } catch (Exception e) { throw new RuntimeException(e); } } } }