parent
8521863255
commit
58d9c66939
@ -0,0 +1,51 @@
|
|||||||
|
package dto;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserMessageDto implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息ID
|
||||||
|
*/
|
||||||
|
private String messageId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息ID
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息标题
|
||||||
|
*/
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息内容
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已读 0为未读 1为已读
|
||||||
|
*/
|
||||||
|
private Integer havaRead;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date sendTime;
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.luoo.user.dao;
|
||||||
|
|
||||||
|
import com.luoo.user.pojo.UserMessage;
|
||||||
|
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface UserMessageDao extends MongoRepository<UserMessage,String> {
|
||||||
|
|
||||||
|
List<UserMessage> findAllByUserId(String userId);
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.luoo.user.listener;
|
||||||
|
|
||||||
|
|
||||||
|
import com.luoo.user.dao.UserMessageDao;
|
||||||
|
import com.luoo.user.pojo.UserMessage;
|
||||||
|
import dto.UserMessageDto;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@RabbitListener(queues = "userMessage")
|
||||||
|
public class UserMessageListener {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserMessageDao userMessageDao;
|
||||||
|
|
||||||
|
@RabbitHandler
|
||||||
|
public void executeSendUserMessage(UserMessageDto userMessageDto) {
|
||||||
|
|
||||||
|
UserMessage userMessage = new UserMessage();
|
||||||
|
BeanUtils.copyProperties(userMessageDto,userMessage);
|
||||||
|
|
||||||
|
userMessageDao.save(userMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
package com.luoo.user.pojo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserMessage implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息ID
|
||||||
|
*/
|
||||||
|
@Id
|
||||||
|
private String messageId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息ID
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息标题
|
||||||
|
*/
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消息内容
|
||||||
|
*/
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已读 0为未读 1为已读
|
||||||
|
*/
|
||||||
|
private Integer havaRead;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date sendTime;
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.luoo.user.service;
|
||||||
|
|
||||||
|
import com.luoo.user.dao.UserMessageDao;
|
||||||
|
import com.luoo.user.pojo.UserMessage;
|
||||||
|
import dto.UserMessageDto;
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import util.IdWorker;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserMessageService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserMessageDao userMessageDao;
|
||||||
|
@Autowired
|
||||||
|
private IdWorker idWorker;
|
||||||
|
public void sendUserMessage(UserMessageDto userMessageDto) {
|
||||||
|
|
||||||
|
userMessageDto.setMessageId(idWorker.nextId()+"");
|
||||||
|
userMessageDto.setHavaRead(0);
|
||||||
|
userMessageDto.setSendTime(new Date());
|
||||||
|
rabbitTemplate.convertAndSend("userMessage",userMessageDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List list() {
|
||||||
|
|
||||||
|
return userMessageDao.findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List findByUserId(String userId) {
|
||||||
|
|
||||||
|
return userMessageDao.findAllByUserId(userId);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue