package com.uas.demo.dao; import com.uas.demo.model.Message; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface MessageDao extends MongoRepository { /** * 根据发起者和接收者获取相应状态的消息缓存 * * @param senderInfo 消息的发送者信息 * @param receiverInfo 消息的接受者信息 * @param read 消息是否已读 */ List findBySenderInfoAndReceiverInfoAndReadOrderByTimeSendAsc(String senderInfo, String receiverInfo, Boolean read); /** * 获取当前用户的前3条消息 * * @param own 消息的拥有者 * @param communicator 消息的关联者 * @param read 消息是否已读 */ List findTop3ByOwnAndCommunicatorAndReadOrderByTimeSendDescStyleAsc(String own, String communicator, Boolean read); /** * 统计用户的未读或已读消息的数量 * * @param own 用户User Id * @param read 消息阅读状态 */ Long countByOwnAndRead(String own, Boolean read); List findByOwnAndCommunicatorAndTimeSendBetweenOrderByTimeSendAsc(String own, String communicator, Long max, Long min); }