Commit f7c18943 by 赵剑炜

消息队列中文问题

parent 70afe0bb
......@@ -919,7 +919,7 @@ public class BussinessInventoryServiceImpl extends ServiceImpl<BussinessInventor
mqDto.setOrderId(BI.getId());
MQ.SendMsg("orderExchange", BI.getOrgId().toString(),mqDto);
String Msg="盘库单:【"+BI.getOrderNum()+"】已结束,仓库:"+BI.getWarehouseName()+",该仓库已解锁";
sendAsyncReminder(BI,Msg,"pass");//异步推送消息
sendAsyncReminder(BI,Msg,"Inventory/pass");//异步推送消息
return true;
}
......
......@@ -139,12 +139,24 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
req.setUserId(String.valueOf(StartUser.getUserId()));
req.setUserName(StartUser.getRealName());
}
String exchangeName="DeviceControl";
// 将请求对象序列化为JSON字符串
String jsonString = JSON.toJSONString(req);
MessagePostProcessor messagePostProcessor = message -> {
MessageProperties messageProperties = message.getMessageProperties();
if (messageProperties == null) {
messageProperties = new MessageProperties();
}
messageProperties.setContentType("application/json");
messageProperties.setContentEncoding("UTF-8"); // 设置消息字符编码为UTF-8
messageProperties.setExpiration("10000"); // 设置消息的过期时间为10秒
return message;
};
// 创建广播交换器
FanoutExchange exchange = new FanoutExchange ("DeviceControl");
String exchangeName="DeviceControl";
rabbitAdmin.declareExchange(exchange);
// 将消息体封装到Message对象中
Message message = MessageBuilder.withBody(jsonString.getBytes())
......@@ -152,7 +164,7 @@ public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper,Warehouse>
.build();
// 发送消息到RabbitMQ
rabbitTemplate.convertAndSend(exchangeName, req.getWarehouseId(), message);
rabbitTemplate.convertAndSend(exchangeName, req.getWarehouseId(), message, messagePostProcessor);
return null;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论