diff --git a/pom.xml b/pom.xml index 9894707..8e73e86 100644 --- a/pom.xml +++ b/pom.xml @@ -365,6 +365,13 @@ knife4j-spring-boot-starter 2.0.9 + + + + + org.springframework.boot + spring-boot-starter-amqp + diff --git a/src/main/java/com/glxp/api/config/rabbit/TopicRabbitConfig.java b/src/main/java/com/glxp/api/config/rabbit/TopicRabbitConfig.java new file mode 100644 index 0000000..1801f03 --- /dev/null +++ b/src/main/java/com/glxp/api/config/rabbit/TopicRabbitConfig.java @@ -0,0 +1,43 @@ +package com.glxp.api.config.rabbit; + +import org.springframework.amqp.core.Binding; +import org.springframework.amqp.core.BindingBuilder; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.core.TopicExchange; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +@Configuration +public class TopicRabbitConfig { + //绑定键 + public final static String common = "topic.common"; + public final static String trace = "topic.trace"; + + @Bean + public Queue firstQueue() { + return new Queue(TopicRabbitConfig.trace); + } + + @Bean + public Queue secondQueue() { + return new Queue(TopicRabbitConfig.common); + } + + @Bean + TopicExchange exchange() { + return new TopicExchange("topicExchange"); + } + + + @Bean + Binding bindingExchangeMessage() { + return BindingBuilder.bind(firstQueue()).to(exchange()).with(trace); + } + + @Bean + Binding bindingExchangeMessage2() { + return BindingBuilder.bind(secondQueue()).to(exchange()).with("topic.#"); + } + +} diff --git a/src/main/java/com/glxp/api/controller/trace/TestController.java b/src/main/java/com/glxp/api/controller/trace/TestController.java new file mode 100644 index 0000000..40a935a --- /dev/null +++ b/src/main/java/com/glxp/api/controller/trace/TestController.java @@ -0,0 +1,51 @@ +package com.glxp.api.controller.trace; + +import cn.hutool.core.lang.UUID; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.config.rabbit.TopicRabbitConfig; +import com.glxp.api.util.DateUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + + +@RestController +@RequiredArgsConstructor +public class TestController { + @Resource + private final RabbitTemplate rabbitTemplate; + + @GetMapping("/sendUdi") + public BaseResponse sendUdi(String key) { + String messageId = String.valueOf(UUID.randomUUID()); + Map messageMap = new HashMap<>(); + messageMap.put("messageId", messageId); + messageMap.put("messageData", key); + messageMap.put("createTime", DateUtil.formatDate(new Date())); + rabbitTemplate.convertAndSend("topicExchange", TopicRabbitConfig.trace, messageMap); + return ResultVOUtils.success("发送成功"); + } + + @GetMapping("/sendCommon") + public BaseResponse sendCommon(String key) { + String messageId = String.valueOf(UUID.randomUUID()); + Map messageMap = new HashMap<>(); + messageMap.put("messageId", messageId); + messageMap.put("messageData", key); + messageMap.put("createTime", DateUtil.formatDate(new Date())); + rabbitTemplate.convertAndSend("topicExchange", TopicRabbitConfig.common, messageMap); + return ResultVOUtils.success("发送成功"); + } + + +} + diff --git a/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java b/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java index a458f5d..2a1f2bb 100644 --- a/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java +++ b/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java @@ -1,18 +1,13 @@ package com.glxp.api.controller.trace; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; -import com.glxp.api.entity.auth.DeptEntity; -import com.glxp.api.entity.sup.UserCompanyEntity; -import com.glxp.api.req.auth.FilterUserComapanyRequest; import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.trace.TraceRecordResponse; -import com.glxp.api.service.sup.UserCompanyService; import com.glxp.api.service.trace.TraceRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -44,5 +39,4 @@ public class TraceRecordController extends BaseController { } - } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 03b3b41..caf382c 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -33,6 +33,15 @@ spring: max-file-size: 500MB max-request-size: 500MB + rabbitmq: + host: 127.0.0.1 + port: 5672 + username: cpt + password: 123456 + virtual-host: / + publisher-confirms: false + connection-timeout: 15000 + ok: http: connect-timeout: 3000