diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java index 0365779a..080bfc15 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java @@ -1,8 +1,14 @@ package com.ccsens.mt.bean.dto.message; +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONObject; +import com.ccsens.util.bean.message.common.InMessage; import lombok.Data; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Data public class BaseMessageDto { @@ -23,6 +29,8 @@ public class BaseMessageDto { this.nickname = nickname; this.avatarUrl = avatarUrl; } + + } private Long time; @@ -32,4 +40,17 @@ public class BaseMessageDto { private MessageUser sender; private List receivers; // private Object data; + + public Set receiversTransTos() { + Set tos = new HashSet<>(); + if (CollectionUtil.isEmpty(receivers)) { + return tos; + } + receivers.forEach(receiver -> { + InMessage.To to = new InMessage.To(receiver.getUserId()); + tos.add(JSONObject.toJSONString(to)); + }); + + return tos; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/MessageServicer.java b/mt/src/main/java/com/ccsens/mt/service/MessageServicer.java index 942a7e98..341579a7 100644 --- a/mt/src/main/java/com/ccsens/mt/service/MessageServicer.java +++ b/mt/src/main/java/com/ccsens/mt/service/MessageServicer.java @@ -1,7 +1,9 @@ package com.ccsens.mt.service; +import com.alibaba.fastjson.JSONObject; import com.ccsens.mt.bean.dto.message.SyncMessageWithShowDto; import com.ccsens.util.JacksonUtil; +import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.config.RabbitMQConfig; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -15,8 +17,12 @@ public class MessageServicer implements IMessageService{ @Override public void sendSyncMessageWithShow(SyncMessageWithShowDto message) throws Exception { System.out.println(JacksonUtil.beanToJson(message)); - rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, - JacksonUtil.beanToJson(message)); +// rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, +// JacksonUtil.beanToJson(message)); + InMessage inMessage = new InMessage(); + inMessage.setTos(message.receiversTransTos()); + inMessage.setData(JSONObject.toJSONString(message.getData())); + rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage); } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java index 9b3f8f0c..cadb02e0 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java @@ -1,8 +1,13 @@ package com.ccsens.tall.bean.dto.message; +import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONObject; +import com.ccsens.util.bean.message.common.InMessage; import lombok.Data; +import java.util.HashSet; import java.util.List; +import java.util.Set; @Data public class BaseMessageDto { @@ -32,4 +37,17 @@ public class BaseMessageDto { private MessageUser sender; private List receivers; // private Object data; + + public Set receiversTransTos() { + Set tos = new HashSet<>(); + if (CollectionUtil.isEmpty(receivers)) { + return tos; + } + receivers.forEach(receiver -> { + InMessage.To to = new InMessage.To(receiver.getUserId()); + tos.add(JSONObject.toJSONString(to)); + }); + + return tos; + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/MessageService.java b/tall/src/main/java/com/ccsens/tall/service/MessageService.java index 5898f95b..38a5e0e7 100644 --- a/tall/src/main/java/com/ccsens/tall/service/MessageService.java +++ b/tall/src/main/java/com/ccsens/tall/service/MessageService.java @@ -2,6 +2,7 @@ package com.ccsens.tall.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; import com.ccsens.tall.bean.dto.message.*; import com.ccsens.tall.bean.vo.MemberVo; import com.ccsens.util.JacksonUtil; @@ -61,8 +62,13 @@ public class MessageService implements IMessageService{ SyncMessageWithStartDto message = new SyncMessageWithStartDto(projectId, sender, receivers, roleId, taskId, null, time, duration,player); //FixMe 发送到消息队列 System.out.println("+++++++++++++"+JacksonUtil.beanToJson(message)); - rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, - JacksonUtil.beanToJson(message)); +// rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, +// JacksonUtil.beanToJson(message)); + + InMessage inMessage = new InMessage(); + inMessage.setTos(message.receiversTransTos()); + inMessage.setData(JSONObject.toJSONString(message.getData())); + rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage); } } @@ -93,8 +99,14 @@ public class MessageService implements IMessageService{ public void sendStartTaskMessage(SyncMessageWithStartDto syncMessage) throws Exception { System.out.println(JacksonUtil.beanToJson(syncMessage)); //FixMe 发送到消息队列 - rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME , - JacksonUtil.beanToJson(syncMessage)); +// rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME , +// JacksonUtil.beanToJson(syncMessage)); + InMessage inMessage = new InMessage(); + inMessage.setTos(syncMessage.receiversTransTos()); + inMessage.setData(JSONObject.toJSONString(syncMessage.getData())); + rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage); + + }