离线消息
This commit is contained in:
parent
e03d68e55f
commit
dc85509a33
@ -22,7 +22,7 @@ interface MsgCategoryDao {
|
||||
/**
|
||||
* 根据发送人ID获取
|
||||
*/
|
||||
@Query("SELECT * FROM db_category WHERE senderId=:senderId OR receiverId=:senderId AND loginUserId != :userId")
|
||||
@Query("SELECT * FROM db_category WHERE loginUserId = :userId AND senderId=:senderId OR receiverId=:senderId")
|
||||
suspend fun getCategoryBySenderId(userId: String, senderId: String): MsgCategoryBean?
|
||||
|
||||
/**
|
||||
@ -58,7 +58,7 @@ interface MsgCategoryDao {
|
||||
/**
|
||||
* 清空与某个人的聊天记录
|
||||
*/
|
||||
@Query("DELETE FROM db_category WHERE loginUserId=:userId AND `senderId`=(:from) AND receiverId=(:to) OR `senderId`=(:to) AND receiverId=(:from)")
|
||||
@Query("DELETE FROM db_category WHERE loginUserId=:userId AND (senderId=:from AND receiverId=:to) OR (senderId=:to AND receiverId=:from)")
|
||||
suspend fun delChatHistory(userId: String, from: String?, to: String?)
|
||||
|
||||
//删除聊天
|
||||
@ -98,6 +98,7 @@ interface MsgCategoryDao {
|
||||
* 根据发送人的ID插入或者更新
|
||||
*/
|
||||
suspend fun updateOrInsert(senderId: String, msgBean: MsgBean) {
|
||||
//判断消息是否存在
|
||||
val bean = getCategoryBySenderId(msgBean.loginUserId!!, senderId)
|
||||
if (bean == null) {
|
||||
//需要转换成MsgCategoryBean
|
||||
@ -127,6 +128,11 @@ interface MsgCategoryDao {
|
||||
/**
|
||||
* 根据messageId 更新头像和名称
|
||||
*/
|
||||
@Query("UPDATE db_category SET userNickName=:nickName,avatar=:avatar WHERE messageId=:messageId")
|
||||
suspend fun updateInfoByMessageId(nickName: String, avatar: String, messageId: String)
|
||||
@Query("UPDATE db_category SET userNickName=:nickName,avatar=:avatar WHERE messageId=:messageId AND loginUserId=:loginUserId")
|
||||
suspend fun updateInfoByMessageId(
|
||||
nickName: String,
|
||||
avatar: String,
|
||||
messageId: String,
|
||||
loginUserId: String
|
||||
)
|
||||
}
|
@ -87,7 +87,7 @@ interface MsgDao {
|
||||
/**
|
||||
* 清空与某个人的聊天记录
|
||||
*/
|
||||
@Query("DELETE FROM db_msg WHERE loginUserId=:userId AND senderId=:from AND receiverId=:to OR senderId=:from AND senderId=:to")
|
||||
@Query("DELETE FROM db_msg WHERE loginUserId=:userId AND (senderId=:from AND receiverId=:to) OR (senderId=:from AND senderId=:to)")
|
||||
suspend fun delChatHistory(userId: String, from: String, to: String)
|
||||
|
||||
/**
|
||||
@ -128,8 +128,13 @@ interface MsgDao {
|
||||
/**
|
||||
* 更新 头像和名称
|
||||
*/
|
||||
@Query("UPDATE db_msg SET userNickName=:nickName,avatar=:avatar WHERE messageId=:messageId")
|
||||
suspend fun updateUserInfoByMessageId(nickName: String, avatar: String, messageId: String)
|
||||
@Query("UPDATE db_msg SET userNickName=:nickName,avatar=:avatar WHERE messageId=:messageId AND loginUserId=:loginUserId")
|
||||
suspend fun updateUserInfoByMessageId(
|
||||
nickName: String,
|
||||
avatar: String,
|
||||
messageId: String,
|
||||
loginUserId: String
|
||||
)
|
||||
|
||||
/**
|
||||
* 搜索聊天内容
|
||||
|
@ -115,7 +115,7 @@ class ChatPageViewModel(
|
||||
Log.e("ChatPageViewModel", "getList:${fromId}\n${toId}");
|
||||
return withContext(Dispatchers.IO) {
|
||||
val msgDao = DbManager.db.msgDao()
|
||||
return@withContext msgDao.getMsgByFromOrToPage(SpUtils.getId(),fromId, toId)
|
||||
return@withContext msgDao.getMsgByFromOrToPage(SpUtils.getId(), fromId, toId)
|
||||
}
|
||||
}
|
||||
|
||||
@ -429,12 +429,14 @@ class ChatPageViewModel(
|
||||
cDao.updateInfoByMessageId(
|
||||
userInfoBean.nickname,
|
||||
userInfoBean.avatar,
|
||||
messageId
|
||||
messageId,
|
||||
SpUtils.getId()
|
||||
)
|
||||
mDao.updateUserInfoByMessageId(
|
||||
userInfoBean.nickname,
|
||||
userInfoBean.avatar,
|
||||
messageId
|
||||
messageId,
|
||||
SpUtils.getId()
|
||||
)
|
||||
}
|
||||
refresh()
|
||||
|
@ -150,12 +150,14 @@ class MsgViewModel(val context: Context) : BaseViewModel() {
|
||||
cDao.updateInfoByMessageId(
|
||||
userInfoBean.nickname,
|
||||
userInfoBean.avatar,
|
||||
messageId
|
||||
messageId,
|
||||
SpUtils.getId()
|
||||
)
|
||||
mDao.updateUserInfoByMessageId(
|
||||
userInfoBean.nickname,
|
||||
userInfoBean.avatar,
|
||||
messageId
|
||||
messageId,
|
||||
SpUtils.getId()
|
||||
)
|
||||
}
|
||||
refresh()
|
||||
|
Loading…
Reference in New Issue
Block a user