update manager names

This commit is contained in:
SL 2023-08-20 23:19:11 +08:00
parent b0069699df
commit 5163e08795
29 changed files with 266 additions and 314 deletions

View File

@ -1 +1 @@
5eab9c1249668bd09cfb8a5718dc9643 db5a7c96fa759e65da3621b45d74e713

View File

@ -1 +1 @@
b16bea7a6426af069315ace7611d0ed3a2c6aa8f b4308e5dfd8017e03ceb6ffcdc926c4d187beca0

View File

@ -1 +1 @@
5cb5fc944333eeffd03bdd716ff17366d0cb489e2aa48a1f9cccfe4062dea75c c4b00feda294e82c1258254cdbcddadcbc9ae187e1cfe1bb9470249298523064

View File

@ -1 +1 @@
4325ab87ab3ec56e9b44a5965526825a1e26370e7f5d59bdf7e58f1deefbb9061bc11164af920bcda809e76f2ccaa550d89602ad0e6d1e4a1ebf636f29c1e876 bcdb891e85e730fef4026315bb1e42a64a95848b4f53a4b888600b67f30681e3da52407fecdb5aef45e3e078bdf559e5d5f71ee0f67e3632f29b98a4730abd88

View File

@ -8,6 +8,6 @@
<versions> <versions>
<version>1.0.1</version> <version>1.0.1</version>
</versions> </versions>
<lastUpdated>20230820031318</lastUpdated> <lastUpdated>20230820145113</lastUpdated>
</versioning> </versioning>
</metadata> </metadata>

View File

@ -1 +1 @@
c9af3f3712d90a532edf6c36cb9cbaff 1082cd7090d8ba926b6f96545885bbbf

View File

@ -1 +1 @@
1b93babf2a04c0b02d01bde8b390c911b159536b 93c71de41701b4ec9b6b7571e94790d823d7ebbf

View File

@ -1 +1 @@
aa187a0220cd5366a8cee104ece1f2d570ea7c9cce02d24b21941393b6f38ff6 e60cdadcb87d61922cdff21aebf971dbd3b8b016adaa1d695939a1339f9ca10f

View File

@ -1 +1 @@
6c02439c3b2faaf9b36e4e747ee6216210d72ff0edc436db71d4080fd1ce12e91fd70a68dac0f7eea3aa79ea4c8f75aab2a397fe8ff1c8ca03f986e5566800f2 9ee7617a5357289b96123bbf2bbfe8a5f0664a1689737e1fb53fedbb17ddf35257b1bb083c386637586d735d77adc8a100a328ebc3d77e19b66e3638a84d9fe4

View File

