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