diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/database/Database.java | 29 | ||||
-rw-r--r-- | src/main/java/pokemon/IService.java | 1 | ||||
-rw-r--r-- | src/main/java/pokemon/Server.java | 2 | ||||
-rw-r--r-- | src/main/java/pokemon/Service.java | 6 |
4 files changed, 37 insertions, 1 deletions
diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java index 80d195c..f6e18b3 100644 --- a/src/main/java/database/Database.java +++ b/src/main/java/database/Database.java @@ -1,19 +1,23 @@ package database; import java.sql.Connection; +import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; +import java.util.Calendar; import java.util.LinkedList; import java.util.List; import models.Ability; import models.AbilityType; +import models.GameStatus; import models.Monster; import models.MonsterViewModel; import models.User; +import pokemon.Game; public class Database { private Connection conn; @@ -327,5 +331,30 @@ public class Database { return user; } + public int addHistory(Game game) throws Exception{ + Date date=new Date(Calendar.getInstance().getTimeInMillis()); + String sql="INSERT INTO history(player,pokemon,time,result) values(?,?,?,?),(?,?,?,?)"; + PreparedStatement ps=conn.prepareStatement(sql); + if(game.getStatus()==GameStatus.PLAYER1WIN) { + ps.setLong(1, game.player1Id); + ps.setLong(2, game.monster1.id); + ps.setDate(3, date); + ps.setInt(4, 1); + ps.setLong(5, game.player2Id); + ps.setLong(6, game.monster2.id); + ps.setDate(7, date); + ps.setInt(8, 0); + }else if(game.getStatus()==GameStatus.PLAYER2WIN) { + ps.setLong(1, game.player1Id); + ps.setLong(2, game.monster1.id); + ps.setDate(3, date); + ps.setInt(4, 0); + ps.setLong(5, game.player2Id); + ps.setLong(6, game.monster2.id); + ps.setDate(7, date); + ps.setInt(8, 1); + } + return ps.executeUpdate(); + } } diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java index 81b4019..de4b6e5 100644 --- a/src/main/java/pokemon/IService.java +++ b/src/main/java/pokemon/IService.java @@ -24,5 +24,6 @@ public interface IService extends Remote { public boolean addPokemonWithAbilities(PokemonAddModel pokemon)throws RemoteException; public void deleteMonster(long id)throws RemoteException; public User getUserById(long id) throws RemoteException; + public int addHistory(Game game) throws Exception; } diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java index e08d7bc..77b7fad 100644 --- a/src/main/java/pokemon/Server.java +++ b/src/main/java/pokemon/Server.java @@ -327,7 +327,7 @@ public class Server implements Runnable { games.remove(game); System.out.println("GAME FINISHED"+games.size()); sendAvailablePlayers(); - //add game to database + s.addHistory(game); } } diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java index 77a398b..f9f76de 100644 --- a/src/main/java/pokemon/Service.java +++ b/src/main/java/pokemon/Service.java @@ -112,6 +112,12 @@ public class Service extends UnicastRemoteObject implements IService { Database db=Database.getInstance(); return db.getUserById(id); } + + @Override + public int addHistory(Game game) throws Exception { + Database db=Database.getInstance(); + return db.addHistory(game); + } } |