|
|
@@ -1,40 +1,19 @@
|
|
|
package com.middle.platform.data.biz.service.mqtt;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
import com.middle.platform.data.biz.service.mqtt.impl.DynamicTopic;
|
|
|
-import com.middle.platform.manage.api.feign.ProductApi;
|
|
|
-import com.middle.platform.manage.api.pojo.TopicVo;
|
|
|
-import com.middle.platform.redis.constant.CacheConstant;
|
|
|
-import com.middle.platform.redis.service.CacheService;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
-
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
@Component
|
|
|
@Slf4j
|
|
|
public class MqttTopicInit {
|
|
|
- @Resource
|
|
|
- private ProductApi productApi;
|
|
|
@Resource
|
|
|
private DynamicTopic dynamicTopic;
|
|
|
- @Resource
|
|
|
- private CacheService cacheService;
|
|
|
|
|
|
public void init() {
|
|
|
- List<TopicVo> topicVos = productApi.productTopic();
|
|
|
-
|
|
|
- if (!CollectionUtils.isEmpty(topicVos)) {
|
|
|
- log.info("初始化订阅:{}", JSONObject.toJSONString(topicVos));
|
|
|
- Map<String, Object> map = topicVos.stream().collect(Collectors.toMap(a -> String.format(CacheConstant.TOPIC_CACHE, a.getUrl()), b -> b.getFunc() + String.valueOf(b.getPermission()), (a, b) -> a));
|
|
|
- cacheService.multiSetKey(map);
|
|
|
- dynamicTopic.addTopic(topicVos.stream().map(TopicVo::getUrl).collect(Collectors.toList()));
|
|
|
- }
|
|
|
+ dynamicTopic.addTopic(TopicDefault.ATTR_UP, 0);
|
|
|
+ dynamicTopic.addTopic(TopicDefault.EVENT_UP, 0);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
}
|