forked from IF-LK-2020/wordle
push & pullStats und checkLogin
This commit is contained in:
parent
2c14b051df
commit
d3a55e5278
40
Query.java
40
Query.java
|
@ -5,9 +5,17 @@ public class Query {
|
|||
db = new DatabaseConnector("", 0, "wordle.db", "", "");
|
||||
}
|
||||
|
||||
|
||||
//TODO:
|
||||
public Game pullRunngingGame(){
|
||||
return null;
|
||||
}
|
||||
//TODO:
|
||||
public void pushRunningGame(){}
|
||||
|
||||
/**
|
||||
* Speichert die Daten des Users aus der Datenbank auf dem User-Objekt
|
||||
*
|
||||
*
|
||||
* @param user
|
||||
*/
|
||||
public void pullStats(User user) {
|
||||
|
@ -38,7 +46,7 @@ public class Query {
|
|||
* @param user
|
||||
*/
|
||||
public void pushStats(User user) {
|
||||
// TODO: Methode korrigieren (Update ist nicht auf den User beschränkt) und neue Tabelle lastGuesses berücksichtigen
|
||||
// TODO: Testen und vllt korrigieren
|
||||
db.executeStatement("UPDATE INTO Stats (current_streak," + " max_streak, " + "wins, " + "times_played, "
|
||||
+ "won_on_1, " + "won_on_2, " + "won_on_3, " + "won_on_4, " + "won_on_5, " + "won_on_6, "
|
||||
+ "last_day_WOTD_finished) " + "VALUES (" + Integer.toString(user.getCurrentStreak())
|
||||
|
@ -46,24 +54,34 @@ public class Query {
|
|||
+ Integer.toString(user.getTimesPlayed()) + Integer.toString(user.getWonInTurnIndex(0))
|
||||
+ Integer.toString(user.getWonInTurnIndex(1)) + Integer.toString(user.getWonInTurnIndex(2))
|
||||
+ Integer.toString(user.getWonInTurnIndex(3)) + Integer.toString(user.getWonInTurnIndex(4))
|
||||
+ Integer.toString(user.getWonInTurnIndex(5)) + Integer.toString(user.getLastDayWOTDPlayed()) + ")");
|
||||
+ Integer.toString(user.getWonInTurnIndex(5)) + Integer.toString(user.getLastDayWOTDPlayed()) + ")" +
|
||||
"WHERE user_username LIKE \"" + user.getUsername()+"\"");
|
||||
}
|
||||
|
||||
/**
|
||||
* Überprüft ob es den Username und das Passwort in der Datenbank gibt und gibt
|
||||
* den Erfolg als Boolean zurück
|
||||
* <EFBFBD>berpr<EFBFBD>ft ob es den Username und das Passwort in der Datenbank gibt und gibt
|
||||
* den Erfolg als Boolean zur<EFBFBD>ck
|
||||
*
|
||||
* @param username
|
||||
* @param password
|
||||
* @return Ein Boolean
|
||||
* @return Boolean true = login erfolgreich false = login fehlgeschlagen
|
||||
*/
|
||||
public boolean checkLogin(String username, String password) {
|
||||
// TODO: Methode fertigstellen
|
||||
return true;
|
||||
// TODO: testen und vllt korrigieren
|
||||
db.executeStatement("SELECT username, passwort FROM user " +
|
||||
"WHERE username LIKE \""+username+"\" " +
|
||||
"AND passwort LIKE \""+password+"\"");
|
||||
QueryResult r = db.getCurrentQueryResult();
|
||||
System.out.println(r.getRowCount());
|
||||
if(r.getRowCount()== 1){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt ein Zufälliges Wort aus der Datenbank zurück
|
||||
* Gibt ein Zuf<EFBFBD>lliges Wort aus der Datenbank zur<EFBFBD>ck
|
||||
*
|
||||
* @return Ein Word als String
|
||||
*/
|
||||
|
@ -73,7 +91,7 @@ public class Query {
|
|||
}
|
||||
|
||||
/**
|
||||
* Gibt das Wordle des Tages, welches aus der Datenbank stammt, zurück. Ergibt
|
||||
* Gibt das Wordle des Tages, welches aus der Datenbank stammt, zur<EFBFBD>ck. Ergibt
|
||||
* pro Tag immer das gleiche Wordle.
|
||||
*
|
||||
* @return Das Wort als String
|
||||
|
@ -84,7 +102,7 @@ public class Query {
|
|||
}
|
||||
|
||||
/**
|
||||
* Prüft ob das Wort in der Datenbank vorhanden ist
|
||||
* Pr<EFBFBD>ft ob das Wort in der Datenbank vorhanden ist
|
||||
*
|
||||
* @param word ,ein String mit dem Wort
|
||||
* @return Boolean
|
||||
|
|
|
@ -65,11 +65,11 @@ public class WordleServer extends Server {
|
|||
case 1:
|
||||
// Anmeldephase
|
||||
if (m.equalsIgnoreCase("USER")) {
|
||||
m = pMessage.substring(5, pMessage.length() - 1);
|
||||
m = pMessage.substring(5, pMessage.length());
|
||||
u.setUsername(m);
|
||||
send(pClientIP, pClientPort, "+OK");
|
||||
} else if (m.equalsIgnoreCase("PASS")) {
|
||||
m = pMessage.substring(5, pMessage.length() - 1);
|
||||
m = pMessage.substring(5, pMessage.length());
|
||||
u.setPassword(m);
|
||||
if (u.getPassword() != null && u.getUsername() != null) {
|
||||
if (query.checkLogin(u.getUsername(), u.getPassword())) {
|
||||
|
|
Loading…
Reference in New Issue