MessageDao.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package com.uas.demo.dao;
  2. import com.uas.demo.model.Message;
  3. import org.springframework.data.mongodb.repository.MongoRepository;
  4. import org.springframework.stereotype.Repository;
  5. import java.util.List;
  6. @Repository
  7. public interface MessageDao extends MongoRepository<Message, String> {
  8. /**
  9. * 根据发起者和接收者获取相应状态的消息缓存
  10. *
  11. * @param senderInfo 消息的发送者信息
  12. * @param receiverInfo 消息的接受者信息
  13. * @param read 消息是否已读
  14. */
  15. List<Message> findBySenderInfoAndReceiverInfoAndReadOrderByTimeSendAsc(String senderInfo, String receiverInfo, Boolean read);
  16. /**
  17. * 获取当前用户的前3条消息
  18. *
  19. * @param own 消息的拥有者
  20. * @param communicator 消息的关联者
  21. * @param read 消息是否已读
  22. */
  23. List<Message> findTop3ByOwnAndCommunicatorAndReadOrderByTimeSendDescStyleAsc(String own, String communicator, Boolean read);
  24. /**
  25. * 统计用户的未读或已读消息的数量
  26. *
  27. * @param own 用户User Id
  28. * @param read 消息阅读状态
  29. */
  30. Long countByOwnAndRead(String own, Boolean read);
  31. List<Message> findByOwnAndCommunicatorAndTimeSendBetweenOrderByTimeSendAsc(String own, String communicator, Long max, Long min);
  32. }