当群成员被删除后再次加入到群组中,createTime应该会最后一次加入群组的时间
This commit is contained in:
@@ -1702,7 +1702,7 @@ public class DatabaseStore {
|
||||
}
|
||||
}
|
||||
|
||||
void persistGroupMember(final String groupId, final List<WFCMessage.GroupMember> memberList) {
|
||||
void persistGroupMember(final String groupId, final List<WFCMessage.GroupMember> memberList, boolean updateCreateTime) {
|
||||
Connection connection = null;
|
||||
PreparedStatement statement = null;
|
||||
try {
|
||||
@@ -1718,6 +1718,9 @@ public class DatabaseStore {
|
||||
"`_alias` = ?," +
|
||||
"`_type` = ?," +
|
||||
"`_dt` = ?";
|
||||
if(updateCreateTime) {
|
||||
sql += ", `_create_dt` = ?";
|
||||
}
|
||||
|
||||
statement = connection.prepareStatement(sql);
|
||||
|
||||
@@ -1738,6 +1741,9 @@ public class DatabaseStore {
|
||||
statement.setString(index++, member.getAlias());
|
||||
statement.setInt(index++, member.getType());
|
||||
statement.setLong(index++, dt);
|
||||
if(updateCreateTime) {
|
||||
statement.setLong(index++, dt);
|
||||
}
|
||||
int count = statement.executeUpdate();
|
||||
LOG.info("Update rows {}", count);
|
||||
}
|
||||
|
||||
@@ -972,7 +972,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
.build();
|
||||
|
||||
mIMap.set(groupId, groupInfo);
|
||||
databaseStore.persistGroupMember(groupId, updatedMemberList);
|
||||
databaseStore.persistGroupMember(groupId, updatedMemberList, false);
|
||||
|
||||
callbackGroupEvent(fromUser, groupInfo.getTargetId(), ProtoConstants.GroupUpdateEventType.Group_Event_Create);
|
||||
return groupInfo;
|
||||
@@ -1191,7 +1191,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
}
|
||||
}
|
||||
|
||||
databaseStore.persistGroupMember(groupId, memberList);
|
||||
databaseStore.persistGroupMember(groupId, memberList, true);
|
||||
databaseStore.updateGroupMemberCountDt(groupId);
|
||||
|
||||
groupMembers.remove(groupId);
|
||||
@@ -1516,7 +1516,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
if (member.getMemberId().equals(memberId)) {
|
||||
groupMembers.remove(groupId, member);
|
||||
member = member.toBuilder().setAlias(alias).setUpdateDt(updateDt).build();
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member));
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member), false);
|
||||
databaseStore.updateGroupMemberDt(groupId, updateDt);
|
||||
groupMembers.put(groupId, member);
|
||||
|
||||
@@ -1673,13 +1673,13 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
if (newOwner.equals(member.getMemberId())) {
|
||||
groupMembers.remove(groupId, member);
|
||||
member = member.toBuilder().setType(GroupMemberType_Owner).setUpdateDt(updateDt).build();
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member));
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member), false);
|
||||
groupMembers.put(groupId, member);
|
||||
modifyMemeberCount++;
|
||||
} else if(member.getType() == GroupMemberType_Owner) {
|
||||
groupMembers.remove(groupId, member);
|
||||
member = member.toBuilder().setType(GroupMemberType_Normal).setUpdateDt(updateDt).build();
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member));
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member), false);
|
||||
groupMembers.put(groupId, member);
|
||||
modifyMemeberCount++;
|
||||
}
|
||||
@@ -1717,7 +1717,7 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
if (userList.contains(member.getMemberId())) {
|
||||
groupMembers.remove(groupId, member);
|
||||
member = member.toBuilder().setType(type == 0 ? ProtoConstants.GroupMemberType.GroupMemberType_Normal : ProtoConstants.GroupMemberType.GroupMemberType_Manager).setUpdateDt(updateDt).build();
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member));
|
||||
databaseStore.persistGroupMember(groupId, Arrays.asList(member), false);
|
||||
groupMembers.put(groupId, member);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user