private void updateMembersCache(
            Set<GroupMember.Key> keys,
            @Nullable String name,
            @Nullable GroupMemberRole role,
            @Nullable Date joinDate,
            @Nullable Date muteEndDate) {
        if (!isMemberCacheEnabled) {
            return;
        }
        for (GroupMember.Key key : keys) {
            Map<GroupMember.Key, GroupMember> keyAndMember =
                    groupIdToMembersCache.getIfPresent(key.getGroupId());
            if (keyAndMember == null) {
                continue;
            }
            GroupMember member = keyAndMember.get(key);
            if (member == null) {
                continue;
            }
            if (name != null) {
                member.setName(name);
            }
            if (role != null) {
                member.setRole(role);
            }
            if (joinDate != null) {
                member.setJoinDate(joinDate);
            }
            if (muteEndDate != null) {
                member.setMuteEndDate(muteEndDate);
            }
        }
    }
@return Possible codes: {@link ResponseStatusCode#OK}
        {@link ResponseStatusCode#SEND_MESSAGE_TO_MUTED_GROUP}
        {@link ResponseStatusCode#SEND_MESSAGE_TO_INACTIVE_GROUP}
        {@link ResponseStatusCode#MUTED_GROUP_MEMBER_SEND_MESSAGE}
turms-service/src/main/java/im/turms/service/domain/group/service/GroupMemberService.java