package com.zy.acs.hex.controller; import com.zy.acs.hex.constant.RabbitConstant; import com.zy.acs.hex.domain.Device; import com.zy.component.influxdb.service.InfluxDBService; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @Slf4j @RequestMapping(value = "/message") public class TestController { @Autowired private RabbitTemplate rabbitTemplate; @Autowired private InfluxDBService influxDBService; /** * 发送消息test1 * * @return */ @GetMapping(value = "/test1") public void sendTest1() { Device device = new Device(); //device.setEvent("online"); //device.setDeviceId("123"); device.setProtocol("212121212121212"); String router = RabbitConstant.ROUTING_KEY_UP.replaceFirst("\\*", "123").replaceFirst("\\*", "online"); rabbitTemplate.convertAndSend(RabbitConstant.TOPIC_EXCHANGE, router, device); } /** * 发送消息test2 * * @return */ @GetMapping(value = "/test2") public void sendTest2() { rabbitTemplate.convertAndSend(RabbitConstant.TOPIC_EXCHANGE, RabbitConstant.ROUTING_KEY_DOWN, "qswaqsaasas"); } /** * 发送消息test2 * * @return */ @GetMapping(value = "/query") @ResponseBody public Object queryTest() { return influxDBService.queryData("select * from device order by time desc limit 10"); } }