@ -36,11 +36,6 @@ public class ChannelDBManager {
return ChannelDBManagerBinder.channelDBManager; return ChannelDBManagerBinder.channelDBManager;
} }
public WKChannel getChannel(String channelId, int channelType) {
return queryChannelByChannelId(channelId, channelType);
}
public List<WKChannel> queryWithChannelIdsAndChannelType(List<String> channelIDs, byte channelType) { public List<WKChannel> queryWithChannelIdsAndChannelType(List<String> channelIDs, byte channelType) {
StringBuffer stringBuffer = new StringBuffer(); StringBuffer stringBuffer = new StringBuffer();
for (int i = 0, size = channelIDs.size(); i < size; i++) { for (int i = 0, size = channelIDs.size(); i < size; i++) {
@ -69,7 +64,7 @@ public class ChannelDBManager {
return list; return list;
} }
private synchronized WKChannel queryChannelByChannelId(String channelId, int channelType) { public synchronized WKChannel query(String channelId, int channelType) {
String selection = WKDBColumns.WKChannelColumns.channel_id + "=? and " + WKDBColumns.WKChannelColumns.channel_type + "=?"; String selection = WKDBColumns.WKChannelColumns.channel_id + "=? and " + WKDBColumns.WKChannelColumns.channel_type + "=?";
String[] selectionArgs = new String[2]; String[] selectionArgs = new String[2];
selectionArgs[0] = channelId; selectionArgs[0] = channelId;
@ -118,7 +113,7 @@ public class ChannelDBManager {
return isExist; return isExist;
} }
public synchronized void saveList(List<WKChannel> list) { public synchronized void insertChannels(List<WKChannel> list) {
List<ContentValues> updateCVList = new ArrayList<>(); List<ContentValues> updateCVList = new ArrayList<>();
List<ContentValues> newCVList = new ArrayList<>(); List<ContentValues> newCVList = new ArrayList<>();
for (WKChannel channel : list) { for (WKChannel channel : list) {
@ -155,15 +150,15 @@ public class ChannelDBManager {
} }
} }
public synchronized void insertOrUpdateChannel(WKChannel channel) { public synchronized void insertOrUpdate(WKChannel channel) {
if (isExist(channel.channelID, channel.channelType)) { if (isExist(channel.channelID, channel.channelType)) {
updateChannel(channel); update(channel);
} else { } else {
insertChannel(channel); insert(channel);
} }
} }
private synchronized void insertChannel(WKChannel wkChannel) { private synchronized void insert(WKChannel wkChannel) {
ContentValues cv = new ContentValues(); ContentValues cv = new ContentValues();
try { try {
cv = WKSqlContentValues.getContentValuesWithChannel(wkChannel); cv = WKSqlContentValues.getContentValuesWithChannel(wkChannel);
@ -174,7 +169,7 @@ public class ChannelDBManager {
.insert(channel, cv); .insert(channel, cv);
} }
public synchronized void updateChannel(WKChannel wkChannel) { public synchronized void update(WKChannel wkChannel) {
String[] update = new String[2]; String[] update = new String[2];
update[0] = wkChannel.channelID; update[0] = wkChannel.channelID;
update[1] = String.valueOf(wkChannel.channelType); update[1] = String.valueOf(wkChannel.channelType);
@ -197,7 +192,7 @@ public class ChannelDBManager {
* @param status 状态 正常或黑名单 * @param status 状态 正常或黑名单
* @return List<WKChannel> * @return List<WKChannel>
*/ */
public synchronized List<WKChannel> queryAllByFollowAndStatus(byte channelType, int follow, int status) { public synchronized List<WKChannel> queryWithFollowAndStatus(byte channelType, int follow, int status) {
String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow + " and " + WKDBColumns.WKChannelColumns.status + "=" + status + " and is_deleted=0"; String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow + " and " + WKDBColumns.WKChannelColumns.status + "=" + status + " and is_deleted=0";
List<WKChannel> channels = new ArrayList<>(); List<WKChannel> channels = new ArrayList<>();
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -220,7 +215,7 @@ public class ChannelDBManager {
* @param status 状态[sdk不维护状态] * @param status 状态[sdk不维护状态]
* @return List<WKChannel> * @return List<WKChannel>
*/ */
public synchronized List<WKChannel> queryAllByStatus(byte channelType, int status) { public synchronized List<WKChannel> queryWithStatus(byte channelType, int status) {
String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.status + "=" + status; String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.status + "=" + status;
List<WKChannel> channels = new ArrayList<>(); List<WKChannel> channels = new ArrayList<>();
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -236,7 +231,7 @@ public class ChannelDBManager {
return channels; return channels;
} }
public synchronized List<WKChannelSearchResult> searchChannelInfo(String searchKey) { public synchronized List<WKChannelSearchResult> search(String searchKey) {
List<WKChannelSearchResult> list = new ArrayList<>(); List<WKChannelSearchResult> list = new ArrayList<>();
String sql = " select t.*,cm.member_name,cm.member_remark from (\n" + String sql = " select t.*,cm.member_name,cm.member_remark from (\n" +
" select " + channel + ".*,max(" + channelMembers + ".id) mid from " + channel + "," + channelMembers + " " + " select " + channel + ".*,max(" + channelMembers + ".id) mid from " + channel + "," + channelMembers + " " +
@ -274,7 +269,7 @@ public class ChannelDBManager {
return list; return list;
} }
public synchronized List<WKChannel> searchChannels(String searchKey, byte channelType) { public synchronized List<WKChannel> searchWithChannelType(String searchKey, byte channelType) {
List<WKChannel> list = new ArrayList<>(); List<WKChannel> list = new ArrayList<>();
String sql = "select * from " + channel + " where (" + WKDBColumns.WKChannelColumns.channel_name + " LIKE \"%" + searchKey + "%\" or " + WKDBColumns.WKChannelColumns.channel_remark + " LIKE \"%" + searchKey + "%\") and " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType; String sql = "select * from " + channel + " where (" + WKDBColumns.WKChannelColumns.channel_name + " LIKE \"%" + searchKey + "%\" or " + WKDBColumns.WKChannelColumns.channel_remark + " LIKE \"%" + searchKey + "%\") and " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType;
@ -289,7 +284,7 @@ public class ChannelDBManager {
return list; return list;
} }
public synchronized List<WKChannel> searchChannels(String searchKey, byte channelType, int follow) { public synchronized List<WKChannel> searchWithChannelTypeAndFollow(String searchKey, byte channelType, int follow) {
List<WKChannel> list = new ArrayList<>(); List<WKChannel> list = new ArrayList<>();
String sql = "select * from " + channel + " where (" + WKDBColumns.WKChannelColumns.channel_name + " LIKE \"%" + searchKey + "%\" or " + WKDBColumns.WKChannelColumns.channel_remark + " LIKE \"%" + searchKey + "%\") and " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow; String sql = "select * from " + channel + " where (" + WKDBColumns.WKChannelColumns.channel_name + " LIKE \"%" + searchKey + "%\" or " + WKDBColumns.WKChannelColumns.channel_remark + " LIKE \"%" + searchKey + "%\") and " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow;
@ -304,7 +299,7 @@ public class ChannelDBManager {
return list; return list;
} }
public synchronized List<WKChannel> queryAllByFollow(byte channelType, int follow) { public synchronized List<WKChannel> queryWithChannelTypeAndFollow(byte channelType, int follow) {
String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow; String sql = "select * from " + channel + " where " + WKDBColumns.WKChannelColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelColumns.follow + "=" + follow;
List<WKChannel> channels = new ArrayList<>(); List<WKChannel> channels = new ArrayList<>();
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -320,7 +315,7 @@ public class ChannelDBManager {
return channels; return channels;
} }
public synchronized void updateChannel(String channelID, byte channelType, String field, String value) { public synchronized void updateWithField(String channelID, byte channelType, String field, String value) {
String[] updateKey = new String[]{field}; String[] updateKey = new String[]{field};
String[] updateValue = new String[]{value}; String[] updateValue = new String[]{value};
String where = WKDBColumns.WKChannelColumns.channel_id + "=? and " + WKDBColumns.WKChannelColumns.channel_type + "=?"; String where = WKDBColumns.WKChannelColumns.channel_id + "=? and " + WKDBColumns.WKChannelColumns.channel_type + "=?";
@ -370,10 +365,8 @@ public class ChannelDBManager {
} }
public HashMap<String, Object> getChannelExtra(String extra) { public HashMap<String, Object> getChannelExtra(String extra) {
HashMap<String, Object> hashMap = new HashMap<>(); HashMap<String, Object> hashMap = new HashMap<>();
if (!TextUtils.isEmpty(extra)) { if (!TextUtils.isEmpty(extra)) {
try { try {
JSONObject jsonObject = new JSONObject(extra); JSONObject jsonObject = new JSONObject(extra);
Iterator<String> keys = jsonObject.keys(); Iterator<String> keys = jsonObject.keys();

View File

@ -171,7 +171,7 @@ public class ChannelMembersDbManager {
return wkChannelMember; return wkChannelMember;
} }
public synchronized void insertMember(WKChannelMember channelMember) { public synchronized void insert(WKChannelMember channelMember) {
if (TextUtils.isEmpty(channelMember.channelID) || TextUtils.isEmpty(channelMember.memberUID)) if (TextUtils.isEmpty(channelMember.channelID) || TextUtils.isEmpty(channelMember.memberUID))
return; return;
ContentValues cv = new ContentValues(); ContentValues cv = new ContentValues();
@ -189,7 +189,7 @@ public class ChannelMembersDbManager {
* *
* @param list List<WKChannelMember> * @param list List<WKChannelMember>
*/ */
public void insertChannelMember(List<WKChannelMember> list) { public void insertMembers(List<WKChannelMember> list) {
List<ContentValues> updateCVList = new ArrayList<>(); List<ContentValues> updateCVList = new ArrayList<>();
List<ContentValues> newCVList = new ArrayList<>(); List<ContentValues> newCVList = new ArrayList<>();
for (WKChannelMember member : list) { for (WKChannelMember member : list) {
@ -230,7 +230,7 @@ public class ChannelMembersDbManager {
} }
} }
public void insertList(List<WKChannelMember> allMemberList, List<WKChannelMember> existList) { public void insertMembers(List<WKChannelMember> allMemberList, List<WKChannelMember> existList) {
List<ContentValues> insertCVList = new ArrayList<>(); List<ContentValues> insertCVList = new ArrayList<>();
List<ContentValues> updateCVList = new ArrayList<>(); List<ContentValues> updateCVList = new ArrayList<>();
for (WKChannelMember channelMember : allMemberList) { for (WKChannelMember channelMember : allMemberList) {
@ -273,12 +273,12 @@ public class ChannelMembersDbManager {
} }
} }
public void saveOrUpdateChannelMember(WKChannelMember channelMember) { public void insertOrUpdate(WKChannelMember channelMember) {
if (channelMember == null) return; if (channelMember == null) return;
if (isExist(channelMember.channelID, channelMember.channelType, channelMember.memberUID)) { if (isExist(channelMember.channelID, channelMember.channelType, channelMember.memberUID)) {
updateChannelMember(channelMember); update(channelMember);
} else { } else {
insertMember(channelMember); insert(channelMember);
} }
} }
@ -288,7 +288,7 @@ public class ChannelMembersDbManager {
* *
* @param channelMember 成员 * @param channelMember 成员
*/ */
public synchronized void updateChannelMember(WKChannelMember channelMember) { public synchronized void update(WKChannelMember channelMember) {
String[] update = new String[3]; String[] update = new String[3];
update[0] = channelMember.channelID; update[0] = channelMember.channelID;
update[1] = String.valueOf(channelMember.channelType); update[1] = String.valueOf(channelMember.channelType);
@ -312,7 +312,7 @@ public class ChannelMembersDbManager {
* @param field 字段 * @param field 字段
* @param value * @param value
*/ */
public synchronized boolean updateChannelMember(String channelID, byte channelType, String uid, String field, String value) { public synchronized boolean updateWithField(String channelID, byte channelType, String uid, String field, String value) {
String[] updateKey = new String[]{field}; String[] updateKey = new String[]{field};
String[] updateValue = new String[]{value}; String[] updateValue = new String[]{value};
String where = WKDBColumns.WKChannelMembersColumns.channel_id + "=? and " + WKDBColumns.WKChannelMembersColumns.channel_type + "=? and " + WKDBColumns.WKChannelMembersColumns.member_uid + "=?"; String where = WKDBColumns.WKChannelMembersColumns.channel_id + "=? and " + WKDBColumns.WKChannelMembersColumns.channel_type + "=? and " + WKDBColumns.WKChannelMembersColumns.member_uid + "=?";
@ -344,13 +344,13 @@ public class ChannelMembersDbManager {
* *
* @param list 频道成员 * @param list 频道成员
*/ */
public synchronized void deleteChannelMembers(List<WKChannelMember> list) { public synchronized void deleteMembers(List<WKChannelMember> list) {
try { try {
WKIMApplication.getInstance().getDbHelper().getDb() WKIMApplication.getInstance().getDbHelper().getDb()
.beginTransaction(); .beginTransaction();
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
for (int i = 0, size = list.size(); i < size; i++) { for (int i = 0, size = list.size(); i < size; i++) {
saveOrUpdateChannelMember(list.get(i)); insertOrUpdate(list.get(i));
} }
WKIMApplication.getInstance().getDbHelper().getDb() WKIMApplication.getInstance().getDbHelper().getDb()
.setTransactionSuccessful(); .setTransactionSuccessful();
@ -365,7 +365,7 @@ public class ChannelMembersDbManager {
ChannelMembersManager.getInstance().setOnRemoveChannelMember(list); ChannelMembersManager.getInstance().setOnRemoveChannelMember(list);
} }
public long getMaxVersion(String channelID, byte channelType) { public long queryMaxVersion(String channelID, byte channelType) {
String sql = "select max(version) version from " + channelMembers + " where channel_id ='" + channelID + "' and channel_type=" + channelType + " limit 0, 1"; String sql = "select max(version) version from " + channelMembers + " where channel_id ='" + channelID + "' and channel_type=" + channelType + " limit 0, 1";
long version = 0; long version = 0;
try { try {
@ -387,7 +387,7 @@ public class ChannelMembersDbManager {
} }
@Deprecated @Deprecated
public synchronized WKChannelMember getMaxVersionMember(String channelID, byte channelType) { public synchronized WKChannelMember queryMaxVersionMember(String channelID, byte channelType) {
WKChannelMember channelMember = null; WKChannelMember channelMember = null;
String sql = "select * from " + channelMembers + " where " + WKDBColumns.WKChannelMembersColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKChannelMembersColumns.channel_type + "=" + channelType + " order by " + WKDBColumns.WKChannelMembersColumns.version + " desc limit 0,1"; String sql = "select * from " + channelMembers + " where " + WKDBColumns.WKChannelMembersColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKChannelMembersColumns.channel_type + "=" + channelType + " order by " + WKDBColumns.WKChannelMembersColumns.version + " desc limit 0,1";
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -435,7 +435,7 @@ public class ChannelMembersDbManager {
return list; return list;
} }
public synchronized List<WKChannelMember> queryChannelMembersByStatus(String channelId, byte channelType, int status) { public synchronized List<WKChannelMember> queryWithStatus(String channelId, byte channelType, int status) {
String sql = "select " + channelMembers + ".*," + channel + ".channel_name," + channel + ".channel_remark," + channel + ".avatar from " + channelMembers + " left Join " + channel + " where " + channelMembers + ".member_uid = " + channel + ".channel_id AND " + channel + ".channel_type=1 AND " + channelMembers + ".channel_id=" + "\"" + channelId + "\"" + " and " + channelMembers + ".channel_type=" + channelType + " and " + channelMembers + ".status=" + status + " order by " + channelMembers + ".role=1 desc," + channelMembers + ".role=2 desc," + channelMembers + "." + WKDBColumns.WKChannelMembersColumns.created_at + " asc"; String sql = "select " + channelMembers + ".*," + channel + ".channel_name," + channel + ".channel_remark," + channel + ".avatar from " + channelMembers + " left Join " + channel + " where " + channelMembers + ".member_uid = " + channel + ".channel_id AND " + channel + ".channel_type=1 AND " + channelMembers + ".channel_id=" + "\"" + channelId + "\"" + " and " + channelMembers + ".channel_type=" + channelType + " and " + channelMembers + ".status=" + status + " order by " + channelMembers + ".role=1 desc," + channelMembers + ".role=2 desc," + channelMembers + "." + WKDBColumns.WKChannelMembersColumns.created_at + " asc";
Cursor cursor = WKIMApplication Cursor cursor = WKIMApplication
.getInstance() .getInstance()
@ -451,7 +451,7 @@ public class ChannelMembersDbManager {
return list; return list;
} }
public synchronized int getMembersCount(String channelID, byte channelType) { public synchronized int queryCount(String channelID, byte channelType) {
String sql = "select count(*) from " + channelMembers String sql = "select count(*) from " + channelMembers
+ " where (" + WKDBColumns.WKChannelMembersColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + " where (" + WKDBColumns.WKChannelMembersColumns.channel_id + "=" + "\"" + channelID + "\"" + " and "
+ WKDBColumns.WKChannelMembersColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelMembersColumns.is_deleted + "=0 and " + WKDBColumns.WKChannelMembersColumns.status + "=1)"; + WKDBColumns.WKChannelMembersColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKChannelMembersColumns.is_deleted + "=0 and " + WKDBColumns.WKChannelMembersColumns.status + "=1)";

View File

@ -68,7 +68,7 @@ public class ConversationDbManager {
return ConversationDbManagerBinder.db; return ConversationDbManagerBinder.db;
} }
public synchronized List<WKUIConversationMsg> getAll() { public synchronized List<WKUIConversationMsg> queryAll() {
List<WKUIConversationMsg> list = new ArrayList<>(); List<WKUIConversationMsg> list = new ArrayList<>();
String sql = "SELECT " + conversation + ".*," + channelCols + "," + extraCols + " FROM " String sql = "SELECT " + conversation + ".*," + channelCols + "," + extraCols + " FROM "
+ conversation + " LEFT JOIN " + channel + " ON " + conversation + " LEFT JOIN " + channel + " ON "
@ -161,7 +161,7 @@ public class ConversationDbManager {
return uiMsg; return uiMsg;
} }
public long getMaxVersion() { public long queryMaxVersion() {
long maxVersion = 0; long maxVersion = 0;
String sql = "select max(version) version from " + conversation + " limit 0, 1"; String sql = "select max(version) version from " + conversation + " limit 0, 1";
Cursor cursor = WKIMApplication Cursor cursor = WKIMApplication
@ -185,7 +185,7 @@ public class ConversationDbManager {
WKIMApplication.getInstance().getDbHelper().insertSql(conversation, cv); WKIMApplication.getInstance().getDbHelper().insertSql(conversation, cv);
} }
public synchronized String getLastMsgSeqs() { public synchronized String queryLastMsgSeqs() {
String lastMsgSeqs = ""; String lastMsgSeqs = "";
String sql = "select GROUP_CONCAT(channel_id||':'||channel_type||':'|| last_seq,'|') synckey from (select *,(select max(message_seq) from " + message + " where " + message + ".channel_id=" + conversation + ".channel_id and " + message + ".channel_type=" + conversation + ".channel_type limit 1) last_seq from " + conversation + ") cn where channel_id<>'' AND is_deleted=0"; String sql = "select GROUP_CONCAT(channel_id||':'||channel_type||':'|| last_seq,'|') synckey from (select *,(select max(message_seq) from " + message + " where " + message + ".channel_id=" + conversation + ".channel_id and " + message + ".channel_type=" + conversation + ".channel_type limit 1) last_seq from " + conversation + ") cn where channel_id<>'' AND is_deleted=0";
Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql); Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql);
@ -238,7 +238,7 @@ public class ConversationDbManager {
return conversationMsg; return conversationMsg;
} }
public synchronized boolean deleteMsg(String channelID, byte channelType, int isDeleted) { public synchronized boolean deleteWithChannel(String channelID, byte channelType, int isDeleted) {
String[] update = new String[2]; String[] update = new String[2];
update[0] = channelID; update[0] = channelID;
update[1] = String.valueOf(channelType); update[1] = String.valueOf(channelType);
@ -258,7 +258,7 @@ public class ConversationDbManager {
} }
public synchronized WKUIConversationMsg saveOrUpdateWithMsg(WKMsg msg, int unreadCount) { public synchronized WKUIConversationMsg insertOrUpdateWithMsg(WKMsg msg, int unreadCount) {
if (msg.channelID.equals(WKIMApplication.getInstance().getUid())) return null; if (msg.channelID.equals(WKIMApplication.getInstance().getUid())) return null;
WKConversationMsg wkConversationMsg = new WKConversationMsg(); WKConversationMsg wkConversationMsg = new WKConversationMsg();
if (msg.channelType == WKChannelType.COMMUNITY_TOPIC && !TextUtils.isEmpty(msg.channelID)) { if (msg.channelType == WKChannelType.COMMUNITY_TOPIC && !TextUtils.isEmpty(msg.channelID)) {
@ -275,12 +275,12 @@ public class ConversationDbManager {
wkConversationMsg.lastClientMsgNO = msg.clientMsgNO; wkConversationMsg.lastClientMsgNO = msg.clientMsgNO;
wkConversationMsg.lastMsgSeq = msg.messageSeq; wkConversationMsg.lastMsgSeq = msg.messageSeq;
wkConversationMsg.unreadCount = unreadCount; wkConversationMsg.unreadCount = unreadCount;
return saveOrUpdateWithConvMsg(wkConversationMsg);// 插入消息列表数据表 return insertOrUpdateWithConvMsg(wkConversationMsg);// 插入消息列表数据表
} }
public synchronized WKUIConversationMsg saveOrUpdateWithConvMsg(WKConversationMsg conversationMsg) { public synchronized WKUIConversationMsg insertOrUpdateWithConvMsg(WKConversationMsg conversationMsg) {
boolean result; boolean result;
WKConversationMsg lastMsg = queryMsgByMsgChannelId(conversationMsg.channelID, conversationMsg.channelType); WKConversationMsg lastMsg = queryWithChannelId(conversationMsg.channelID, conversationMsg.channelType);
if (lastMsg == null || TextUtils.isEmpty(lastMsg.channelID)) { if (lastMsg == null || TextUtils.isEmpty(lastMsg.channelID)) {
//如果服务器自增id为0则表示是本地数据|直接保存 //如果服务器自增id为0则表示是本地数据|直接保存
result = insert(conversationMsg); result = insert(conversationMsg);
@ -330,7 +330,7 @@ public class ConversationDbManager {
.update(conversation, cv, WKDBColumns.WKCoverMessageColumns.channel_id + "=? and " + WKDBColumns.WKCoverMessageColumns.channel_type + "=?", update); .update(conversation, cv, WKDBColumns.WKCoverMessageColumns.channel_id + "=? and " + WKDBColumns.WKCoverMessageColumns.channel_type + "=?", update);
} }
private synchronized WKConversationMsg queryMsgByMsgChannelId(String channelId, byte channelType) { private synchronized WKConversationMsg queryWithChannelId(String channelId, byte channelType) {
WKConversationMsg msg = null; WKConversationMsg msg = null;
String selection = WKDBColumns.WKCoverMessageColumns.channel_id + " = ? and " + WKDBColumns.WKCoverMessageColumns.channel_type + "=?"; String selection = WKDBColumns.WKCoverMessageColumns.channel_id + " = ? and " + WKDBColumns.WKCoverMessageColumns.channel_type + "=?";
String[] selectionArgs = new String[]{channelId, channelType + ""}; String[] selectionArgs = new String[]{channelId, channelType + ""};
@ -354,7 +354,7 @@ public class ConversationDbManager {
.delete(conversation, null, null); .delete(conversation, null, null);
} }
public WKConversationMsgExtra queryExtraMsgWithChannel(String channelID, byte channelType) { public WKConversationMsgExtra queryMsgExtraWithChannel(String channelID, byte channelType) {
WKConversationMsgExtra msgExtra = null; WKConversationMsgExtra msgExtra = null;
String sql = "select * from " + conversationExtra + " where channel_id='" + channelID + "' and channel_type=" + channelType; String sql = "select * from " + conversationExtra + " where channel_id='" + channelID + "' and channel_type=" + channelType;
Cursor cursor = WKIMApplication Cursor cursor = WKIMApplication
@ -369,7 +369,7 @@ public class ConversationDbManager {
return msgExtra; return msgExtra;
} }
private List<WKConversationMsgExtra> queryExtraWithChannelIds(List<String> channelIds) { private List<WKConversationMsgExtra> queryWithExtraChannelIds(List<String> channelIds) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("select * from " + conversationExtra + " where channel_id in ("); sb.append("select * from " + conversationExtra + " where channel_id in (");
@ -393,8 +393,8 @@ public class ConversationDbManager {
return list; return list;
} }
public synchronized boolean insertOrUpdateExtra(WKConversationMsgExtra extra) { public synchronized boolean insertOrUpdateMsgExtra(WKConversationMsgExtra extra) {
WKConversationMsgExtra msgExtra = queryExtraMsgWithChannel(extra.channelID, extra.channelType); WKConversationMsgExtra msgExtra = queryMsgExtraWithChannel(extra.channelID, extra.channelType);
boolean isAdd = true; boolean isAdd = true;
if (msgExtra != null) { if (msgExtra != null) {
extra.version = msgExtra.version; extra.version = msgExtra.version;
@ -407,7 +407,7 @@ public class ConversationDbManager {
return WKIMApplication.getInstance().getDbHelper().update(conversationExtra, "channel_id='" + extra.channelID + "' and channel_type=" + extra.channelType, cv); return WKIMApplication.getInstance().getDbHelper().update(conversationExtra, "channel_id='" + extra.channelID + "' and channel_type=" + extra.channelType, cv);
} }
public synchronized void saveMsgExtras(List<WKConversationMsgExtra> list) { public synchronized void insertMsgExtras(List<WKConversationMsgExtra> list) {
List<String> channelIds = new ArrayList<>(); List<String> channelIds = new ArrayList<>();
for (WKConversationMsgExtra extra : list) { for (WKConversationMsgExtra extra : list) {
boolean isAdd = true; boolean isAdd = true;
@ -421,7 +421,7 @@ public class ConversationDbManager {
} }
List<ContentValues> insertCVList = new ArrayList<>(); List<ContentValues> insertCVList = new ArrayList<>();
List<ContentValues> updateCVList = new ArrayList<>(); List<ContentValues> updateCVList = new ArrayList<>();
List<WKConversationMsgExtra> existList = queryExtraWithChannelIds(channelIds); List<WKConversationMsgExtra> existList = queryWithExtraChannelIds(channelIds);
for (WKConversationMsgExtra extra : list) { for (WKConversationMsgExtra extra : list) {
boolean isAdd = true; boolean isAdd = true;
for (WKConversationMsgExtra existExtra : existList) { for (WKConversationMsgExtra existExtra : existList) {
@ -464,7 +464,7 @@ public class ConversationDbManager {
} }
} }
public long queryMaxExtraVersion() { public long queryMsgExtraMaxVersion() {
long maxVersion = 0; long maxVersion = 0;
String sql = "select max(version) version from " + conversationExtra; String sql = "select max(version) version from " + conversationExtra;
Cursor cursor = WKIMApplication Cursor cursor = WKIMApplication

View File

@ -55,9 +55,9 @@ public class MsgDbManager {
private int requestCount; private int requestCount;
public void getOrSyncHistoryMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit, final IGetOrSyncHistoryMsgBack iGetOrSyncHistoryMsgBack) { public void queryOrSyncHistoryMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit, final IGetOrSyncHistoryMsgBack iGetOrSyncHistoryMsgBack) {
//获取原始数据 //获取原始数据
List<WKMsg> list = getMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit); List<WKMsg> list = queryMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit);
//业务判断数据 //业务判断数据
List<WKMsg> tempList = new ArrayList<>(); List<WKMsg> tempList = new ArrayList<>();
@ -89,7 +89,7 @@ public class MsgDbManager {
//如果获取到的messageSeq为0说明oldestOrderSeq这条消息是本地消息则获取他上一条或下一条消息的messageSeq做为判断 //如果获取到的messageSeq为0说明oldestOrderSeq这条消息是本地消息则获取他上一条或下一条消息的messageSeq做为判断
if (oldestOrderSeq % 1000 != 0) if (oldestOrderSeq % 1000 != 0)
oldestMsgSeq = getMsgSeq(channelId, channelType, oldestOrderSeq, pullMode); oldestMsgSeq = queryMsgSeq(channelId, channelType, oldestOrderSeq, pullMode);
else oldestMsgSeq = oldestOrderSeq / 1000; else oldestMsgSeq = oldestOrderSeq / 1000;
if (pullMode == 0) { if (pullMode == 0) {
//下拉获取消息 //下拉获取消息
@ -186,7 +186,7 @@ public class MsgDbManager {
requestCount++; requestCount++;
MsgManager.getInstance().setSyncChannelMsgListener(channelId, channelType, startMsgSeq, endMsgSeq, limit, pullMode, syncChannelMsg -> { MsgManager.getInstance().setSyncChannelMsgListener(channelId, channelType, startMsgSeq, endMsgSeq, limit, pullMode, syncChannelMsg -> {
if (syncChannelMsg != null && syncChannelMsg.messages != null && syncChannelMsg.messages.size() > 0) { if (syncChannelMsg != null && syncChannelMsg.messages != null && syncChannelMsg.messages.size() > 0) {
getOrSyncHistoryMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit, iGetOrSyncHistoryMsgBack); queryOrSyncHistoryMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit, iGetOrSyncHistoryMsgBack);
} else { } else {
requestCount = 0; requestCount = 0;
iGetOrSyncHistoryMsgBack.onResult(list); iGetOrSyncHistoryMsgBack.onResult(list);
@ -244,7 +244,7 @@ public class MsgDbManager {
return num; return num;
} }
private List<WKMsg> getMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit) { private List<WKMsg> queryMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit) {
List<WKMsg> msgList = new ArrayList<>(); List<WKMsg> msgList = new ArrayList<>();
String sql; String sql;
@ -274,7 +274,7 @@ public class MsgDbManager {
if (cursor == null) { if (cursor == null) {
return msgList; return msgList;
} }
WKChannel wkChannel = ChannelDBManager.getInstance().getChannel(channelId, channelType); WKChannel wkChannel = ChannelDBManager.getInstance().query(channelId, channelType);
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
WKMsg wkMsg = serializeMsg(cursor); WKMsg wkMsg = serializeMsg(cursor);
wkMsg.setChannelInfo(wkChannel); wkMsg.setChannelInfo(wkChannel);
@ -386,7 +386,7 @@ public class MsgDbManager {
if (cursor == null) { if (cursor == null) {
return wkMsgs; return wkMsgs;
} }
WKChannel wkChannel = ChannelDBManager.getInstance().getChannel(channelID, channelType); WKChannel wkChannel = ChannelDBManager.getInstance().query(channelID, channelType);
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
WKMsg wkMsg = serializeMsg(cursor); WKMsg wkMsg = serializeMsg(cursor);
wkMsg.setChannelInfo(wkChannel); wkMsg.setChannelInfo(wkChannel);
@ -403,7 +403,7 @@ public class MsgDbManager {
return wkMsgs; return wkMsgs;
} }
public long getOrderSeq(String channelID, byte channelType, long maxOrderSeq, int limit) { public long queryOrderSeq(String channelID, byte channelType, long maxOrderSeq, int limit) {
long minOrderSeq = 0; long minOrderSeq = 0;
String sql = "select order_seq from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and type<>99 and order_seq <= " + maxOrderSeq + " order by " + WKDBColumns.WKMessageColumns.order_seq + " desc limit " + limit; String sql = "select order_seq from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and type<>99 and order_seq <= " + maxOrderSeq + " order by " + WKDBColumns.WKMessageColumns.order_seq + " desc limit " + limit;
try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) { try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) {
@ -417,7 +417,7 @@ public class MsgDbManager {
return minOrderSeq; return minOrderSeq;
} }
public long getMaxOrderSeq(String channelID, byte channelType) { public long queryMaxOrderSeqWithChannel(String channelID, byte channelType) {
long maxOrderSeq = 0; long maxOrderSeq = 0;
String sql = "select max(order_seq) order_seq from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and type<>99 and type<>0 and is_deleted=0"; String sql = "select max(order_seq) order_seq from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and type<>99 and type<>0 and is_deleted=0";
try { try {
@ -452,7 +452,7 @@ public class MsgDbManager {
updateKey[2] = WKDBColumns.WKMessageColumns.message_seq; updateKey[2] = WKDBColumns.WKMessageColumns.message_seq;
updateValue[2] = String.valueOf(messageSeq); updateValue[2] = String.valueOf(messageSeq);
WKMsg msg = getMsgWithClientSeq(clientSeq); WKMsg msg = queryWithClientSeq(clientSeq);
updateKey[3] = WKDBColumns.WKMessageColumns.order_seq; updateKey[3] = WKDBColumns.WKMessageColumns.order_seq;
if (msg != null) if (msg != null)
@ -475,10 +475,10 @@ public class MsgDbManager {
return msg; return msg;
} }
public synchronized void insertMsgList(List<WKMsg> list) { public synchronized void insertMsgs(List<WKMsg> list) {
if (list == null || list.size() == 0) return; if (list == null || list.size() == 0) return;
if (list.size() == 1) { if (list.size() == 1) {
insertMsg(list.get(0)); insert(list.get(0));
return; return;
} }
List<WKMsg> saveList = new ArrayList<>(); List<WKMsg> saveList = new ArrayList<>();
@ -572,14 +572,14 @@ public class MsgDbManager {
return msgs; return msgs;
} }
public synchronized long insertMsg(WKMsg msg) { public synchronized long insert(WKMsg msg) {
boolean isSave = WKIM.getInstance().getMsgManager().setMessageStoreBeforeIntercept(msg); boolean isSave = WKIM.getInstance().getMsgManager().setMessageStoreBeforeIntercept(msg);
if (!isSave) { if (!isSave) {
msg.isDeleted = 1; msg.isDeleted = 1;
} }
//客户端id存在表示该条消息已存过库 //客户端id存在表示该条消息已存过库
if (msg.clientSeq != 0) { if (msg.clientSeq != 0) {
updateMsg(msg); update(msg);
return msg.clientSeq; return msg.clientSeq;
} }
if (!TextUtils.isEmpty(msg.clientMsgNO)) { if (!TextUtils.isEmpty(msg.clientMsgNO)) {
@ -619,7 +619,7 @@ public class MsgDbManager {
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
} }
public synchronized void updateMsg(WKMsg msg) { private synchronized void update(WKMsg msg) {
String[] updateKey = new String[4]; String[] updateKey = new String[4];
String[] updateValue = new String[4]; String[] updateValue = new String[4];
updateKey[0] = WKDBColumns.WKMessageColumns.content; updateKey[0] = WKDBColumns.WKMessageColumns.content;
@ -654,7 +654,7 @@ public class MsgDbManager {
return isExist; return isExist;
} }
public WKMsg getMsgWithClientMsgNo(String clientMsgNo) { public WKMsg queryWithClientMsgNo(String clientMsgNo) {
WKMsg wkMsg = null; WKMsg wkMsg = null;
String sql = "select " + messageCols + "," + extraCols + " from " + message + " LEFT JOIN " + messageExtra + " ON " + message + ".message_id=" + messageExtra + ".message_id WHERE " + message + ".client_msg_no=" + "'" + clientMsgNo + "'"; String sql = "select " + messageCols + "," + extraCols + " from " + message + " LEFT JOIN " + messageExtra + " ON " + message + ".message_id=" + messageExtra + ".message_id WHERE " + message + ".client_msg_no=" + "'" + clientMsgNo + "'";
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -668,12 +668,12 @@ public class MsgDbManager {
} }
} }
if (wkMsg != null) if (wkMsg != null)
wkMsg.reactionList = MsgReactionDBManager.getInstance().queryReactions(wkMsg.messageID); wkMsg.reactionList = MsgReactionDBManager.getInstance().queryWithMessageId(wkMsg.messageID);
return wkMsg; return wkMsg;
} }
public WKMsg getMsgWithClientSeq(long clientSeq) { public WKMsg queryWithClientSeq(long clientSeq) {
WKMsg msg = null; WKMsg msg = null;
String sql = "select * from " + message + " where " + WKDBColumns.WKMessageColumns.client_seq + "=" + clientSeq; String sql = "select * from " + message + " where " + WKDBColumns.WKMessageColumns.client_seq + "=" + clientSeq;
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -687,11 +687,11 @@ public class MsgDbManager {
} }
} }
if (msg != null) if (msg != null)
msg.reactionList = MsgReactionDBManager.getInstance().queryReactions(msg.messageID); msg.reactionList = MsgReactionDBManager.getInstance().queryWithMessageId(msg.messageID);
return msg; return msg;
} }
public WKMsg getMsgMaxOrderSeqWithChannel(String channelID, byte channelType) { public WKMsg queryMaxOrderSeqMsgWithChannel(String channelID, byte channelType) {
String sql = "select * from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKMessageColumns.is_deleted + "=0 and type<>0 and type<>99 order by " + WKDBColumns.WKMessageColumns.order_seq + " desc limit 1"; String sql = "select * from " + message + " where " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\"" + " and " + WKDBColumns.WKMessageColumns.channel_type + "=" + channelType + " and " + WKDBColumns.WKMessageColumns.is_deleted + "=0 and type<>0 and type<>99 order by " + WKDBColumns.WKMessageColumns.order_seq + " desc limit 1";
Cursor cursor = null; Cursor cursor = null;
WKMsg msg = null; WKMsg msg = null;
@ -718,7 +718,7 @@ public class MsgDbManager {
* *
* @param client_seq 消息客户端编号 * @param client_seq 消息客户端编号
*/ */
public synchronized boolean deleteMsgWithClientSeq(long client_seq) { public synchronized boolean deleteWithClientSeq(long client_seq) {
String[] updateKey = new String[1]; String[] updateKey = new String[1];
String[] updateValue = new String[1]; String[] updateValue = new String[1];
updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted; updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted;
@ -729,14 +729,14 @@ public class MsgDbManager {
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0) { if (row > 0) {
WKMsg msg = getMsgWithClientSeq(client_seq); WKMsg msg = queryWithClientSeq(client_seq);
if (msg != null) if (msg != null)
WKIM.getInstance().getMsgManager().setDeleteMsg(msg); WKIM.getInstance().getMsgManager().setDeleteMsg(msg);
} }
return row > 0; return row > 0;
} }
public int getMsgRowNoWithOrderSeq(String channelID, byte channelType, long order_seq) { public int queryRowNoWithOrderSeq(String channelID, byte channelType, long order_seq) {
String sql = "select count(*) cn from " + message + " where channel_id=" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " and " + WKDBColumns.WKMessageColumns.type + "<>0 and " + WKDBColumns.WKMessageColumns.type + "<>99 and " + WKDBColumns.WKMessageColumns.order_seq + ">" + order_seq + " and " + WKDBColumns.WKMessageColumns.is_deleted + "=0 order by " + WKDBColumns.WKMessageColumns.order_seq + " desc"; String sql = "select count(*) cn from " + message + " where channel_id=" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " and " + WKDBColumns.WKMessageColumns.type + "<>0 and " + WKDBColumns.WKMessageColumns.type + "<>99 and " + WKDBColumns.WKMessageColumns.order_seq + ">" + order_seq + " and " + WKDBColumns.WKMessageColumns.is_deleted + "=0 order by " + WKDBColumns.WKMessageColumns.order_seq + " desc";
Cursor cursor = null; Cursor cursor = null;
int rowNo = 0; int rowNo = 0;
@ -757,7 +757,7 @@ public class MsgDbManager {
return rowNo; return rowNo;
} }
public synchronized boolean deleteMsgWithMessageID(String messageID) { public synchronized boolean deleteWithMessageID(String messageID) {
String[] updateKey = new String[1]; String[] updateKey = new String[1];
String[] updateValue = new String[1]; String[] updateValue = new String[1];
updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted; updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted;
@ -768,7 +768,7 @@ public class MsgDbManager {
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0) { if (row > 0) {
WKMsg msg = getMsgWithMessageID(messageID, false); WKMsg msg = queryWithMessageID(messageID, false);
if (msg != null) if (msg != null)
WKIM.getInstance().getMsgManager().setDeleteMsg(msg); WKIM.getInstance().getMsgManager().setDeleteMsg(msg);
} }
@ -797,7 +797,7 @@ public class MsgDbManager {
return list; return list;
} }
public List<WKMsg> saveOrUpdateMsgExtras(List<WKMsgExtra> list) { public List<WKMsg> insertOrUpdateMsgExtras(List<WKMsgExtra> list) {
List<String> msgIds = new ArrayList<>(); List<String> msgIds = new ArrayList<>();
for (int i = 0, size = list.size(); i < size; i++) { for (int i = 0, size = list.size(); i < size; i++) {
if (!TextUtils.isEmpty(list.get(i).messageID)) { if (!TextUtils.isEmpty(list.get(i).messageID)) {
@ -856,7 +856,7 @@ public class MsgDbManager {
* @param channelType 频道类型 * @param channelType 频道类型
* @return List<WKMessageGroupByDate> * @return List<WKMessageGroupByDate>
*/ */
public List<WKMessageGroupByDate> getMessageGroupByDateWithChannel(String channelID, byte channelType) { public List<WKMessageGroupByDate> queryMessageGroupByDateWithChannel(String channelID, byte channelType) {
String sql = "SELECT DATE(" + WKDBColumns.WKMessageColumns.timestamp + ", 'unixepoch','localtime') AS days,COUNT(" + WKDBColumns.WKMessageColumns.client_msg_no + ") count,min(" + WKDBColumns.WKMessageColumns.order_seq + ") AS order_seq FROM " + message + " WHERE " + WKDBColumns.WKMessageColumns.channel_type + " = " + channelType + " and " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\" and is_deleted=0" + " GROUP BY " + WKDBColumns.WKMessageColumns.timestamp + "," + WKDBColumns.WKMessageColumns.order_seq + ""; String sql = "SELECT DATE(" + WKDBColumns.WKMessageColumns.timestamp + ", 'unixepoch','localtime') AS days,COUNT(" + WKDBColumns.WKMessageColumns.client_msg_no + ") count,min(" + WKDBColumns.WKMessageColumns.order_seq + ") AS order_seq FROM " + message + " WHERE " + WKDBColumns.WKMessageColumns.channel_type + " = " + channelType + " and " + WKDBColumns.WKMessageColumns.channel_id + "=" + "\"" + channelID + "\" and is_deleted=0" + " GROUP BY " + WKDBColumns.WKMessageColumns.timestamp + "," + WKDBColumns.WKMessageColumns.order_seq + "";
List<WKMessageGroupByDate> list = new ArrayList<>(); List<WKMessageGroupByDate> list = new ArrayList<>();
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -893,7 +893,7 @@ public class MsgDbManager {
* @param oldestClientSeq 最后一次消息客户端ID * @param oldestClientSeq 最后一次消息客户端ID
* @param limit 数量 * @param limit 数量
*/ */
public List<WKMsg> getMessagesWithType(int type, long oldestClientSeq, int limit) { public List<WKMsg> queryWithContentType(int type, long oldestClientSeq, int limit) {
String sql; String sql;
if (oldestClientSeq <= 0) { if (oldestClientSeq <= 0) {
sql = "select * from (select " + messageCols + "," + extraCols + " from " + message + " left join " + messageExtra + " on " + message + ".message_id=" + messageExtra + ".message_id where " + message + ".type=" + type + ") where is_deleted=0 and revoke=0 order by " + WKDBColumns.WKMessageColumns.timestamp + " desc limit 0," + limit; sql = "select * from (select " + messageCols + "," + extraCols + " from " + message + " left join " + messageExtra + " on " + message + ".message_id=" + messageExtra + ".message_id where " + message + ".type=" + type + ") where is_deleted=0 and revoke=0 order by " + WKDBColumns.WKMessageColumns.timestamp + " desc limit 0," + limit;
@ -910,10 +910,10 @@ public class MsgDbManager {
//查询群成员信息 //查询群成员信息
WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID); WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID);
msg.setMemberOfFrom(member); msg.setMemberOfFrom(member);
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} else { } else {
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} }
msgs.add(0, msg); msgs.add(0, msg);
@ -922,7 +922,7 @@ public class MsgDbManager {
return msgs; return msgs;
} }
public List<WKMsg> searchMessageWithChannel(String channelID, byte channelType, String searchKey) { public List<WKMsg> searchWithChannel(String searchKey, String channelID, byte channelType) {
List<WKMsg> msgs = new ArrayList<>(); List<WKMsg> msgs = new ArrayList<>();
String sql = "select * from (select " + messageCols + "," + extraCols + " from " + message + " left join " + messageExtra + " on " + message + ".message_id=" + messageExtra + ".message_id where " + message + ".searchable_word like '%" + searchKey + "%' and " + message + ".channel_id='" + channelID + "' and " + message + ".channel_type=" + channelType + ") where is_deleted=0 and revoke=0"; String sql = "select * from (select " + messageCols + "," + extraCols + " from " + message + " left join " + messageExtra + " on " + message + ".message_id=" + messageExtra + ".message_id where " + message + ".searchable_word like '%" + searchKey + "%' and " + message + ".channel_id='" + channelID + "' and " + message + ".channel_type=" + channelType + ") where is_deleted=0 and revoke=0";
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -938,10 +938,10 @@ public class MsgDbManager {
//查询群成员信息 //查询群成员信息
WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID); WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID);
msg.setMemberOfFrom(member); msg.setMemberOfFrom(member);
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} else { } else {
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} }
msgs.add(0, msg); msgs.add(0, msg);
@ -951,7 +951,7 @@ public class MsgDbManager {
return msgs; return msgs;
} }
public List<WKMessageSearchResult> searchMessage(String searchKey) { public List<WKMessageSearchResult> search(String searchKey) {
List<WKMessageSearchResult> list = new ArrayList<>(); List<WKMessageSearchResult> list = new ArrayList<>();
String sql = "select distinct c.*, count(*) message_count, case count(*) WHEN 1 then" + String sql = "select distinct c.*, count(*) message_count, case count(*) WHEN 1 then" +
@ -975,7 +975,7 @@ public class MsgDbManager {
return list; return list;
} }
public synchronized boolean deleteMsgWithChannel(String channelId, byte channelType) { public synchronized boolean deleteWithChannel(String channelId, byte channelType) {
String[] updateKey = new String[1]; String[] updateKey = new String[1];
String[] updateValue = new String[1]; String[] updateValue = new String[1];
@ -993,7 +993,7 @@ public class MsgDbManager {
return row > 0; return row > 0;
} }
public synchronized boolean deleteMsgWithChannel(String channelId, byte channelType, String fromUID) { public synchronized boolean deleteWithChannelAndFromUID(String channelId, byte channelType, String fromUID) {
String[] updateKey = new String[1]; String[] updateKey = new String[1];
String[] updateValue = new String[1]; String[] updateValue = new String[1];
@ -1021,7 +1021,7 @@ public class MsgDbManager {
* @param contentTypes 内容类型 * @param contentTypes 内容类型
* @return List<WKMsg> * @return List<WKMsg>
*/ */
public List<WKMsg> searchChatMsgWithChannelAndTypes(String channelID, byte channelType, long oldestOrderSeq, int limit, int[] contentTypes) { public List<WKMsg> searchWithChannelAndContentTypes(String channelID, byte channelType, long oldestOrderSeq, int limit, int[] contentTypes) {
if (TextUtils.isEmpty(channelID) || contentTypes == null || contentTypes.length == 0) { if (TextUtils.isEmpty(channelID) || contentTypes == null || contentTypes.length == 0) {
return null; return null;
} }
@ -1055,10 +1055,10 @@ public class MsgDbManager {
//查询群成员信息 //查询群成员信息
WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID); WKChannelMember member = ChannelMembersDbManager.getInstance().query(msg.channelID, WKChannelType.GROUP, msg.fromUID);
msg.setMemberOfFrom(member); msg.setMemberOfFrom(member);
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} else { } else {
WKChannel channel = ChannelDBManager.getInstance().getChannel(msg.fromUID, WKChannelType.PERSONAL); WKChannel channel = ChannelDBManager.getInstance().query(msg.fromUID, WKChannelType.PERSONAL);
msg.setFrom(channel); msg.setFrom(channel);
} }
wkMsgs.add(msg); wkMsgs.add(msg);
@ -1074,7 +1074,7 @@ public class MsgDbManager {
* @param channelID 频道ID * @param channelID 频道ID
* @param channelType 频道类型 * @param channelType 频道类型
*/ */
public long getMsgMaxExtraVersionWithChannel(String channelID, byte channelType) { public long queryMsgExtraMaxVersionWithChannel(String channelID, byte channelType) {
String sql = "select * from " + messageExtra + " where channel_id =" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " order by extra_version desc limit 1"; String sql = "select * from " + messageExtra + " where channel_id =" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " order by extra_version desc limit 1";
Cursor cursor = null; Cursor cursor = null;
long version = 0; long version = 0;
@ -1095,7 +1095,7 @@ public class MsgDbManager {
return version; return version;
} }
public synchronized boolean updateMsgWithClientMsgNo(String clientMsgNo, String field, String value, boolean isRefreshUI) { public synchronized boolean updateFieldWithClientMsgNo(String clientMsgNo, String field, String value, boolean isRefreshUI) {
String[] updateKey = new String[]{field}; String[] updateKey = new String[]{field};
String[] updateValue = new String[]{value}; String[] updateValue = new String[]{value};
String where = WKDBColumns.WKMessageColumns.client_msg_no + "=?"; String where = WKDBColumns.WKMessageColumns.client_msg_no + "=?";
@ -1104,14 +1104,14 @@ public class MsgDbManager {
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0 && isRefreshUI) { if (row > 0 && isRefreshUI) {
WKMsg msg = getMsgWithClientMsgNo(clientMsgNo); WKMsg msg = queryWithClientMsgNo(clientMsgNo);
if (msg != null) if (msg != null)
WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true); WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true);
} }
return row > 0; return row > 0;
} }
public synchronized boolean updateMsgWithMessageID(String messageID, String field, String value) { public synchronized boolean updateFieldWithMessageID(String messageID, String field, String value) {
String[] updateKey = new String[]{field}; String[] updateKey = new String[]{field};
String[] updateValue = new String[]{value}; String[] updateValue = new String[]{value};
String where = WKDBColumns.WKMessageColumns.message_id + "=?"; String where = WKDBColumns.WKMessageColumns.message_id + "=?";
@ -1120,7 +1120,7 @@ public class MsgDbManager {
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0) { if (row > 0) {
WKMsg msg = getMsgWithMessageID(messageID, true); WKMsg msg = queryWithMessageID(messageID, true);
if (msg != null) if (msg != null)
WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true); WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true);
} }
@ -1129,7 +1129,7 @@ public class MsgDbManager {
} }
public WKMsg getMsgWithMessageID(String messageID, boolean isGetMsgReaction) { public WKMsg queryWithMessageID(String messageID, boolean isGetMsgReaction) {
WKMsg msg = null; WKMsg msg = null;
String sql = "select " + messageCols + "," + extraCols + " from " + message + " LEFT JOIN " + messageExtra + " ON " + message + ".message_id=" + messageExtra + ".message_id WHERE " + message + ".message_id=" + "'" + messageID + "' and " + message + ".is_deleted=0"; String sql = "select " + messageCols + "," + extraCols + " from " + message + " LEFT JOIN " + messageExtra + " ON " + message + ".message_id=" + messageExtra + ".message_id WHERE " + message + ".message_id=" + "'" + messageID + "' and " + message + ".is_deleted=0";
@ -1144,11 +1144,11 @@ public class MsgDbManager {
} }
} }
if (msg != null && isGetMsgReaction) if (msg != null && isGetMsgReaction)
msg.reactionList = MsgReactionDBManager.getInstance().queryReactions(msg.messageID); msg.reactionList = MsgReactionDBManager.getInstance().queryWithMessageId(msg.messageID);
return msg; return msg;
} }
public int getMaxMessageOrderSeq(String channelID, byte channelType) { public int queryMaxMessageOrderSeqWithChannel(String channelID, byte channelType) {
String sql = "SELECT max(order_seq) order_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType; String sql = "SELECT max(order_seq) order_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType;
int orderSeq = 0; int orderSeq = 0;
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -1164,7 +1164,7 @@ public class MsgDbManager {
return orderSeq; return orderSeq;
} }
public int getMaxMessageSeq(String channelID, byte channelType) { public int queryMaxMessageSeqWithChannel(String channelID, byte channelType) {
String sql = "SELECT max(message_seq) message_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType; String sql = "SELECT max(message_seq) message_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType;
int messageSeq = 0; int messageSeq = 0;
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -1180,7 +1180,7 @@ public class MsgDbManager {
return messageSeq; return messageSeq;
} }
public int getMinMessageSeq(String channelID, byte channelType) { public int queryMinMessageSeqWithChannel(String channelID, byte channelType) {
String sql = "SELECT min(message_seq) message_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType; String sql = "SELECT min(message_seq) message_seq FROM " + message + " WHERE channel_id='" + channelID + "' AND channel_type=" + channelType;
int messageSeq = 0; int messageSeq = 0;
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -1196,7 +1196,7 @@ public class MsgDbManager {
return messageSeq; return messageSeq;
} }
private int getMsgSeq(String channelID, byte channelType, long oldestOrderSeq, int pullMode) { private int queryMsgSeq(String channelID, byte channelType, long oldestOrderSeq, int pullMode) {
String sql; String sql;
int messageSeq = 0; int messageSeq = 0;
if (pullMode == 1) { if (pullMode == 1) {
@ -1327,31 +1327,31 @@ public class MsgDbManager {
/** /**
* 删除消息 * 删除消息
* *
* @param client_msg_no 消息ID * @param clientMsgNO 消息ID
*/ */
public synchronized WKMsg deleteMsgWithClientMsgNo(String client_msg_no) { public synchronized WKMsg deleteWithClientMsgNo(String clientMsgNO) {
String[] updateKey = new String[1]; String[] updateKey = new String[1];
String[] updateValue = new String[1]; String[] updateValue = new String[1];
updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted; updateKey[0] = WKDBColumns.WKMessageColumns.is_deleted;
updateValue[0] = "1"; updateValue[0] = "1";
String where = WKDBColumns.WKMessageColumns.client_msg_no + "=?"; String where = WKDBColumns.WKMessageColumns.client_msg_no + "=?";
String[] whereValue = new String[1]; String[] whereValue = new String[1];
whereValue[0] = client_msg_no; whereValue[0] = clientMsgNO;
WKMsg msg = null; WKMsg msg = null;
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0) { if (row > 0) {
msg = getMsgWithClientMsgNo(client_msg_no); msg = queryWithClientMsgNo(clientMsgNO);
} }
return msg; return msg;
} }
public long getMaxSeqWithChannel(String channelID, byte channelType) { public long getMaxSeqWithChannel(String channelID, byte channelType) {
return MsgReactionDBManager.getInstance().getMaxSeqWithChannel(channelID, channelType); return MsgReactionDBManager.getInstance().queryMaxSeqWithChannel(channelID, channelType);
} }
public void saveMsgReaction(List<WKMsgReaction> list) { public void insertMsgReactions(List<WKMsgReaction> list) {
MsgReactionDBManager.getInstance().insertReaction(list); MsgReactionDBManager.getInstance().insertReactions(list);
} }
public List<WKMsgReaction> queryMsgReactionWithMsgIds(List<String> messageIds) { public List<WKMsgReaction> queryMsgReactionWithMsgIds(List<String> messageIds) {
@ -1391,13 +1391,13 @@ public class MsgDbManager {
int row = WKIMApplication.getInstance().getDbHelper() int row = WKIMApplication.getInstance().getDbHelper()
.update(message, updateKey, updateValue, where, whereValue); .update(message, updateKey, updateValue, where, whereValue);
if (row > 0) { if (row > 0) {
WKMsg msg = getMsgWithClientSeq(client_seq); WKMsg msg = queryWithClientSeq(client_seq);
if (msg != null) if (msg != null)
WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true); WKIM.getInstance().getMsgManager().setRefreshMsg(msg, true);
} }
} }
public int getMaxMessageSeq() { public int queryMaxMessageSeqWithChannel() {
int maxMessageSeq = 0; int maxMessageSeq = 0;
String sql = "select max(message_seq) message_seq from " + message; String sql = "select max(message_seq) message_seq from " + message;
try { try {

View File

@ -31,7 +31,7 @@ class MsgReactionDBManager {
return MessageReactionDBManagerBinder.manager; return MessageReactionDBManagerBinder.manager;
} }
public void insertReaction(List<WKMsgReaction> list) { public void insertReactions(List<WKMsgReaction> list) {
if (list == null || list.size() == 0) return; if (list == null || list.size() == 0) return;
for (int i = 0, size = list.size(); i < size; i++) { for (int i = 0, size = list.size(); i < size; i++) {
insertOrUpdate(list.get(i)); insertOrUpdate(list.get(i));
@ -80,7 +80,7 @@ class MsgReactionDBManager {
return isExist; return isExist;
} }
public List<WKMsgReaction> queryReactions(String messageID) { public List<WKMsgReaction> queryWithMessageId(String messageID) {
List<WKMsgReaction> list = new ArrayList<>(); List<WKMsgReaction> list = new ArrayList<>();
String sql = "select * from " + messageReaction + " where message_id=" + "\"" + messageID + "\"" + " and is_deleted=0 ORDER BY created_at desc"; String sql = "select * from " + messageReaction + " where message_id=" + "\"" + messageID + "\"" + " and is_deleted=0 ORDER BY created_at desc";
try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) { try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) {
@ -138,7 +138,7 @@ class MsgReactionDBManager {
return list; return list;
} }
public WKMsgReaction queryReaction(String messageID, String uid, String emoji) { public WKMsgReaction queryWithMsgIdAndUIDAndText(String messageID, String uid, String emoji) {
WKMsgReaction reaction = null; WKMsgReaction reaction = null;
String sql = "select * from " + messageReaction String sql = "select * from " + messageReaction
+ " where message_id=" + "\"" + messageID + "\"" + " where message_id=" + "\"" + messageID + "\""
@ -157,7 +157,7 @@ class MsgReactionDBManager {
return reaction; return reaction;
} }
public WKMsgReaction queryReaction(String messageID, String uid) { public WKMsgReaction queryWithMsgIdAndUID(String messageID, String uid) {
WKMsgReaction reaction = null; WKMsgReaction reaction = null;
String sql = "select * from " + messageReaction String sql = "select * from " + messageReaction
+ " where message_id=" + "\"" + messageID + "\"" + " where message_id=" + "\"" + messageID + "\""
@ -176,7 +176,7 @@ class MsgReactionDBManager {
return reaction; return reaction;
} }
public long getMaxSeqWithChannel(String channelID, byte channelType) { public long queryMaxSeqWithChannel(String channelID, byte channelType) {
int maxSeq = 0; int maxSeq = 0;
String sql = "select max(seq) seq from " + messageReaction String sql = "select max(seq) seq from " + messageReaction
+ " where channel_id=" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " limit 0, 1"; + " where channel_id=" + "\"" + channelID + "\"" + " and channel_type=" + channelType + " limit 0, 1";

View File

@ -31,7 +31,7 @@ public class ReminderDBManager {
return ReminderDBManagerBinder.binder; return ReminderDBManagerBinder.binder;
} }
public long getMaxVersion() { public long queryMaxVersion() {
String sql = "select * from " + reminders + " order by version desc limit 1"; String sql = "select * from " + reminders + " order by version desc limit 1";
long version = 0; long version = 0;
try (Cursor cursor = WKIMApplication try (Cursor cursor = WKIMApplication
@ -47,7 +47,7 @@ public class ReminderDBManager {
return version; return version;
} }
public List<WKReminder> queryWithChannel(String channelID, byte channelType, int done) { public List<WKReminder> queryWithChannelAndDone(String channelID, byte channelType, int done) {
String sql = "select * from " + reminders + " where channel_id='" + channelID + "' and channel_type=" + channelType + " and done=" + done + " order by message_seq desc"; String sql = "select * from " + reminders + " where channel_id='" + channelID + "' and channel_type=" + channelType + " and done=" + done + " order by message_seq desc";
List<WKReminder> list = new ArrayList<>(); List<WKReminder> list = new ArrayList<>();
try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) { try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) {
@ -62,7 +62,7 @@ public class ReminderDBManager {
return list; return list;
} }
public List<WKReminder> queryWithChannelAndType(String channelID, byte channelType, int done, int type) { public List<WKReminder> queryWithChannelAndTypeAndDone(String channelID, byte channelType, int type,int done) {
String sql = "select * from " + reminders + " where channel_id='" + channelID + "' and channel_type=" + channelType + " and done=" + done + " and type =" + type + " order by message_seq desc"; String sql = "select * from " + reminders + " where channel_id='" + channelID + "' and channel_type=" + channelType + " and done=" + done + " and type =" + type + " order by message_seq desc";
List<WKReminder> list = new ArrayList<>(); List<WKReminder> list = new ArrayList<>();
try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) { try (Cursor cursor = WKIMApplication.getInstance().getDbHelper().rawQuery(sql)) {
@ -129,7 +129,7 @@ public class ReminderDBManager {
return list; return list;
} }
public List<WKReminder> saveReminders(List<WKReminder> list) { public List<WKReminder> insertOrUpdateReminders(List<WKReminder> list) {
List<Long> ids = new ArrayList<>(); List<Long> ids = new ArrayList<>();
List<String> channelIds = new ArrayList<>(); List<String> channelIds = new ArrayList<>();
for (int i = 0, size = list.size(); i < size; i++) { for (int i = 0, size = list.size(); i < size; i++) {

View File

@ -26,7 +26,7 @@ public class RobotDBManager {
return RobotDBManagerBinder.db; return RobotDBManagerBinder.db;
} }
public void insertOrUpdateMenu(List<WKRobotMenu> list) { public void insertOrUpdateMenus(List<WKRobotMenu> list) {
for (WKRobotMenu menu : list) { for (WKRobotMenu menu : list) {
if (isExitMenu(menu.robotID, menu.cmd)) { if (isExitMenu(menu.robotID, menu.cmd)) {
update(menu); update(menu);
@ -66,7 +66,7 @@ public class RobotDBManager {
.update(robotMenu, updateKey, updateValue, where, whereValue); .update(robotMenu, updateKey, updateValue, where, whereValue);
} }
public void insertOrUpdate(List<WKRobot> list) { public void insertOrUpdateRobots(List<WKRobot> list) {
for (WKRobot robot : list) { for (WKRobot robot : list) {
if (isExist(robot.robotID)) { if (isExist(robot.robotID)) {
update(robot); update(robot);

View File

@ -2,7 +2,6 @@ package com.xinbida.wukongim.db;
import android.content.ContentValues; import android.content.ContentValues;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import com.xinbida.wukongim.entity.WKChannel; import com.xinbida.wukongim.entity.WKChannel;
import com.xinbida.wukongim.entity.WKChannelMember; import com.xinbida.wukongim.entity.WKChannelMember;
@ -21,12 +20,6 @@ import org.json.JSONObject;
class WKSqlContentValues { class WKSqlContentValues {
/**
* 获取会话数据表对应字段
*
* @param msg 会话消息
* @return ContentValues
*/
static ContentValues getContentValuesWithMsg(WKMsg msg) { static ContentValues getContentValuesWithMsg(WKMsg msg) {
ContentValues contentValues = new ContentValues(); ContentValues contentValues = new ContentValues();
if (msg == null) { if (msg == null) {
@ -65,12 +58,6 @@ class WKSqlContentValues {
return contentValues; return contentValues;
} }
/**
* 会话记录表对应存储字段
*
* @param wkConversationMsg 会话消息
* @return ContentValues
*/
static ContentValues getContentValuesWithCoverMsg(WKConversationMsg wkConversationMsg, boolean isSync) { static ContentValues getContentValuesWithCoverMsg(WKConversationMsg wkConversationMsg, boolean isSync) {
ContentValues contentValues = new ContentValues(); ContentValues contentValues = new ContentValues();
if (wkConversationMsg == null) { if (wkConversationMsg == null) {
@ -82,7 +69,6 @@ class WKSqlContentValues {
contentValues.put(WKDBColumns.WKCoverMessageColumns.last_msg_timestamp, wkConversationMsg.lastMsgTimestamp); contentValues.put(WKDBColumns.WKCoverMessageColumns.last_msg_timestamp, wkConversationMsg.lastMsgTimestamp);
contentValues.put(WKDBColumns.WKCoverMessageColumns.last_msg_seq, wkConversationMsg.lastMsgSeq); contentValues.put(WKDBColumns.WKCoverMessageColumns.last_msg_seq, wkConversationMsg.lastMsgSeq);
contentValues.put(WKDBColumns.WKCoverMessageColumns.unread_count, wkConversationMsg.unreadCount); contentValues.put(WKDBColumns.WKCoverMessageColumns.unread_count, wkConversationMsg.unreadCount);
Log.e("最近会话保存父channel", wkConversationMsg.parentChannelID + "_" + wkConversationMsg.parentChannelType);
contentValues.put(WKDBColumns.WKCoverMessageColumns.parent_channel_id, wkConversationMsg.parentChannelID); contentValues.put(WKDBColumns.WKCoverMessageColumns.parent_channel_id, wkConversationMsg.parentChannelID);
contentValues.put(WKDBColumns.WKCoverMessageColumns.parent_channel_type, wkConversationMsg.parentChannelType); contentValues.put(WKDBColumns.WKCoverMessageColumns.parent_channel_type, wkConversationMsg.parentChannelType);
if (isSync) { if (isSync) {
@ -93,12 +79,6 @@ class WKSqlContentValues {
return contentValues; return contentValues;
} }
/**
* 频道表对应存储修改字段
*
* @param channel 频道信息
* @return ContentValues
*/
static ContentValues getContentValuesWithChannel(WKChannel channel) { static ContentValues getContentValuesWithChannel(WKChannel channel) {
ContentValues contentValues = new ContentValues(); ContentValues contentValues = new ContentValues();
if (channel == null) { if (channel == null) {
@ -145,12 +125,6 @@ class WKSqlContentValues {
return contentValues; return contentValues;
} }
/**
* 频道成员
*
* @param channelMember 频道成员
* @return ContentValues
*/
static ContentValues getContentValuesWithChannelMember(WKChannelMember channelMember) { static ContentValues getContentValuesWithChannelMember(WKChannelMember channelMember) {
ContentValues contentValues = new ContentValues(); ContentValues contentValues = new ContentValues();
if (channelMember == null) { if (channelMember == null) {
@ -181,12 +155,6 @@ class WKSqlContentValues {
return contentValues; return contentValues;
} }
/**
* 消息回应
*
* @param reaction WKMsgReaction
* @return ContentValues
*/
static ContentValues getContentValuesWithMsgReaction(WKMsgReaction reaction) { static ContentValues getContentValuesWithMsgReaction(WKMsgReaction reaction) {
ContentValues contentValues = new ContentValues(); ContentValues contentValues = new ContentValues();
if (reaction == null) { if (reaction == null) {

View File

@ -41,7 +41,7 @@ public class WKUIConversationMsg {
public WKMsg getWkMsg() { public WKMsg getWkMsg() {
if (wkMsg == null) { if (wkMsg == null) {
wkMsg = MsgDbManager.getInstance().getMsgWithClientMsgNo(clientMsgNo); wkMsg = MsgDbManager.getInstance().queryWithClientMsgNo(clientMsgNo);
if (wkMsg != null && wkMsg.isDeleted == 1) wkMsg = null; if (wkMsg != null && wkMsg.isDeleted == 1) wkMsg = null;
} }
return wkMsg; return wkMsg;
@ -64,7 +64,7 @@ public class WKUIConversationMsg {
public List<WKReminder> getReminderList() { public List<WKReminder> getReminderList() {
if (reminderList == null) { if (reminderList == null) {
reminderList = ReminderDBManager.getInstance().queryWithChannel(channelID, channelType, 0); reminderList = ReminderDBManager.getInstance().queryWithChannelAndDone(channelID, channelType, 0);
} }
return reminderList; return reminderList;

View File

@ -144,7 +144,7 @@ public class CMDManager extends BaseManager {
//语音已读 //语音已读
if (jsonObject.has("message_id")) { if (jsonObject.has("message_id")) {
String messageId = jsonObject.optString("message_id"); String messageId = jsonObject.optString("message_id");
MsgDbManager.getInstance().updateMsgWithMessageID(messageId, WKDBColumns.WKMessageColumns.voice_status, 1 + ""); MsgDbManager.getInstance().updateFieldWithMessageID(messageId, WKDBColumns.WKMessageColumns.voice_status, 1 + "");
} }
} else if (cmd.equalsIgnoreCase(WKCMDKeys.wk_onlineStatus)) { } else if (cmd.equalsIgnoreCase(WKCMDKeys.wk_onlineStatus)) {
//对方是否在线 //对方是否在线
@ -167,7 +167,7 @@ public class CMDManager extends BaseManager {
// wkChannel.mainDeviceFlag = main_device_flag; // wkChannel.mainDeviceFlag = main_device_flag;
wkChannel.deviceFlag = main_device_flag; wkChannel.deviceFlag = main_device_flag;
// wkChannel.deviceFlag = device_flag; // wkChannel.deviceFlag = device_flag;
WKIM.getInstance().getChannelManager().addOrUpdateChannel(wkChannel); WKIM.getInstance().getChannelManager().saveOrUpdateChannel(wkChannel);
} }
} else if (cmd.equals(WKCMDKeys.wk_syncMessageReaction)) { } else if (cmd.equals(WKCMDKeys.wk_syncMessageReaction)) {
if (jsonObject.has("channel_id") && jsonObject.has("channel_type")) { if (jsonObject.has("channel_id") && jsonObject.has("channel_type")) {
@ -189,11 +189,11 @@ public class CMDManager extends BaseManager {
if (!TextUtils.isEmpty(erase_type)) { if (!TextUtils.isEmpty(erase_type)) {
if (erase_type.equals("all")) { if (erase_type.equals("all")) {
if (!TextUtils.isEmpty(channelID)) { if (!TextUtils.isEmpty(channelID)) {
WKIM.getInstance().getMsgManager().clear(channelID, channelType); WKIM.getInstance().getMsgManager().clearWithChannel(channelID, channelType);
} }
} else { } else {
if (!TextUtils.isEmpty(from_uid)) { if (!TextUtils.isEmpty(from_uid)) {
WKIM.getInstance().getMsgManager().clear(channelID, channelType, from_uid); WKIM.getInstance().getMsgManager().clearWithChannelAndFromUID(channelID, channelType, from_uid);
} }
} }
} }
@ -201,7 +201,7 @@ public class CMDManager extends BaseManager {
String channelID = jsonObject.optString("channel_id"); String channelID = jsonObject.optString("channel_id");
byte channelType = (byte) jsonObject.optInt("channel_type"); byte channelType = (byte) jsonObject.optInt("channel_type");
if (!TextUtils.isEmpty(channelID)) { if (!TextUtils.isEmpty(channelID)) {
ConversationDbManager.getInstance().deleteMsg(channelID, channelType, 1); ConversationDbManager.getInstance().deleteWithChannel(channelID, channelType, 1);
} }
} }
WKCMD wkcmd = new WKCMD(cmd, jsonObject); WKCMD wkcmd = new WKCMD(cmd, jsonObject);

View File

@ -53,7 +53,7 @@ public class ChannelManager extends BaseManager {
} }
} }
if (wkChannel == null) { if (wkChannel == null) {
wkChannel = ChannelDBManager.getInstance().getChannel(channelID, channelType); wkChannel = ChannelDBManager.getInstance().query(channelID, channelType);
if (wkChannel != null) { if (wkChannel != null) {
wkChannelList.add(wkChannel); wkChannelList.add(wkChannel);
} }
@ -66,10 +66,10 @@ public class ChannelManager extends BaseManager {
if (TextUtils.isEmpty(channelID)) return; if (TextUtils.isEmpty(channelID)) return;
WKChannel channel = getChannel(channelID, channelType, wkChannel -> { WKChannel channel = getChannel(channelID, channelType, wkChannel -> {
if (wkChannel != null) if (wkChannel != null)
addOrUpdateChannel(wkChannel); saveOrUpdateChannel(wkChannel);
}); });
if (channel != null) { if (channel != null) {
addOrUpdateChannel(channel); saveOrUpdateChannel(channel);
} }
} }
@ -83,12 +83,12 @@ public class ChannelManager extends BaseManager {
this.iGetChannelInfo = iGetChannelInfoListener; this.iGetChannelInfo = iGetChannelInfoListener;
} }
public void addOrUpdateChannel(WKChannel channel) { public void saveOrUpdateChannel(WKChannel channel) {
if (channel == null) return; if (channel == null) return;
//先更改内存数据 //先更改内存数据
updateChannel(channel); updateChannel(channel);
setRefreshChannel(channel, true); setRefreshChannel(channel, true);
ChannelDBManager.getInstance().insertOrUpdateChannel(channel); ChannelDBManager.getInstance().insertOrUpdate(channel);
} }
@ -217,14 +217,14 @@ public class ChannelManager extends BaseManager {
* *
* @param list 频道数据 * @param list 频道数据
*/ */
public void addOrUpdateChannels(List<WKChannel> list) { public void saveOrUpdateChannels(List<WKChannel> list) {
if (list == null || list.size() == 0) return; if (list == null || list.size() == 0) return;
// 先修改内存数据 // 先修改内存数据
for (int i = 0, size = list.size(); i < size; i++) { for (int i = 0, size = list.size(); i < size; i++) {
updateChannel(list.get(i)); updateChannel(list.get(i));
setRefreshChannel(list.get(i), i == list.size() - 1); setRefreshChannel(list.get(i), i == list.size() - 1);
} }
ChannelDBManager.getInstance().saveList(list); ChannelDBManager.getInstance().insertChannels(list);
} }
/** /**
@ -236,7 +236,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateStatus(String channelID, byte channelType, int status) { public void updateStatus(String channelID, byte channelType, int status) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.status, status); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.status, status);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.status, String.valueOf(status)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.status, String.valueOf(status));
} }
@ -249,7 +249,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateName(String channelID, byte channelType, String name) { public void updateName(String channelID, byte channelType, String name) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_name, name); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_name, name);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_name, name); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.channel_name, name);
} }
/** /**
@ -259,8 +259,8 @@ public class ChannelManager extends BaseManager {
* @param status 状态 * @param status 状态
* @return List<WKChannel> * @return List<WKChannel>
*/ */
public List<WKChannel> getChannelsWithStatus(byte channelType, int status) { public List<WKChannel> getWithStatus(byte channelType, int status) {
return ChannelDBManager.getInstance().queryAllByStatus(channelType, status); return ChannelDBManager.getInstance().queryWithStatus(channelType, status);
} }
public List<WKChannel> getWithChannelIdsAndChannelType(List<String> channelIds, byte channelType) { public List<WKChannel> getWithChannelIdsAndChannelType(List<String> channelIds, byte channelType) {
@ -273,8 +273,8 @@ public class ChannelManager extends BaseManager {
* @param keyword 关键字 * @param keyword 关键字
* @return List<WKChannelSearchResult> * @return List<WKChannelSearchResult>
*/ */
public List<WKChannelSearchResult> searchChannel(String keyword) { public List<WKChannelSearchResult> search(String keyword) {
return ChannelDBManager.getInstance().searchChannelInfo(keyword); return ChannelDBManager.getInstance().search(keyword);
} }
/** /**
@ -284,12 +284,12 @@ public class ChannelManager extends BaseManager {
* @param channelType 频道类型 * @param channelType 频道类型
* @return List<WKChannel> * @return List<WKChannel>
*/ */
public List<WKChannel> searchChannelsByChannelType(String keyword, byte channelType) { public List<WKChannel> searchWithChannelType(String keyword, byte channelType) {
return ChannelDBManager.getInstance().searchChannels(keyword, channelType); return ChannelDBManager.getInstance().searchWithChannelType(keyword, channelType);
} }
public List<WKChannel> searchChannelsByChannelType(String keyword, byte channelType, int follow) { public List<WKChannel> searchWithChannelTypeAndFollow(String keyword, byte channelType, int follow) {
return ChannelDBManager.getInstance().searchChannels(keyword, channelType, follow); return ChannelDBManager.getInstance().searchWithChannelTypeAndFollow(keyword, channelType, follow);
} }
/** /**
@ -299,8 +299,8 @@ public class ChannelManager extends BaseManager {
* @param follow 关注状态 * @param follow 关注状态
* @return List<WKChannel> * @return List<WKChannel>
*/ */
public List<WKChannel> getChannelsWithFollow(byte channelType, int follow) { public List<WKChannel> getWithChannelTypeAndFollow(byte channelType, int follow) {
return ChannelDBManager.getInstance().queryAllByFollow(channelType, follow); return ChannelDBManager.getInstance().queryWithChannelTypeAndFollow(channelType, follow);
} }
/** /**
@ -312,7 +312,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateMute(String channelID, byte channelType, int isMute) { public void updateMute(String channelID, byte channelType, int isMute) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.mute, isMute); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.mute, isMute);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.mute, String.valueOf(isMute)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.mute, String.valueOf(isMute));
} }
/** /**
@ -333,7 +333,7 @@ public class ChannelManager extends BaseManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.localExtra, jsonObject.toString()); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.localExtra, jsonObject.toString());
} }
} }
@ -346,7 +346,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateSave(String channelID, byte channelType, int isSave) { public void updateSave(String channelID, byte channelType, int isSave) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.save, isSave); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.save, isSave);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.save, String.valueOf(isSave)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.save, String.valueOf(isSave));
} }
/** /**
@ -358,7 +358,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateShowNick(String channelID, byte channelType, int showNick) { public void updateShowNick(String channelID, byte channelType, int showNick) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.show_nick, showNick); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.show_nick, showNick);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.show_nick, String.valueOf(showNick)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.show_nick, String.valueOf(showNick));
} }
/** /**
@ -370,7 +370,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateTop(String channelID, byte channelType, int top) { public void updateTop(String channelID, byte channelType, int top) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.top, top); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.top, top);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.top, String.valueOf(top)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.top, String.valueOf(top));
} }
/** /**
@ -382,7 +382,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateRemark(String channelID, byte channelType, String remark) { public void updateRemark(String channelID, byte channelType, String remark) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_remark, remark); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_remark, remark);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.channel_remark, remark); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.channel_remark, remark);
} }
/** /**
@ -394,7 +394,7 @@ public class ChannelManager extends BaseManager {
*/ */
public void updateFollow(String channelID, byte channelType, int follow) { public void updateFollow(String channelID, byte channelType, int follow) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.follow, follow); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.follow, follow);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.follow, String.valueOf(follow)); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.follow, String.valueOf(follow));
} }
/** /**
@ -405,13 +405,13 @@ public class ChannelManager extends BaseManager {
* @param status 状态 正常或黑名单 * @param status 状态 正常或黑名单
* @return list * @return list
*/ */
public List<WKChannel> getChannelsWithFollowAndStatus(byte channelType, int follow, int status) { public List<WKChannel> getWithFollowAndStatus(byte channelType, int follow, int status) {
return ChannelDBManager.getInstance().queryAllByFollowAndStatus(channelType, follow, status); return ChannelDBManager.getInstance().queryWithFollowAndStatus(channelType, follow, status);
} }
public void updateAvatarCacheKey(String channelID, byte channelType, String avatar) { public void updateAvatarCacheKey(String channelID, byte channelType, String avatar) {
updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.avatar_cache_key, avatar); updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.avatar_cache_key, avatar);
ChannelDBManager.getInstance().updateChannel(channelID, channelType, WKDBColumns.WKChannelColumns.avatar_cache_key, avatar); ChannelDBManager.getInstance().updateWithField(channelID, channelType, WKDBColumns.WKChannelColumns.avatar_cache_key, avatar);
} }
public void addOnRefreshChannelAvatar(IRefreshChannelAvatar iRefreshChannelAvatar) { public void addOnRefreshChannelAvatar(IRefreshChannelAvatar iRefreshChannelAvatar) {

View File

@ -52,11 +52,11 @@ public class ChannelMembersManager extends BaseManager {
//最大版本成员 //最大版本成员
@Deprecated @Deprecated
public WKChannelMember getMaxVersionMember(String channelID, byte channelType) { public WKChannelMember getMaxVersionMember(String channelID, byte channelType) {
return ChannelMembersDbManager.getInstance().getMaxVersionMember(channelID, channelType); return ChannelMembersDbManager.getInstance().queryMaxVersionMember(channelID, channelType);
} }
public long getMaxVersion(String channelID, byte channelType) { public long getMaxVersion(String channelID, byte channelType) {
return ChannelMembersDbManager.getInstance().getMaxVersion(channelID, channelType); return ChannelMembersDbManager.getInstance().queryMaxVersion(channelID, channelType);
} }
public List<WKChannelMember> getRobotMembers(String channelID, byte channelType) { public List<WKChannelMember> getRobotMembers(String channelID, byte channelType) {
@ -123,7 +123,7 @@ public class ChannelMembersManager extends BaseManager {
} }
// 先保存或修改成员 // 先保存或修改成员
ChannelMembersDbManager.getInstance().insertList(list, existList); ChannelMembersDbManager.getInstance().insertMembers(list, existList);
if (addList.size() > 0) { if (addList.size() > 0) {
setOnAddChannelMember(addList); setOnAddChannelMember(addList);
@ -146,7 +146,7 @@ public class ChannelMembersManager extends BaseManager {
* @param list 频道成员 * @param list 频道成员
*/ */
public void delete(List<WKChannelMember> list) { public void delete(List<WKChannelMember> list) {
runOnMainThread(() -> ChannelMembersDbManager.getInstance().deleteChannelMembers(list)); runOnMainThread(() -> ChannelMembersDbManager.getInstance().deleteMembers(list));
} }
/** /**
@ -158,7 +158,7 @@ public class ChannelMembersManager extends BaseManager {
* @return List<> * @return List<>
*/ */
public List<WKChannelMember> getWithStatus(String channelId, byte channelType, int status) { public List<WKChannelMember> getWithStatus(String channelId, byte channelType, int status) {
return ChannelMembersDbManager.getInstance().queryChannelMembersByStatus(channelId, channelType, status); return ChannelMembersDbManager.getInstance().queryWithStatus(channelId, channelType, status);
} }
/** /**
@ -170,7 +170,7 @@ public class ChannelMembersManager extends BaseManager {
* @param remarkName 备注 * @param remarkName 备注
*/ */
public boolean updateRemarkName(String channelID, byte channelType, String uid, String remarkName) { public boolean updateRemarkName(String channelID, byte channelType, String uid, String remarkName) {
return ChannelMembersDbManager.getInstance().updateChannelMember(channelID, channelType, uid, WKDBColumns.WKChannelMembersColumns.member_remark, remarkName); return ChannelMembersDbManager.getInstance().updateWithField(channelID, channelType, uid, WKDBColumns.WKChannelMembersColumns.member_remark, remarkName);
} }
/** /**
@ -182,7 +182,7 @@ public class ChannelMembersManager extends BaseManager {
* @param name 名称 * @param name 名称
*/ */
public boolean updateMemberName(String channelID, byte channelType, String uid, String name) { public boolean updateMemberName(String channelID, byte channelType, String uid, String name) {
return ChannelMembersDbManager.getInstance().updateChannelMember(channelID, channelType, uid, WKDBColumns.WKChannelMembersColumns.member_name, name); return ChannelMembersDbManager.getInstance().updateWithField(channelID, channelType, uid, WKDBColumns.WKChannelMembersColumns.member_name, name);
} }
/** /**
@ -194,7 +194,7 @@ public class ChannelMembersManager extends BaseManager {
* @param status 状态 * @param status 状态
*/ */
public boolean updateMemberStatus(String channelId, byte channelType, String uid, int status) { public boolean updateMemberStatus(String channelId, byte channelType, String uid, int status) {
return ChannelMembersDbManager.getInstance().updateChannelMember(channelId, channelType, uid, WKDBColumns.WKChannelMembersColumns.status, String.valueOf(status)); return ChannelMembersDbManager.getInstance().updateWithField(channelId, channelType, uid, WKDBColumns.WKChannelMembersColumns.status, String.valueOf(status));
} }
public void addOnGetChannelMembersListener(IGetChannelMemberList iGetChannelMemberList) { public void addOnGetChannelMembersListener(IGetChannelMemberList iGetChannelMemberList) {
@ -237,7 +237,7 @@ public class ChannelMembersManager extends BaseManager {
if (channelMember == null) return; if (channelMember == null) return;
List<WKChannelMember> list = new ArrayList<>(); List<WKChannelMember> list = new ArrayList<>();
list.add(channelMember); list.add(channelMember);
ChannelMembersDbManager.getInstance().insertChannelMember(list); ChannelMembersDbManager.getInstance().insertMembers(list);
} }
/** /**
@ -302,7 +302,7 @@ public class ChannelMembersManager extends BaseManager {
//成员数量 //成员数量
public int getMemberCount(String channelID, byte channelType) { public int getMemberCount(String channelID, byte channelType) {
return ChannelMembersDbManager.getInstance().getMembersCount(channelID, channelType); return ChannelMembersDbManager.getInstance().queryCount(channelID, channelType);
} }
public void addOnRefreshChannelMemberInfo(String key, IRefreshChannelMember iRefreshChannelMemberListener) { public void addOnRefreshChannelMemberInfo(String key, IRefreshChannelMember iRefreshChannelMemberListener) {

View File

@ -63,7 +63,7 @@ public class ConversationManager extends BaseManager {
* @return 最近会话集合 * @return 最近会话集合
*/ */
public List<WKUIConversationMsg> getAll() { public List<WKUIConversationMsg> getAll() {
return ConversationDbManager.getInstance().getAll(); return ConversationDbManager.getInstance().queryAll();
} }
public List<WKConversationMsg> getWithChannelType(byte channelType) { public List<WKConversationMsg> getWithChannelType(byte channelType) {
@ -81,12 +81,12 @@ public class ConversationManager extends BaseManager {
* @param channelType 频道类型 * @param channelType 频道类型
* @return WKConversationMsg * @return WKConversationMsg
*/ */
public WKConversationMsg getMsg(String channelID, byte channelType) { public WKConversationMsg getWithChannel(String channelID, byte channelType) {
return ConversationDbManager.getInstance().queryWithChannel(channelID, channelType); return ConversationDbManager.getInstance().queryWithChannel(channelID, channelType);
} }
public void updateWithMsg(WKConversationMsg mConversationMsg) { public void updateWithMsg(WKConversationMsg mConversationMsg) {
WKMsg msg = MsgDbManager.getInstance().getMsgMaxOrderSeqWithChannel(mConversationMsg.channelID, mConversationMsg.channelType); WKMsg msg = MsgDbManager.getInstance().queryMaxOrderSeqMsgWithChannel(mConversationMsg.channelID, mConversationMsg.channelType);
if (msg != null) { if (msg != null) {
mConversationMsg.lastClientMsgNO = msg.clientMsgNO; mConversationMsg.lastClientMsgNO = msg.clientMsgNO;
mConversationMsg.lastMsgSeq = msg.messageSeq; mConversationMsg.lastMsgSeq = msg.messageSeq;
@ -100,8 +100,8 @@ public class ConversationManager extends BaseManager {
* @param channelId 频道ID * @param channelId 频道ID
* @param channelType 频道类型 * @param channelType 频道类型
*/ */
public boolean deleteMsg(String channelId, byte channelType) { public boolean deleteWitchChannel(String channelId, byte channelType) {
return ConversationDbManager.getInstance().deleteMsg(channelId, channelType, 1); return ConversationDbManager.getInstance().deleteWithChannel(channelId, channelType, 1);
} }
/** /**
@ -174,11 +174,11 @@ public class ConversationManager extends BaseManager {
} }
public WKConversationMsgExtra getMsgExtraWithChannel(String channelID, byte channelType) { public WKConversationMsgExtra getMsgExtraWithChannel(String channelID, byte channelType) {
return ConversationDbManager.getInstance().queryExtraMsgWithChannel(channelID, channelType); return ConversationDbManager.getInstance().queryMsgExtraWithChannel(channelID, channelType);
} }
public void updateMsgExtra(WKConversationMsgExtra extra) { public void updateMsgExtra(WKConversationMsgExtra extra) {
boolean result = ConversationDbManager.getInstance().insertOrUpdateExtra(extra); boolean result = ConversationDbManager.getInstance().insertOrUpdateMsgExtra(extra);
if (result) { if (result) {
WKUIConversationMsg msg = getUIConversationMsg(extra.channelID, extra.channelType); WKUIConversationMsg msg = getUIConversationMsg(extra.channelID, extra.channelType);
setOnRefreshMsg(msg, true, "updateMsgExtra"); setOnRefreshMsg(msg, true, "updateMsgExtra");
@ -187,7 +187,7 @@ public class ConversationManager extends BaseManager {
public WKUIConversationMsg updateWithWKMsg(WKMsg msg) { public WKUIConversationMsg updateWithWKMsg(WKMsg msg) {
if (msg == null || TextUtils.isEmpty(msg.channelID)) return null; if (msg == null || TextUtils.isEmpty(msg.channelID)) return null;
return ConversationDbManager.getInstance().saveOrUpdateWithMsg(msg, 0); return ConversationDbManager.getInstance().insertOrUpdateWithMsg(msg, 0);
} }
public WKUIConversationMsg getUIConversationMsg(String channelID, byte channelType) { public WKUIConversationMsg getUIConversationMsg(String channelID, byte channelType) {
@ -198,16 +198,16 @@ public class ConversationManager extends BaseManager {
return ConversationDbManager.getInstance().getUIMsg(msg); return ConversationDbManager.getInstance().getUIMsg(msg);
} }
public long getMaxExtraVersion() { public long getMsgExtraMaxVersion() {
return ConversationDbManager.getInstance().queryMaxExtraVersion(); return ConversationDbManager.getInstance().queryMsgExtraMaxVersion();
} }
public void saveSyncMsgExtra(List<WKSyncConvMsgExtra> list) { public void saveSyncMsgExtras(List<WKSyncConvMsgExtra> list) {
List<WKConversationMsgExtra> msgExtraList = new ArrayList<>(); List<WKConversationMsgExtra> msgExtraList = new ArrayList<>();
for (WKSyncConvMsgExtra msg : list) { for (WKSyncConvMsgExtra msg : list) {
msgExtraList.add(syncConvMsgExtraToConvMsgExtra(msg)); msgExtraList.add(syncConvMsgExtraToConvMsgExtra(msg));
} }
ConversationDbManager.getInstance().saveMsgExtras(msgExtraList); ConversationDbManager.getInstance().insertMsgExtras(msgExtraList);
} }
private WKConversationMsgExtra syncConvMsgExtraToConvMsgExtra(WKSyncConvMsgExtra extra) { private WKConversationMsgExtra syncConvMsgExtraToConvMsgExtra(WKSyncConvMsgExtra extra) {
@ -230,8 +230,8 @@ public class ConversationManager extends BaseManager {
public void setSyncConversationListener(ISyncConversationChatBack iSyncConversationChatBack) { public void setSyncConversationListener(ISyncConversationChatBack iSyncConversationChatBack) {
if (iSyncConversationChat != null) { if (iSyncConversationChat != null) {
long version = ConversationDbManager.getInstance().getMaxVersion(); long version = ConversationDbManager.getInstance().queryMaxVersion();
String lastMsgSeqStr = ConversationDbManager.getInstance().getLastMsgSeqs(); String lastMsgSeqStr = ConversationDbManager.getInstance().queryLastMsgSeqs();
runOnMainThread(() -> iSyncConversationChat.syncConversationChat(lastMsgSeqStr, 20, version, syncChat -> { runOnMainThread(() -> iSyncConversationChat.syncConversationChat(lastMsgSeqStr, 20, version, syncChat -> {
new Thread(() -> saveSyncChat(syncChat, () -> iSyncConversationChatBack.onBack(syncChat))).start(); new Thread(() -> saveSyncChat(syncChat, () -> iSyncConversationChatBack.onBack(syncChat))).start();
})); }));
@ -294,12 +294,12 @@ public class ConversationManager extends BaseManager {
} }
} }
if (msgExtraList.size() > 0) { if (msgExtraList.size() > 0) {
MsgDbManager.getInstance().saveOrUpdateMsgExtras(msgExtraList); MsgDbManager.getInstance().insertOrUpdateMsgExtras(msgExtraList);
} }
List<WKUIConversationMsg> uiMsgList = new ArrayList<>(); List<WKUIConversationMsg> uiMsgList = new ArrayList<>();
if (conversationMsgList.size() > 0 || msgList.size() > 0) { if (conversationMsgList.size() > 0 || msgList.size() > 0) {
if (msgList.size() > 0) { if (msgList.size() > 0) {
MsgDbManager.getInstance().insertMsgList(msgList); MsgDbManager.getInstance().insertMsgs(msgList);
} }
try { try {
if (conversationMsgList.size() > 0) { if (conversationMsgList.size() > 0) {

View File

@ -292,17 +292,17 @@ public class MsgManager extends BaseManager {
*/ */
public void getOrSyncHistoryMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit, long aroundMsgOrderSeq, final IGetOrSyncHistoryMsgBack iGetOrSyncHistoryMsgBack) { public void getOrSyncHistoryMessages(String channelId, byte channelType, long oldestOrderSeq, boolean contain, int pullMode, int limit, long aroundMsgOrderSeq, final IGetOrSyncHistoryMsgBack iGetOrSyncHistoryMsgBack) {
if (aroundMsgOrderSeq != 0) { if (aroundMsgOrderSeq != 0) {
long maxMsgSeq = getMaxMessageSeq(channelId, channelType); long maxMsgSeq = getMaxMessageSeqWithChannel(channelId, channelType);
long aroundMsgSeq = getOrNearbyMsgSeq(aroundMsgOrderSeq); long aroundMsgSeq = getOrNearbyMsgSeq(aroundMsgOrderSeq);
if (maxMsgSeq >= aroundMsgSeq && maxMsgSeq - aroundMsgSeq <= limit) { if (maxMsgSeq >= aroundMsgSeq && maxMsgSeq - aroundMsgSeq <= limit) {
// 显示最后一页数据 // 显示最后一页数据
// oldestOrderSeq = 0; // oldestOrderSeq = 0;
oldestOrderSeq = getMessageOrderSeq(maxMsgSeq,channelId,channelType); oldestOrderSeq = getMessageOrderSeq(maxMsgSeq, channelId, channelType);
contain = true; contain = true;
pullMode = 0; pullMode = 0;
} else { } else {
long minOrderSeq = MsgDbManager.getInstance().getOrderSeq(channelId, channelType, aroundMsgOrderSeq, 3); long minOrderSeq = MsgDbManager.getInstance().queryOrderSeq(channelId, channelType, aroundMsgOrderSeq, 3);
if (minOrderSeq == 0) { if (minOrderSeq == 0) {
oldestOrderSeq = aroundMsgOrderSeq; oldestOrderSeq = aroundMsgOrderSeq;
} else { } else {
@ -314,7 +314,7 @@ public class MsgManager extends BaseManager {
// oldestOrderSeq = aroundMsgOrderSeq; // oldestOrderSeq = aroundMsgOrderSeq;
} else { } else {
// todo 这里只会查询3条数据 oldestOrderSeq = minOrderSeq // todo 这里只会查询3条数据 oldestOrderSeq = minOrderSeq
long startOrderSeq = MsgDbManager.getInstance().getOrderSeq(channelId, channelType, aroundMsgOrderSeq, limit); long startOrderSeq = MsgDbManager.getInstance().queryOrderSeq(channelId, channelType, aroundMsgOrderSeq, limit);
if (startOrderSeq == 0) { if (startOrderSeq == 0) {
oldestOrderSeq = aroundMsgOrderSeq; oldestOrderSeq = aroundMsgOrderSeq;
} else } else
@ -325,10 +325,10 @@ public class MsgManager extends BaseManager {
contain = true; contain = true;
} }
} }
MsgDbManager.getInstance().getOrSyncHistoryMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit, iGetOrSyncHistoryMsgBack); MsgDbManager.getInstance().queryOrSyncHistoryMessages(channelId, channelType, oldestOrderSeq, contain, pullMode, limit, iGetOrSyncHistoryMsgBack);
} }
public List<WKMsg> queryAll() { public List<WKMsg> getAll() {
return MsgDbManager.getInstance().queryAll(); return MsgDbManager.getInstance().queryAll();
} }
@ -341,7 +341,7 @@ public class MsgManager extends BaseManager {
* *
* @param clientMsgNos 消息编号集合 * @param clientMsgNos 消息编号集合
*/ */
public void deleteWithClientMsgNO(List<String> clientMsgNos) { public void deleteWithClientMsgNos(List<String> clientMsgNos) {
if (clientMsgNos == null || clientMsgNos.size() == 0) return; if (clientMsgNos == null || clientMsgNos.size() == 0) return;
List<WKMsg> list = new ArrayList<>(); List<WKMsg> list = new ArrayList<>();
try { try {
@ -349,7 +349,7 @@ public class MsgManager extends BaseManager {
.beginTransaction(); .beginTransaction();
if (clientMsgNos.size() > 0) { if (clientMsgNos.size() > 0) {
for (int i = 0, size = clientMsgNos.size(); i < size; i++) { for (int i = 0, size = clientMsgNos.size(); i < size; i++) {
WKMsg msg = MsgDbManager.getInstance().deleteMsgWithClientMsgNo(clientMsgNos.get(i)); WKMsg msg = MsgDbManager.getInstance().deleteWithClientMsgNo(clientMsgNos.get(i));
if (msg != null) { if (msg != null) {
list.add(msg); list.add(msg);
} }
@ -378,7 +378,7 @@ public class MsgManager extends BaseManager {
if (isAdd) deleteMsgList.add(list.get(i)); if (isAdd) deleteMsgList.add(list.get(i));
} }
for (int i = 0, size = deleteMsgList.size(); i < size; i++) { for (int i = 0, size = deleteMsgList.size(); i < size; i++) {
WKMsg msg = MsgDbManager.getInstance().getMsgMaxOrderSeqWithChannel(deleteMsgList.get(i).channelID, deleteMsgList.get(i).channelType); WKMsg msg = MsgDbManager.getInstance().queryMaxOrderSeqMsgWithChannel(deleteMsgList.get(i).channelID, deleteMsgList.get(i).channelType);
if (msg != null) { if (msg != null) {
WKUIConversationMsg uiMsg = WKIM.getInstance().getConversationManager().updateWithWKMsg(msg); WKUIConversationMsg uiMsg = WKIM.getInstance().getConversationManager().updateWithWKMsg(msg);
if (uiMsg != null) { if (uiMsg != null) {
@ -395,7 +395,7 @@ public class MsgManager extends BaseManager {
* @param client_seq 客户端序列号 * @param client_seq 客户端序列号
*/ */
public boolean deleteWithClientSeq(long client_seq) { public boolean deleteWithClientSeq(long client_seq) {
return MsgDbManager.getInstance().deleteMsgWithClientSeq(client_seq); return MsgDbManager.getInstance().deleteWithClientSeq(client_seq);
} }
/** /**
@ -406,25 +406,25 @@ public class MsgManager extends BaseManager {
* @param clientMsgNo 客户端消息ID * @param clientMsgNo 客户端消息ID
* @return int * @return int
*/ */
public int getMsgRowNoWithClientMsgNO(String channelID, byte channelType, String clientMsgNo) { public int getRowNoWithOrderSeq(String channelID, byte channelType, String clientMsgNo) {
WKMsg msg = MsgDbManager.getInstance().getMsgWithClientMsgNo(clientMsgNo); WKMsg msg = MsgDbManager.getInstance().queryWithClientMsgNo(clientMsgNo);
return MsgDbManager.getInstance().getMsgRowNoWithOrderSeq(channelID, channelType, msg == null ? 0 : msg.orderSeq); return MsgDbManager.getInstance().queryRowNoWithOrderSeq(channelID, channelType, msg == null ? 0 : msg.orderSeq);
} }
public int getMsgRowNoWithMessageID(String channelID, byte channelType, String messageID) { public int getRowNoWithMessageID(String channelID, byte channelType, String messageID) {
WKMsg msg = MsgDbManager.getInstance().getMsgWithMessageID(messageID, false); WKMsg msg = MsgDbManager.getInstance().queryWithMessageID(messageID, false);
return MsgDbManager.getInstance().getMsgRowNoWithOrderSeq(channelID, channelType, msg == null ? 0 : msg.orderSeq); return MsgDbManager.getInstance().queryRowNoWithOrderSeq(channelID, channelType, msg == null ? 0 : msg.orderSeq);
} }
public void deleteWithClientMsgNO(String clientMsgNo) { public void deleteWithClientMsgNO(String clientMsgNo) {
WKMsg msg = MsgDbManager.getInstance().deleteMsgWithClientMsgNo(clientMsgNo); WKMsg msg = MsgDbManager.getInstance().deleteWithClientMsgNo(clientMsgNo);
if (msg != null) { if (msg != null) {
setDeleteMsg(msg); setDeleteMsg(msg);
WKConversationMsg conversationMsg = WKIM.getInstance().getConversationManager().getMsg(msg.channelID, msg.channelType); WKConversationMsg conversationMsg = WKIM.getInstance().getConversationManager().getWithChannel(msg.channelID, msg.channelType);
if (conversationMsg != null && conversationMsg.lastClientMsgNO.equals(clientMsgNo)) { if (conversationMsg != null && conversationMsg.lastClientMsgNO.equals(clientMsgNo)) {
WKMsg tempMsg = MsgDbManager.getInstance().getMsgMaxOrderSeqWithChannel(msg.channelID, msg.channelType); WKMsg tempMsg = MsgDbManager.getInstance().queryMaxOrderSeqMsgWithChannel(msg.channelID, msg.channelType);
if (tempMsg != null) { if (tempMsg != null) {
WKUIConversationMsg uiMsg = ConversationDbManager.getInstance().saveOrUpdateWithMsg(tempMsg, 0); WKUIConversationMsg uiMsg = ConversationDbManager.getInstance().insertOrUpdateWithMsg(tempMsg, 0);
WKIM.getInstance().getConversationManager().setOnRefreshMsg(uiMsg, true, "deleteWithClientMsgNO"); WKIM.getInstance().getConversationManager().setOnRefreshMsg(uiMsg, true, "deleteWithClientMsgNO");
} }
} }
@ -433,11 +433,11 @@ public class MsgManager extends BaseManager {
public boolean deleteWithMessageID(String messageID) { public boolean deleteWithMessageID(String messageID) {
return MsgDbManager.getInstance().deleteMsgWithMessageID(messageID); return MsgDbManager.getInstance().deleteWithMessageID(messageID);
} }
public WKMsg getWithMessageID(String messageID) { public WKMsg getWithMessageID(String messageID) {
return MsgDbManager.getInstance().getMsgWithMessageID(messageID, true); return MsgDbManager.getInstance().queryWithMessageID(messageID, true);
} }
public int isDeletedMsg(JSONObject jsonObject) { public int isDeletedMsg(JSONObject jsonObject) {
@ -465,7 +465,7 @@ public class MsgManager extends BaseManager {
public long getMessageOrderSeq(long messageSeq, String channelID, byte channelType) { public long getMessageOrderSeq(long messageSeq, String channelID, byte channelType) {
if (messageSeq == 0) { if (messageSeq == 0) {
long tempOrderSeq = MsgDbManager.getInstance().getMaxOrderSeq(channelID, channelType); long tempOrderSeq = MsgDbManager.getInstance().queryMaxOrderSeqWithChannel(channelID, channelType);
return tempOrderSeq + 1; return tempOrderSeq + 1;
} }
return messageSeq * wkOrderSeqFactor; return messageSeq * wkOrderSeqFactor;
@ -518,19 +518,19 @@ public class MsgManager extends BaseManager {
} }
public int getMaxMessageSeq() { public int getMaxMessageSeq() {
return MsgDbManager.getInstance().getMaxMessageSeq(); return MsgDbManager.getInstance().queryMaxMessageSeqWithChannel();
} }
public int getMaxMessageSeq(String channelID, byte channelType) { public int getMaxMessageSeqWithChannel(String channelID, byte channelType) {
return MsgDbManager.getInstance().getMaxMessageSeq(channelID, channelType); return MsgDbManager.getInstance().queryMaxMessageSeqWithChannel(channelID, channelType);
} }
public int getMaxMessageOrderSeq(String channelID, byte channelType) { public int getMaxOrderSeqWithChannel(String channelID, byte channelType) {
return MsgDbManager.getInstance().getMaxMessageOrderSeq(channelID, channelType); return MsgDbManager.getInstance().queryMaxMessageOrderSeqWithChannel(channelID, channelType);
} }
public int getMinMessageSeq(String channelID, byte channelType) { public int getMinMessageSeqWithChannel(String channelID, byte channelType) {
return MsgDbManager.getInstance().getMinMessageSeq(channelID, channelType); return MsgDbManager.getInstance().queryMinMessageSeqWithChannel(channelID, channelType);
} }
@ -556,7 +556,7 @@ public class MsgManager extends BaseManager {
public synchronized long getClientSeq() { public synchronized long getClientSeq() {
return MsgDbManager.getInstance().getMaxMessageSeq(); return MsgDbManager.getInstance().queryMaxMessageSeqWithChannel();
} }
/** /**
@ -575,7 +575,7 @@ public class MsgManager extends BaseManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
return MsgDbManager.getInstance().updateMsgWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.extra, jsonObject.toString(), true); return MsgDbManager.getInstance().updateFieldWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.extra, jsonObject.toString(), true);
} }
return false; return false;
@ -589,17 +589,17 @@ public class MsgManager extends BaseManager {
* @return List<WKMessageGroupByDate> * @return List<WKMessageGroupByDate>
*/ */
public List<WKMessageGroupByDate> getMessageGroupByDateWithChannel(String channelID, byte channelType) { public List<WKMessageGroupByDate> getMessageGroupByDateWithChannel(String channelID, byte channelType) {
return MsgDbManager.getInstance().getMessageGroupByDateWithChannel(channelID, channelType); return MsgDbManager.getInstance().queryMessageGroupByDateWithChannel(channelID, channelType);
} }
public void clearAll() { public void clearAll() {
MsgDbManager.getInstance().clearEmpty(); MsgDbManager.getInstance().clearEmpty();
} }
public void insertMsg(WKMsg msg) { public void saveMsg(WKMsg msg) {
int refreshType = 0; int refreshType = 0;
if (!TextUtils.isEmpty(msg.clientMsgNO)) { if (!TextUtils.isEmpty(msg.clientMsgNO)) {
WKMsg tempMsg = MsgDbManager.getInstance().getMsgWithClientMsgNo(msg.clientMsgNO); WKMsg tempMsg = MsgDbManager.getInstance().queryWithClientMsgNo(msg.clientMsgNO);
if (tempMsg != null) { if (tempMsg != null) {
refreshType = 1; refreshType = 1;
} }
@ -608,7 +608,7 @@ public class MsgManager extends BaseManager {
long tempOrderSeq = getMessageOrderSeq(0, msg.channelID, msg.channelType); long tempOrderSeq = getMessageOrderSeq(0, msg.channelID, msg.channelType);
msg.orderSeq = tempOrderSeq + 1; msg.orderSeq = tempOrderSeq + 1;
} }
msg.clientSeq = MsgDbManager.getInstance().insertMsg(msg); msg.clientSeq = MsgDbManager.getInstance().insert(msg);
if (refreshType == 0) if (refreshType == 0)
pushNewMsg(msg); pushNewMsg(msg);
else setRefreshMsg(msg, true); else setRefreshMsg(msg, true);
@ -620,10 +620,10 @@ public class MsgManager extends BaseManager {
* @param wkMsg 消息对象 * @param wkMsg 消息对象
* @param addRedDots 是否显示红点 * @param addRedDots 是否显示红点
*/ */
public void insertAndUpdateConversationMsg(WKMsg wkMsg, boolean addRedDots) { public void saveAndUpdateConversationMsg(WKMsg wkMsg, boolean addRedDots) {
int refreshType = 0; int refreshType = 0;
if (!TextUtils.isEmpty(wkMsg.clientMsgNO)) { if (!TextUtils.isEmpty(wkMsg.clientMsgNO)) {
WKMsg tempMsg = MsgDbManager.getInstance().getMsgWithClientMsgNo(wkMsg.clientMsgNO); WKMsg tempMsg = MsgDbManager.getInstance().queryWithClientMsgNo(wkMsg.clientMsgNO);
if (tempMsg != null) { if (tempMsg != null) {
refreshType = 1; refreshType = 1;
} }
@ -632,11 +632,11 @@ public class MsgManager extends BaseManager {
long tempOrderSeq = getMessageOrderSeq(0, wkMsg.channelID, wkMsg.channelType); long tempOrderSeq = getMessageOrderSeq(0, wkMsg.channelID, wkMsg.channelType);
wkMsg.orderSeq = tempOrderSeq + 1; wkMsg.orderSeq = tempOrderSeq + 1;
} }
wkMsg.clientSeq = MsgDbManager.getInstance().insertMsg(wkMsg); wkMsg.clientSeq = MsgDbManager.getInstance().insert(wkMsg);
if (refreshType == 0) if (refreshType == 0)
pushNewMsg(wkMsg); pushNewMsg(wkMsg);
else setRefreshMsg(wkMsg, true); else setRefreshMsg(wkMsg, true);
WKUIConversationMsg msg = ConversationDbManager.getInstance().saveOrUpdateWithMsg(wkMsg, addRedDots ? 1 : 0); WKUIConversationMsg msg = ConversationDbManager.getInstance().insertOrUpdateWithMsg(wkMsg, addRedDots ? 1 : 0);
WKIM.getInstance().getConversationManager().setOnRefreshMsg(msg, true, "insertAndUpdateConversationMsg"); WKIM.getInstance().getConversationManager().setOnRefreshMsg(msg, true, "insertAndUpdateConversationMsg");
} }
@ -651,23 +651,23 @@ public class MsgManager extends BaseManager {
* @return List<WKMsg> * @return List<WKMsg>
*/ */
public List<WKMsg> searchMsgWithChannelAndContentTypes(String channelID, byte channelType, long oldestOrderSeq, int limit, int[] contentTypes) { public List<WKMsg> searchMsgWithChannelAndContentTypes(String channelID, byte channelType, long oldestOrderSeq, int limit, int[] contentTypes) {
return MsgDbManager.getInstance().searchChatMsgWithChannelAndTypes(channelID, channelType, oldestOrderSeq, limit, contentTypes); return MsgDbManager.getInstance().searchWithChannelAndContentTypes(channelID, channelType, oldestOrderSeq, limit, contentTypes);
} }
/** /**
* 搜索某个频道到消息 * 搜索某个频道到消息
* *
* @param searchKey 关键字
* @param channelID 频道ID * @param channelID 频道ID
* @param channelType 频道类型 * @param channelType 频道类型
* @param searchKey 关键字
* @return List<WKMsg> * @return List<WKMsg>
*/ */
public List<WKMsg> searchWithChannel(String channelID, byte channelType, String searchKey) { public List<WKMsg> searchWithChannel(String searchKey, String channelID, byte channelType) {
return MsgDbManager.getInstance().searchMessageWithChannel(channelID, channelType, searchKey); return MsgDbManager.getInstance().searchWithChannel(searchKey, channelID, channelType);
} }
public List<WKMessageSearchResult> search(String searchKey) { public List<WKMessageSearchResult> search(String searchKey) {
return MsgDbManager.getInstance().searchMessage(searchKey); return MsgDbManager.getInstance().search(searchKey);
} }
/** /**
@ -677,7 +677,7 @@ public class MsgManager extends BaseManager {
* @param isReaded 1已读 * @param isReaded 1已读
*/ */
public boolean updateVoiceReadStatus(String clientMsgNo, int isReaded, boolean isRefreshUI) { public boolean updateVoiceReadStatus(String clientMsgNo, int isReaded, boolean isRefreshUI) {
return MsgDbManager.getInstance().updateMsgWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.voice_status, String.valueOf(isReaded), isRefreshUI); return MsgDbManager.getInstance().updateFieldWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.voice_status, String.valueOf(isReaded), isRefreshUI);
} }
/** /**
@ -686,8 +686,8 @@ public class MsgManager extends BaseManager {
* @param channelId 频道ID * @param channelId 频道ID
* @param channelType 频道类型 * @param channelType 频道类型
*/ */
public boolean clear(String channelId, byte channelType) { public boolean clearWithChannel(String channelId, byte channelType) {
boolean result = MsgDbManager.getInstance().deleteMsgWithChannel(channelId, channelType); boolean result = MsgDbManager.getInstance().deleteWithChannel(channelId, channelType);
if (result) { if (result) {
if (clearMsgMap != null && clearMsgMap.size() > 0) { if (clearMsgMap != null && clearMsgMap.size() > 0) {
runOnMainThread(() -> { runOnMainThread(() -> {
@ -701,8 +701,8 @@ public class MsgManager extends BaseManager {
return result; return result;
} }
public boolean clear(String channelId, byte channelType, String fromUID) { public boolean clearWithChannelAndFromUID(String channelId, byte channelType, String fromUID) {
boolean result = MsgDbManager.getInstance().deleteMsgWithChannel(channelId, channelType, fromUID); boolean result = MsgDbManager.getInstance().deleteWithChannelAndFromUID(channelId, channelType, fromUID);
if (result) { if (result) {
if (clearMsgMap != null && clearMsgMap.size() > 0) { if (clearMsgMap != null && clearMsgMap.size() > 0) {
runOnMainThread(() -> { runOnMainThread(() -> {
@ -716,18 +716,9 @@ public class MsgManager extends BaseManager {
return result; return result;
} }
/**
* 修改消息内容体
*
* @param clientMsgNo 客户端ID
* @param messageContent 消息module
*/
public boolean updateContent(String clientMsgNo, WKMessageContent messageContent) {
return MsgDbManager.getInstance().updateMsgWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.content, messageContent.encodeMsg().toString(), true);
}
public boolean updateContent(String clientMsgNo, WKMessageContent messageContent, boolean isRefreshUI) { public boolean updateContentAndRefresh(String clientMsgNo, WKMessageContent messageContent, boolean isRefreshUI) {
return MsgDbManager.getInstance().updateMsgWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.content, messageContent.encodeMsg().toString(), isRefreshUI); return MsgDbManager.getInstance().updateFieldWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.content, messageContent.encodeMsg().toString(), isRefreshUI);
} }
public void updateViewedAt(int viewed, long viewedAt, String clientMsgNo) { public void updateViewedAt(int viewed, long viewedAt, String clientMsgNo) {
@ -742,14 +733,14 @@ public class MsgManager extends BaseManager {
* @param limit 数量 * @param limit 数量
* @return list * @return list
*/ */
public List<WKMsg> getMessagesWithType(int type, long oldestClientSeq, int limit) { public List<WKMsg> getWithContentType(int type, long oldestClientSeq, int limit) {
return MsgDbManager.getInstance().getMessagesWithType(type, oldestClientSeq, limit); return MsgDbManager.getInstance().queryWithContentType(type, oldestClientSeq, limit);
} }
public void insertAndUpdateConversationMsg(WKMsg msg) { public void saveAndUpdateConversationMsg(WKMsg msg) {
int refreshType = 0; int refreshType = 0;
if (!TextUtils.isEmpty(msg.clientMsgNO)) { if (!TextUtils.isEmpty(msg.clientMsgNO)) {
WKMsg tempMsg = MsgDbManager.getInstance().getMsgWithClientMsgNo(msg.clientMsgNO); WKMsg tempMsg = MsgDbManager.getInstance().queryWithClientMsgNo(msg.clientMsgNO);
if (tempMsg != null) { if (tempMsg != null) {
refreshType = 1; refreshType = 1;
} }
@ -758,20 +749,20 @@ public class MsgManager extends BaseManager {
long tempOrderSeq = getMessageOrderSeq(0, msg.channelID, msg.channelType); long tempOrderSeq = getMessageOrderSeq(0, msg.channelID, msg.channelType);
msg.orderSeq = tempOrderSeq + 1; msg.orderSeq = tempOrderSeq + 1;
} }
MsgDbManager.getInstance().insertMsg(msg); MsgDbManager.getInstance().insert(msg);
if (refreshType == 0) if (refreshType == 0)
pushNewMsg(msg); pushNewMsg(msg);
else setRefreshMsg(msg, true); else setRefreshMsg(msg, true);
ConversationDbManager.getInstance().saveOrUpdateWithMsg(msg, 0); ConversationDbManager.getInstance().insertOrUpdateWithMsg(msg, 0);
} }
public long getMsgMaxExtraVersionWithChannel(String channelID, byte channelType) { public long getMsgExtraMaxVersionWithChannel(String channelID, byte channelType) {
return MsgDbManager.getInstance().getMsgMaxExtraVersionWithChannel(channelID, channelType); return MsgDbManager.getInstance().queryMsgExtraMaxVersionWithChannel(channelID, channelType);
} }
public WKMsg getWithClientMsgNO(String clientMsgNo) { public WKMsg getWithClientMsgNO(String clientMsgNo) {
return MsgDbManager.getInstance().getMsgWithClientMsgNo(clientMsgNo); return MsgDbManager.getInstance().queryWithClientMsgNo(clientMsgNo);
} }
@ -787,7 +778,7 @@ public class MsgManager extends BaseManager {
extraList.add(extra); extraList.add(extra);
messageIds.add(list.get(i).message_id); messageIds.add(list.get(i).message_id);
} }
List<WKMsg> updatedMsgList = MsgDbManager.getInstance().saveOrUpdateMsgExtras(extraList); List<WKMsg> updatedMsgList = MsgDbManager.getInstance().insertOrUpdateMsgExtras(extraList);
getMsgReactionsAndRefreshMsg(messageIds, updatedMsgList); getMsgReactionsAndRefreshMsg(messageIds, updatedMsgList);
} }
@ -826,7 +817,7 @@ public class MsgManager extends BaseManager {
void saveMsgReactions(List<WKMsgReaction> list) { void saveMsgReactions(List<WKMsgReaction> list) {
MsgDbManager.getInstance().saveMsgReaction(list); MsgDbManager.getInstance().insertMsgReactions(list);
} }
@ -907,10 +898,10 @@ public class MsgManager extends BaseManager {
} }
} }
if (msgExtraList.size() > 0) { if (msgExtraList.size() > 0) {
MsgDbManager.getInstance().saveOrUpdateMsgExtras(msgExtraList); MsgDbManager.getInstance().insertOrUpdateMsgExtras(msgExtraList);
} }
if (msgList.size() > 0) { if (msgList.size() > 0) {
MsgDbManager.getInstance().insertMsgList(msgList); MsgDbManager.getInstance().insertMsgs(msgList);
} }
} }
@ -1136,7 +1127,7 @@ public class MsgManager extends BaseManager {
wkMsgExtra.needUpload = 1; wkMsgExtra.needUpload = 1;
List<WKMsgExtra> list = new ArrayList<>(); List<WKMsgExtra> list = new ArrayList<>();
list.add(wkMsgExtra); list.add(wkMsgExtra);
List<WKMsg> wkMsgs = MsgDbManager.getInstance().saveOrUpdateMsgExtras(list); List<WKMsg> wkMsgs = MsgDbManager.getInstance().insertOrUpdateMsgExtras(list);
List<String> messageIds = new ArrayList<>(); List<String> messageIds = new ArrayList<>();
messageIds.add(msgID); messageIds.add(msgID);
if (wkMsgs != null && wkMsgs.size() > 0) { if (wkMsgs != null && wkMsgs.size() > 0) {

View File

@ -2,6 +2,7 @@ package com.xinbida.wukongim.manager;
import android.text.TextUtils; import android.text.TextUtils;
import com.xinbida.wukongim.WKIM;
import com.xinbida.wukongim.db.ReminderDBManager; import com.xinbida.wukongim.db.ReminderDBManager;
import com.xinbida.wukongim.entity.WKReminder; import com.xinbida.wukongim.entity.WKReminder;
import com.xinbida.wukongim.interfaces.INewReminderListener; import com.xinbida.wukongim.interfaces.INewReminderListener;
@ -76,22 +77,22 @@ public class ReminderManager extends BaseManager {
* @return List<WKReminder> * @return List<WKReminder>
*/ */
public List<WKReminder> getReminders(String channelID, byte channelType) { public List<WKReminder> getReminders(String channelID, byte channelType) {
return ReminderDBManager.getInstance().queryWithChannel(channelID, channelType, 0); return ReminderDBManager.getInstance().queryWithChannelAndDone(channelID, channelType, 0);
} }
public List<WKReminder> getRemindersWithType(String channelID, byte channelType, int type) { public List<WKReminder> getRemindersWithType(String channelID, byte channelType, int type) {
return ReminderDBManager.getInstance().queryWithChannelAndType(channelID, channelType, 0, type); return ReminderDBManager.getInstance().queryWithChannelAndTypeAndDone(channelID, channelType, type,0);
} }
public void saveOrUpdateReminders(List<WKReminder> reminderList) { public void saveOrUpdateReminders(List<WKReminder> reminderList) {
List<WKReminder> wkReminders = ReminderDBManager.getInstance().saveReminders(reminderList); List<WKReminder> wkReminders = ReminderDBManager.getInstance().insertOrUpdateReminders(reminderList);
if (wkReminders != null && wkReminders.size() > 0) { if (wkReminders != null && wkReminders.size() > 0) {
setNewReminders(reminderList); setNewReminders(reminderList);
} }
} }
public long getMaxVersion() { public long getMaxVersion() {
return ReminderDBManager.getInstance().getMaxVersion(); return ReminderDBManager.getInstance().queryMaxVersion();
} }
} }

View File

@ -48,13 +48,13 @@ public class RobotManager extends BaseManager {
public void saveOrUpdateRobots(List<WKRobot> list) { public void saveOrUpdateRobots(List<WKRobot> list) {
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
RobotDBManager.getInstance().insertOrUpdate(list); RobotDBManager.getInstance().insertOrUpdateRobots(list);
} }
} }
public void saveOrUpdateRobotMenus(List<WKRobotMenu> list) { public void saveOrUpdateRobotMenus(List<WKRobotMenu> list) {
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
RobotDBManager.getInstance().insertOrUpdateMenu(list); RobotDBManager.getInstance().insertOrUpdateMenus(list);
} }
setRefreshRobotMenu(); setRefreshRobotMenu();
} }

View File

@ -465,13 +465,13 @@ public class ConnectionHandler {
} }
if (hasAttached) { if (hasAttached) {
msg.content = msg.baseContentMsgModel.encodeMsg().toString(); msg.content = msg.baseContentMsgModel.encodeMsg().toString();
MsgDbManager.getInstance().insertMsg(msg); MsgDbManager.getInstance().insert(msg);
} }
} }
//获取发送者信息 //获取发送者信息
WKChannel from = WKIM.getInstance().getChannelManager().getChannel(WKIMApplication.getInstance().getUid(), WKChannelType.PERSONAL); WKChannel from = WKIM.getInstance().getChannelManager().getChannel(WKIMApplication.getInstance().getUid(), WKChannelType.PERSONAL);
if (from == null) { if (from == null) {
WKIM.getInstance().getChannelManager().getChannel(WKIMApplication.getInstance().getUid(), WKChannelType.PERSONAL, channel -> WKIM.getInstance().getChannelManager().addOrUpdateChannel(channel)); WKIM.getInstance().getChannelManager().getChannel(WKIMApplication.getInstance().getUid(), WKChannelType.PERSONAL, channel -> WKIM.getInstance().getChannelManager().saveOrUpdateChannel(channel));
} else { } else {
msg.setFrom(from); msg.setFrom(from);
} }

View File

@ -41,7 +41,6 @@ import java.io.UnsupportedEncodingException;
import java.math.BigInteger; import java.math.BigInteger;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.util.HashMap;
/** /**
* 5/21/21 11:28 AM * 5/21/21 11:28 AM
@ -542,16 +541,16 @@ class MessageConvertHandler {
if (msg.setting == null) msg.setting = new WKMsgSetting(); if (msg.setting == null) msg.setting = new WKMsgSetting();
sendMsg.setting = msg.setting; sendMsg.setting = msg.setting;
msg.content = jsonObject.toString(); msg.content = jsonObject.toString();
long tempOrderSeq = MsgDbManager.getInstance().getMaxOrderSeq(msg.channelID, msg.channelType); long tempOrderSeq = MsgDbManager.getInstance().queryMaxOrderSeqWithChannel(msg.channelID, msg.channelType);
msg.orderSeq = tempOrderSeq + 1; msg.orderSeq = tempOrderSeq + 1;
// 需要存储的消息入库后更改消息的clientSeq // 需要存储的消息入库后更改消息的clientSeq
if (!sendMsg.no_persist) { if (!sendMsg.no_persist) {
sendMsg.clientSeq = (int) (msg.clientSeq = (int) MsgDbManager.getInstance().insertMsg(msg)); sendMsg.clientSeq = (int) (msg.clientSeq = (int) MsgDbManager.getInstance().insert(msg));
if (msg.clientSeq > 0) { if (msg.clientSeq > 0) {
// TODO: 2022/4/27 // TODO: 2022/4/27
WKUIConversationMsg uiMsg = WKIM.getInstance().getConversationManager().updateWithWKMsg(msg); WKUIConversationMsg uiMsg = WKIM.getInstance().getConversationManager().updateWithWKMsg(msg);
if (uiMsg != null) { if (uiMsg != null) {
long browseTo = WKIM.getInstance().getMsgManager().getMaxMessageSeq(uiMsg.channelID, uiMsg.channelType); long browseTo = WKIM.getInstance().getMsgManager().getMaxMessageSeqWithChannel(uiMsg.channelID, uiMsg.channelType);
if (uiMsg.getRemoteMsgExtra() == null) { if (uiMsg.getRemoteMsgExtra() == null) {
uiMsg.setRemoteMsgExtra(new WKConversationMsgExtra()); uiMsg.setRemoteMsgExtra(new WKConversationMsgExtra());
} }

View File

@ -316,7 +316,7 @@ public class MessageHandler {
} }
allList.add(mMsg.wkMsg); allList.add(mMsg.wkMsg);
} }
MsgDbManager.getInstance().insertMsgList(saveMsgList); MsgDbManager.getInstance().insertMsgs(saveMsgList);
//将消息push给UI //将消息push给UI
WKIM.getInstance().getMsgManager().pushNewMsg(allList); WKIM.getInstance().getMsgManager().pushNewMsg(allList);
groupMsg(list); groupMsg(list);
@ -377,7 +377,7 @@ public class MessageHandler {
} }
if (isSave) { if (isSave) {
//如果存在艾特情况直接将消息存储 //如果存在艾特情况直接将消息存储
WKUIConversationMsg conversationMsg = ConversationDbManager.getInstance().saveOrUpdateWithMsg(lastMsg, 1); WKUIConversationMsg conversationMsg = ConversationDbManager.getInstance().insertOrUpdateWithMsg(lastMsg, 1);
WKIM.getInstance().getConversationManager().setOnRefreshMsg(conversationMsg, true, "cutData"); WKIM.getInstance().getConversationManager().setOnRefreshMsg(conversationMsg, true, "cutData");
continue; continue;
} }
@ -398,7 +398,7 @@ public class MessageHandler {
List<WKUIConversationMsg> refreshList = new ArrayList<>(); List<WKUIConversationMsg> refreshList = new ArrayList<>();
// TODO: 4/27/21 这里未开事物是因为消息太多太快事物来不及关闭 // TODO: 4/27/21 这里未开事物是因为消息太多太快事物来不及关闭
for (Map.Entry<String, SavedMsg> entry : savedList.entrySet()) { for (Map.Entry<String, SavedMsg> entry : savedList.entrySet()) {
WKUIConversationMsg conversationMsg = ConversationDbManager.getInstance().saveOrUpdateWithMsg(entry.getValue().wkMsg, entry.getValue().redDot); WKUIConversationMsg conversationMsg = ConversationDbManager.getInstance().insertOrUpdateWithMsg(entry.getValue().wkMsg, entry.getValue().redDot);
if (conversationMsg != null) { if (conversationMsg != null) {
refreshList.add(conversationMsg); refreshList.add(conversationMsg);
} }