From 83dfdc2d6b74ee2fe01e7ff0a1e9ab78b3a3fb6b Mon Sep 17 00:00:00 2001 From: zhaoqiaobo Date: Wed, 8 May 2024 16:11:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(all):=20=E4=BF=AE=E6=94=B9mq=E5=8F=91?= =?UTF-8?q?=E9=80=81=E6=B6=88=E6=81=AF=E6=A0=B9=E6=8D=AE=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/service/impl/MqServiceImpl.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/service/impl/MqServiceImpl.java b/blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/service/impl/MqServiceImpl.java index d09709901..dc0e3b8cd 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/service/impl/MqServiceImpl.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-base/src/main/java/com/logpm/factorydata/base/service/impl/MqServiceImpl.java @@ -11,17 +11,24 @@ import com.logpm.factorydata.base.exception.MsgException; import com.logpm.factorydata.base.service.FailMsgService; import com.logpm.factorydata.base.service.MqService; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.ThreadLocalUtil; +import org.springblade.core.tool.utils.WebUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageBuilder; import org.springframework.amqp.core.MessageDeliveryMode; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.http.HttpHeaders; import org.springframework.retry.annotation.Backoff; import org.springframework.retry.annotation.Recover; import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; /** * @author zhaoqiaobo @@ -97,6 +104,21 @@ public class MqServiceImpl implements MqService { try { // 5.发送消息 this.rabbitTemplate.convertAndSend(exchange, routingKey, message, messagePostProcessor -> { + HttpHeaders headers = (HttpHeaders) ThreadLocalUtil.get("bladeContext"); + if (headers != null && !headers.isEmpty()) { + headers.forEach((key, values) -> { + values.forEach((value) -> { + messagePostProcessor.getMessageProperties().setHeader(key, new String[]{value}); + }); + }); + } + BladeUser user = AuthUtil.getUser(); + BladeUser bladeUser = new BladeUser(); + bladeUser.setTenantId(user.getTenantId()); + bladeUser.setUserId(user.getUserId()); + bladeUser.setAccount(user.getAccount()); + bladeUser.setRoleId(user.getRoleId()); + messagePostProcessor.getMessageProperties().setHeader("bladeUser", JSONUtil.toJsonStr(bladeUser)); //设置延时发送时间,delay小于0,实时发送 messagePostProcessor.getMessageProperties().setDelay(delay); return messagePostProcessor;