用户消息表中的target优化

This commit is contained in:
heavyrian2012
2023-02-28 21:01:20 +08:00
parent 290a3cea0e
commit ad33abc424
2 changed files with 11 additions and 3 deletions
@@ -915,7 +915,7 @@ public class DatabaseStore {
return false;
}
void persistUserMessage(final String userId, final long messageId, final long messageSeq, int type, String target, int line, boolean directing, final int messageContentType) {
void persistUserMessage(final String userId, final String sender, final long messageId, final long messageSeq, int type, String target, int line, boolean directing, final int messageContentType) {
mScheduler.execute(()->{
Connection connection = null;
PreparedStatement statement = null;
@@ -930,7 +930,7 @@ public class DatabaseStore {
statement.setString(index++, userId);
statement.setLong(index++, messageSeq);
statement.setInt(index++, type);
statement.setString(index++, target);
statement.setString(index++, getPrivateChatUserMessageTarget(type, target, sender));
statement.setInt(index++, line);
statement.setInt(index++, directing ? 1 :0);
statement.setInt(index++, messageContentType);
@@ -946,6 +946,14 @@ public class DatabaseStore {
});
}
String getPrivateChatUserMessageTarget(int conversationType, String target, String userId) {
if(conversationType == ProtoConstants.ConversationType.ConversationType_Private) {
return target.compareTo(userId) > 0 ? (userId + "|" + target) : (target + "|" + userId);
} else {
return target;
}
}
void clearUserMessage(final String userId) {
mScheduler.execute(()->{
String tableName = getUserMessageTable(userId);
@@ -1012,7 +1012,7 @@ public class MemoryMessagesStore implements IMessagesStore {
mWriteLock.unlock();
}
databaseStore.persistUserMessage(user, messageId, messageSeq, conversationType, target, line, directing, messageContentType);
databaseStore.persistUserMessage(user, sender, messageId, messageSeq, conversationType, target, line, directing, messageContentType);
return messageSeq;
}