package com.dy.pipIrrApp.workOrder.mqtt; 
 | 
  
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.eclipse.paho.client.mqttv3.MqttClient; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
import org.springframework.web.bind.annotation.GetMapping; 
 | 
import org.springframework.web.bind.annotation.PathVariable; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
import org.springframework.web.bind.annotation.RestController; 
 | 
  
 | 
/** 
 | 
 * @author ZhuBaoMin 
 | 
 * @date 2024-11-16 11:32 
 | 
 * @LastEditTime 2024-11-16 11:32 
 | 
 * @Description 
 | 
 */ 
 | 
  
 | 
@Slf4j 
 | 
@RestController 
 | 
@RequestMapping(path = "mqtt") 
 | 
public class TestController { 
 | 
  
 | 
    @Value("${mqtt.broker}") 
 | 
    private String broker; 
 | 
  
 | 
    @Value("${mqtt.username}") 
 | 
    private String username; 
 | 
  
 | 
    @Value("${mqtt.password}") 
 | 
    private String password; 
 | 
  
 | 
    @Value("${mqtt.topic}") 
 | 
    private String topic; 
 | 
  
 | 
    @Value("${mqtt.qos}") 
 | 
    private Integer qos; 
 | 
  
 | 
    @GetMapping("/mqtt/{msg}") 
 | 
    public String testSendMqttMsg(@PathVariable("msg") String msg){ 
 | 
        log.info("消息内容:{}.", msg); 
 | 
  
 | 
        MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(broker, username, password); 
 | 
        MqttMsgSender sender = new MqttMsgSender(); 
 | 
  
 | 
        String content = "{" + " \"message\": \"" + msg + "\"," + " \"val\": 100.00" + "}"; 
 | 
  
 | 
        if (null != mqttClient){ 
 | 
            sender.sendMessage(mqttClient, topic, content, qos); 
 | 
        } else { 
 | 
            log.info("MqttClient为空,无法发送!"); 
 | 
            return "失败!"; 
 | 
        } 
 | 
        return "成功!"; 
 | 
    } 
 | 
  
 | 
    @GetMapping("/receive") 
 | 
    public String receiveMsg() { 
 | 
        MqttMsgSubscriber subscriber = new MqttMsgSubscriber(); 
 | 
        subscriber.readSubscribeTopicMessage(); 
 | 
        return "success"; 
 | 
    } 
 | 
} 
 |