Browse Source

消息推送

master
zhizhi wu 5 years ago
parent
commit
dc3af3ac60
  1. 21
      mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java
  2. 10
      mt/src/main/java/com/ccsens/mt/service/MessageServicer.java
  3. 18
      tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java
  4. 20
      tall/src/main/java/com/ccsens/tall/service/MessageService.java

21
mt/src/main/java/com/ccsens/mt/bean/dto/message/BaseMessageDto.java

@ -1,8 +1,14 @@
package com.ccsens.mt.bean.dto.message; 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 lombok.Data;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
@Data @Data
public class BaseMessageDto { public class BaseMessageDto {
@ -23,6 +29,8 @@ public class BaseMessageDto {
this.nickname = nickname; this.nickname = nickname;
this.avatarUrl = avatarUrl; this.avatarUrl = avatarUrl;
} }
} }
private Long time; private Long time;
@ -32,4 +40,17 @@ public class BaseMessageDto {
private MessageUser sender; private MessageUser sender;
private List<MessageUser> receivers; private List<MessageUser> receivers;
// private Object data; // private Object data;
public Set<String> receiversTransTos() {
Set<String> 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;
}
} }

10
mt/src/main/java/com/ccsens/mt/service/MessageServicer.java

@ -1,7 +1,9 @@
package com.ccsens.mt.service; package com.ccsens.mt.service;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.mt.bean.dto.message.SyncMessageWithShowDto; import com.ccsens.mt.bean.dto.message.SyncMessageWithShowDto;
import com.ccsens.util.JacksonUtil; import com.ccsens.util.JacksonUtil;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.config.RabbitMQConfig; import com.ccsens.util.config.RabbitMQConfig;
import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -15,8 +17,12 @@ public class MessageServicer implements IMessageService{
@Override @Override
public void sendSyncMessageWithShow(SyncMessageWithShowDto message) throws Exception { public void sendSyncMessageWithShow(SyncMessageWithShowDto message) throws Exception {
System.out.println(JacksonUtil.beanToJson(message)); System.out.println(JacksonUtil.beanToJson(message));
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, // rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
JacksonUtil.beanToJson(message)); // JacksonUtil.beanToJson(message));
InMessage inMessage = new InMessage();
inMessage.setTos(message.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(message.getData()));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
} }
} }

18
tall/src/main/java/com/ccsens/tall/bean/dto/message/BaseMessageDto.java

@ -1,8 +1,13 @@
package com.ccsens.tall.bean.dto.message; 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 lombok.Data;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
@Data @Data
public class BaseMessageDto { public class BaseMessageDto {
@ -32,4 +37,17 @@ public class BaseMessageDto {
private MessageUser sender; private MessageUser sender;
private List<MessageUser> receivers; private List<MessageUser> receivers;
// private Object data; // private Object data;
public Set<String> receiversTransTos() {
Set<String> 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;
}
} }

20
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.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.tall.bean.dto.message.*; import com.ccsens.tall.bean.dto.message.*;
import com.ccsens.tall.bean.vo.MemberVo; import com.ccsens.tall.bean.vo.MemberVo;
import com.ccsens.util.JacksonUtil; 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); SyncMessageWithStartDto message = new SyncMessageWithStartDto(projectId, sender, receivers, roleId, taskId, null, time, duration,player);
//FixMe 发送到消息队列 //FixMe 发送到消息队列
System.out.println("+++++++++++++"+JacksonUtil.beanToJson(message)); System.out.println("+++++++++++++"+JacksonUtil.beanToJson(message));
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME, // rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME,
JacksonUtil.beanToJson(message)); // 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 { public void sendStartTaskMessage(SyncMessageWithStartDto syncMessage) throws Exception {
System.out.println(JacksonUtil.beanToJson(syncMessage)); System.out.println(JacksonUtil.beanToJson(syncMessage));
//FixMe 发送到消息队列 //FixMe 发送到消息队列
rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME , // rabbitTemplate.convertAndSend(RabbitMQConfig.RabbitMQ_QUEUE_NAME ,
JacksonUtil.beanToJson(syncMessage)); // JacksonUtil.beanToJson(syncMessage));
InMessage inMessage = new InMessage();
inMessage.setTos(syncMessage.receiversTransTos());
inMessage.setData(JSONObject.toJSONString(syncMessage.getData()));
rabbitTemplate.convertAndSend(RabbitMQConfig.MESSAGE_QUEUE_NAME, inMessage);
} }

Loading…
Cancel
Save