mirror of
https://github.com/WuKongIM/WuKongIMFlutterSDK
synced 2025-05-24 11:22:20 +00:00
Modify Query History Message
This commit is contained in:
parent
a3343eb5e2
commit
a5c5d6cb96
@ -14,4 +14,5 @@
|
||||
* Update sending messages without notification to refresh conversation messsage
|
||||
### 1.0.7
|
||||
* Support message receipts
|
||||
|
||||
### 1.0.8
|
||||
* Modify Query History Message
|
@ -9,7 +9,7 @@
|
||||
#### 安装
|
||||
```
|
||||
dependencies:
|
||||
wukongimfluttersdk: ^1.0.7
|
||||
wukongimfluttersdk: ^1.0.8
|
||||
```
|
||||
#### 引入
|
||||
```dart
|
||||
|
@ -56,7 +56,7 @@ class ListViewShowDataState extends State<ListViewShowData> {
|
||||
setState(() {});
|
||||
});
|
||||
WKIM.shared.conversationManager.addOnRefreshMsgListener('chat_conversation',
|
||||
(msg, isEnd) {
|
||||
(msg, isEnd) async {
|
||||
bool isAdd = true;
|
||||
for (var i = 0; i < msgList.length; i++) {
|
||||
if (msgList[i].msg.channelID == msg.channelID &&
|
||||
|
@ -499,7 +499,7 @@ packages:
|
||||
path: ".."
|
||||
relative: true
|
||||
source: path
|
||||
version: "1.0.7"
|
||||
version: "1.0.8"
|
||||
x25519:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -177,18 +177,18 @@ class MessaggeDB {
|
||||
if (pullMode == 0) {
|
||||
if (contain) {
|
||||
sql =
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}..type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq<=$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq desc limit 0,$limit";
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}.type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq<=$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq desc limit 0,$limit";
|
||||
} else {
|
||||
sql =
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}..type<>0 and ${WKDBConst.tableMessage}${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq<$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq desc limit 0,$limit";
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}.type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq<$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq desc limit 0,$limit";
|
||||
}
|
||||
} else {
|
||||
if (contain) {
|
||||
sql =
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}..type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq>=$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq asc limit 0,$limit";
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}.type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq>=$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq asc limit 0,$limit";
|
||||
} else {
|
||||
sql =
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}..type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq>$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq asc limit 0,$limit";
|
||||
"SELECT * FROM (SELECT $messageCols,$extraCols FROM ${WKDBConst.tableMessage} LEFT JOIN ${WKDBConst.tableMessageExtra} on ${WKDBConst.tableMessage}.message_id=${WKDBConst.tableMessageExtra}.message_id WHERE ${WKDBConst.tableMessage}.channel_id='$channelId' and ${WKDBConst.tableMessage}.channel_type=$channelType and ${WKDBConst.tableMessage}.type<>0 and ${WKDBConst.tableMessage}.type<>99 AND ${WKDBConst.tableMessage}.order_seq>$oldestOrderSeq) where is_deleted=0 and is_mutual_deleted=0 order by order_seq asc limit 0,$limit";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -124,9 +124,11 @@ class WKConversationManager {
|
||||
List<WKMsg> msgList = [];
|
||||
List<WKMsgReaction> msgReactionList = [];
|
||||
List<WKMsgExtra> msgExtraList = [];
|
||||
List<WKUIConversationMsg> uiMsgList = [];
|
||||
if (syncChat.conversations != null && syncChat.conversations!.isNotEmpty) {
|
||||
for (int i = 0, size = syncChat.conversations!.length; i < size; i++) {
|
||||
WKConversationMsg conversationMsg = WKConversationMsg();
|
||||
|
||||
int channelType = syncChat.conversations![i].channelType;
|
||||
String channelID = syncChat.conversations![i].channelID;
|
||||
if (channelType == WKChannelType.communityTopic) {
|
||||
@ -142,6 +144,8 @@ class WKConversationManager {
|
||||
conversationMsg.lastMsgTimestamp = syncChat.conversations![i].timestamp;
|
||||
conversationMsg.unreadCount = syncChat.conversations![i].unread;
|
||||
conversationMsg.version = syncChat.conversations![i].version;
|
||||
WKUIConversationMsg uiMsg =
|
||||
ConversationDB.shared.getUIMsg(conversationMsg);
|
||||
//聊天消息对象
|
||||
if (syncChat.conversations![i].recents != null &&
|
||||
syncChat.conversations![i].recents!.isNotEmpty) {
|
||||
@ -153,6 +157,8 @@ class WKConversationManager {
|
||||
//判断会话列表的fromUID
|
||||
if (conversationMsg.lastClientMsgNO == msg.clientMsgNO) {
|
||||
conversationMsg.isDeleted = msg.isDeleted;
|
||||
uiMsg.isDeleted = conversationMsg.isDeleted;
|
||||
uiMsg.setWkMsg(msg);
|
||||
}
|
||||
if (wkSyncRecent.messageExtra != null) {
|
||||
WKMsgExtra extra = WKIM.shared.messageManager
|
||||
@ -164,23 +170,23 @@ class WKConversationManager {
|
||||
}
|
||||
}
|
||||
conversationMsgList.add(conversationMsg);
|
||||
uiMsgList.add(uiMsg);
|
||||
}
|
||||
}
|
||||
if (msgExtraList.isNotEmpty) {
|
||||
MessaggeDB.shared.insertOrUpdateMsgExtras(msgExtraList);
|
||||
}
|
||||
|
||||
List<WKUIConversationMsg> uiMsgList = [];
|
||||
if (conversationMsgList.isNotEmpty || msgList.isNotEmpty) {
|
||||
if (msgList.isNotEmpty) {
|
||||
MessaggeDB.shared.insertMsgList(msgList);
|
||||
}
|
||||
if (conversationMsgList.isNotEmpty) {
|
||||
for (int i = 0, size = conversationMsgList.length; i < size; i++) {
|
||||
WKUIConversationMsg uiMsg =
|
||||
ConversationDB.shared.getUIMsg(conversationMsgList[i]);
|
||||
uiMsgList.add(uiMsg);
|
||||
}
|
||||
// for (int i = 0, size = conversationMsgList.length; i < size; i++) {
|
||||
// WKUIConversationMsg uiMsg =
|
||||
// ConversationDB.shared.getUIMsg(conversationMsgList[i]);
|
||||
// uiMsgList.add(uiMsg);
|
||||
// }
|
||||
|
||||
// 保存
|
||||
ConversationDB.shared.insertMsgList(conversationMsgList);
|
||||
|
@ -15,7 +15,7 @@ description: wukong IM flutter sdk
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.0.7
|
||||
version: 1.0.8
|
||||
homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK
|
||||
|
||||
environment:
|
||||
|
Loading…
x
Reference in New Issue
Block a user