Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
2c9242e45c | |||
8e44e37804 | |||
3e8003ab50 |
@ -49,6 +49,38 @@ public class DBConnection {
|
||||
return PostgresHelper.executeUpdate("Update user_cards set gesperrt = " + lock + " where name = \'" + name + "\';");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prüft ob eine Card für das Deck gesperrt ist
|
||||
* @param name Name der Card die zu prüfen ist
|
||||
* @return True falls gesperrt, ansonst false
|
||||
* @throws SQLException Locked Cards konnten nicht aus der DB geholt werden
|
||||
*/
|
||||
public boolean getCardLock(String name) throws SQLException {
|
||||
this.c = PostgresHelper.con();
|
||||
ArrayList<TradingDeal> tradingDeals = new ArrayList<TradingDeal>();
|
||||
boolean locked = false;
|
||||
stmt = this.c.createStatement();
|
||||
ResultSet rs = stmt.executeQuery("select gesperrt from user_cards where name = \'" + name + "\';");
|
||||
while (rs.next()) {
|
||||
locked = rs.getBoolean("gesperrt");
|
||||
}
|
||||
rs.close();
|
||||
stmt.close();
|
||||
this.c.close();
|
||||
System.out.println("Trading Deals pulled successfully");
|
||||
return locked;
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen Trading Deal aus der Datenbank
|
||||
* @param id Id des deals der gelöscht werden soll
|
||||
* @return True bei erfolg, sonst false
|
||||
*/
|
||||
public boolean deleteTradingDeal(String id){
|
||||
return PostgresHelper.executeUpdate("delete from trading where id = \'" + id + "\';");
|
||||
}
|
||||
|
||||
/**
|
||||
* Fügt der DB einen Trading deal hinzu
|
||||
* @param username User der den Trade hinzufügt
|
||||
@ -120,6 +152,16 @@ public class DBConnection {
|
||||
* @return True bei erfolg, sonst false
|
||||
*/
|
||||
public boolean setDeck(String username, List<String> deck){
|
||||
for (String st :deck) {
|
||||
try {
|
||||
if(getCardLock(st)){
|
||||
return false;
|
||||
}
|
||||
} catch (SQLException throwables) {
|
||||
throwables.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!delDeck(username)){
|
||||
return false;
|
||||
}
|
||||
|
@ -286,17 +286,13 @@ public class Response {
|
||||
if (tradingDeal != null) {
|
||||
String tradingJson = JsonHelper.objToJson(tradingDeal);
|
||||
if (tradingDeal != null) {
|
||||
//DB Trading deal add
|
||||
// Lock Card for deck
|
||||
//Wenn card im deck, dann del aus deck
|
||||
//new DBConnection().;
|
||||
ArrayList<String> deckCards = new DBConnection().getDeck(username);
|
||||
if (deckCards != null) {
|
||||
if (deckCards.contains(cardtotrade)) {
|
||||
new DBConnection().delDeck(username);
|
||||
}
|
||||
if(new DBConnection().addTradingdeal(tradingDeal.getUsername(), tradingDeal.getId(), tradingDeal.getRequiredMinDamage(), tradingDeal.getRequiredCardType().name(), tradingDeal.getRequiredElementType().name(), tradingDeal.getCardToTrade().getName())){
|
||||
if(new DBConnection().updateCardLock(tradingDeal.getUsername(), true)){
|
||||
if(new DBConnection().updateCardLock(tradingDeal.getCardToTrade().getName(), true)){
|
||||
sendResponse(JsonHelper.objToJson(tradingDeal), "201");
|
||||
}else{
|
||||
sendError("500");
|
||||
@ -409,7 +405,28 @@ public class Response {
|
||||
* @throws JsonProcessingException Fehler beim de-/serialisieren
|
||||
*/
|
||||
private void deleteMethodes(){
|
||||
if (this.url.startsWith("/messages")) {
|
||||
if (this.url.startsWith("/tradings")) {
|
||||
String tradeid = this.url.substring(this.url.lastIndexOf('/') + 1);
|
||||
System.out.println("Format in /tradings/{tradingid}: " + tradeid);
|
||||
ArrayList<TradingDeal> allTradingDeals = new DBConnection().getAllTradingDeals();
|
||||
TradingDeal tr = null;
|
||||
if (allTradingDeals != null && !allTradingDeals.isEmpty()) {
|
||||
for (TradingDeal i : allTradingDeals) {
|
||||
if (i.getId().equals(tradeid)) {
|
||||
tr = i;
|
||||
}
|
||||
}
|
||||
if (tr != null) {
|
||||
if (new DBConnection().deleteTradingDeal(tradeid)) {
|
||||
if (new DBConnection().updateCardLock(tr.getCardToTrade().getName(), false))
|
||||
sendResponse("", "204");
|
||||
} else {
|
||||
sendError("500");
|
||||
}
|
||||
}else{
|
||||
sendError("500");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user