queryAllUnreadCount method
Implementation
Future<int> queryAllUnreadCount() async {
int count = 0;
var channels = await ChannelDB.shared.queryWithMuted();
var channelIds = [];
var sql = "";
List<Map<String, Object?>>? list;
if (channels.isNotEmpty) {
for (var channel in channels) {
channelIds.add(channel.channelID);
}
sql =
"select SUM(unread_count) count from ${WKDBConst.tableConversation} where channel_id not in (${WKDBConst.getPlaceholders(channelIds.length)})";
list = await WKDBHelper.shared.getDB()!.rawQuery(sql, channelIds);
} else {
sql =
"select SUM(unread_count) count from ${WKDBConst.tableConversation}";
list = await WKDBHelper.shared.getDB()?.rawQuery(sql);
}
if (list == null || list.isEmpty) {
return count;
}
dynamic data = list[0];
count = WKDBConst.readInt(data, 'count');
Logs.error('总数量$count');
return count;
}