save the player in the database again when the player leaves the server

master
Alex 2022-04-05 20:50:57 +02:00
parent 93e2020621
commit 93f1179b38
1 changed files with 9 additions and 14 deletions

View File

@ -5,6 +5,7 @@ import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.model.Updates;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import net.krakatoa.proxy.ProxySystem;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
@ -27,29 +28,18 @@ public class PlayerDisconnectListener implements Listener {
.getRedissonClient()
.getMap("player:" + uuid);
if (!map.isEmpty()) {
map.delete();
}
// TODO: save redis player to mongodb
// mongo
ProxySystem.getInstance().getMongoManager().getPlayers()
.find(Filters.eq("uuid", uuid))
.first((document, throwable) -> {
if (document != null) {
/*List<Bson> updatesList = new ArrayList<>();
List<Bson> updatesList = new ArrayList<>();
map.forEach((key, value) -> {
if (!Objects.equals(key, "_id") && !Objects.equals(key, "uuid")) {
updatesList.add(Updates.set(key, value));
}
}); */
List<Bson> updatesList = new ArrayList<>();
updatesList.add(Updates.set("voiceSessionToken",
"et7jHeWNxeoJ4vq1E-AEpJol9cwAQ9mttJb86lgBzgGZLxLtXpOyNNDBLX-jiQtP"));
updatesList.add(Updates.set("voiceWebCode", "arxvdpfJ"));
});
Bson updates = Updates.combine(updatesList);
@ -71,6 +61,11 @@ public class PlayerDisconnectListener implements Listener {
}
});
// redis
if (!map.isEmpty()) {
map.delete();
}