craftim_74

Untitled

Nov 7th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.67 KB | None | 0 0
  1. private Connection connection;
  2.         private String urlbase, host, database, user, password;
  3.  
  4.         public SQLConnection(Denoria pl, String urlbase, String host, String database, String user, String password) {
  5.                 this.urlbase = urlbase;
  6.                 this.host = host;
  7.                 this.database = database;
  8.                 this.user = user;
  9.                 this.password = password;
  10.         }
  11.  
  12.         public void connect() {
  13.                 if (!isConnect()) {
  14.                         try {
  15.                                 connection = DriverManager.getConnection(urlbase + host + "/" + database, user,
  16.                                                 password);
  17.                                 System.out.println("Connection vers la base de donnée établit avec succés");
  18.                         } catch (SQLException e) {
  19.                                 System.out.println("Erreur lors de la connection à la base de donnée");
  20.                                 e.printStackTrace();
  21.                         }
  22.                 }
  23.         }
  24.  
  25.         public void disconnect() {
  26.                 if (isConnect()) {
  27.                         try {
  28.                                 connection.close();
  29.                                 System.out.println("Déconnection de la base de donnée réussi");
  30.                         } catch (SQLException e) {
  31.                                 System.out.println("Erreur lors de la déconnection à la base de donnée");
  32.                                 e.printStackTrace();
  33.                         }
  34.                 }
  35.         }
  36.  
  37.         public boolean isConnect() {
  38.                 return connection != null;
  39.         }
  40.  
  41.         public void createAccount(Player p) {
  42.                 if (!hasAccount(p)) {
  43.                         try {
  44.                                 PreparedStatement q = connection.prepareStatement(
  45.                                                 "INSERT INTO joueurs(uuid, coins, rank) VALUES (?, ?, ?)");
  46.                                 q.setString(1, p.getUniqueId().toString());
  47.                                 q.setInt(2, 100);
  48.                                 q.setInt(3, Rank.JOUEUR.getPower());
  49.                                 q.execute();
  50.                                 q.close();
  51.                         } catch (SQLException e) {
  52.                                 e.printStackTrace();
  53.                         }
  54.                 }
  55.         }
  56.  
  57.         public boolean hasAccount(Player p) {
  58.                 try {
  59.                         PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
  60.                         q.setString(1, p.getUniqueId().toString());
  61.                         ResultSet uuid = q.executeQuery();
  62.                         boolean hasAccount = uuid.next();
  63.                         q.close();
  64.  
  65.                         return hasAccount;
  66.                 } catch (SQLException e) {
  67.                         e.printStackTrace();
  68.                 }
  69.  
  70.                 return false;
  71.         }
  72.  
  73.         public int getBalance(Player player) {
  74.                 int balance = 0;
  75.                 try {
  76.                         PreparedStatement q = connection.prepareStatement(String.format("SELECT coins FROM joueurs WHERE uuid='%s';", player.getUniqueId().toString()));
  77.  
  78.                         ResultSet rs = q.executeQuery();
  79.  
  80.                         while (rs.next()) {
  81.                                 balance = rs.getInt("coins");
  82.                         }
  83.  
  84.                         q.close();
  85.  
  86.                 } catch (SQLException e) {
  87.                         e.printStackTrace();
  88.                 }
  89.                 return balance;
  90.         }
  91.  
  92.         public void addMoney(Player player, int amount) {
  93.                 // UPDATE
  94.  
  95.                 int balance = getBalance(player);
  96.                 int newbalance = balance + amount;
  97.  
  98.                 try {
  99.                         PreparedStatement rs = connection
  100.                                         .prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  101.                         rs.setInt(1, newbalance);
  102.                         rs.setString(2, player.getUniqueId().toString());
  103.                         rs.executeUpdate();
  104.                         rs.close();
  105.  
  106.                 } catch (SQLException e) {
  107.                         e.printStackTrace();
  108.                 }
  109.  
  110.         }
  111.  
  112.         public void removeMoney(Player player, int amount) {
  113.                 // UPDATE
  114.  
  115.                 int balance = getBalance(player);
  116.                 int newbalance = balance - amount;
  117.  
  118.                 if (newbalance <= 0) {
  119.                         return;
  120.                 }
  121.  
  122.                 try {
  123.                         PreparedStatement rs = connection
  124.                                         .prepareStatement("UPDATE joueurs SET coins = ? WHERE uuid = ?");
  125.                         rs.setInt(1, newbalance);
  126.                         rs.setString(2, player.getUniqueId().toString());
  127.                         rs.executeUpdate();
  128.                         rs.close();
  129.  
  130.                 } catch (SQLException e) {
  131.                         e.printStackTrace();
  132.                 }
  133.  
  134.         }
  135.  
  136.         public void setRank(Player player, Rank rank) {
  137.  
  138.                 try {
  139.                         PreparedStatement rs = connection
  140.                                         .prepareStatement("UPDATE joueurs SET rank = ? WHERE uuid = ?");
  141.                         rs.setInt(1, rank.getPower());
  142.                         rs.setString(2, player.getUniqueId().toString());
  143.                         rs.executeUpdate();
  144.                         rs.close();
  145.  
  146.                 } catch (SQLException e) {
  147.                         e.printStackTrace();
  148.                 }
  149.  
  150.         }
  151.  
  152.         public Rank getRank(Player player) {
  153.  
  154.                 try {
  155.                         PreparedStatement q = connection.prepareStatement("SELECT rank FROM joueurs WHERE uuid = ?");
  156.                         q.setString(1, player.getUniqueId().toString());
  157.  
  158.                         int power = 0;
  159.                         ResultSet rs = q.executeQuery();
  160.  
  161.                         while (rs.next()) {
  162.                                 power = rs.getInt("rank");
  163.                         }
  164.  
  165.                         q.close();
  166.  
  167.                         return Rank.powerToRank(power);
  168.  
  169.                 } catch (SQLException e) {
  170.                         e.printStackTrace();
  171.                 }
  172.  
  173.                 return Rank.JOUEUR;
  174.         }
  175.  
  176.         public Connection getConnection() {
  177.                 return connection;
  178.         }
  179.  
  180.         public void hasExpireRank(Player p) {
  181.                 try {
  182.                         PreparedStatement rs = connection
  183.                                         .prepareStatement("SELECT  hasexpirerank FROM joueurs WHERE uuid = ?");
  184.                         rs.setString(1, p.getUniqueId().toString());
  185.                         ResultSet resultats = rs.executeQuery();
  186.                         int rankValue = 0;
  187.  
  188.                         while (resultats.next()) {
  189.                                 rankValue = resultats.getInt("hasexpirerank");
  190.  
  191.                                 Timestamp now = new Timestamp(new Date().getTime());
  192.                                 Timestamp expire = resultats.getTimestamp("epiredate");
  193.                                 boolean hasExpireRank = expire.before(now);
  194.  
  195.                                 if (hasExpireRank && rankValue == 1) {
  196.                                         setRank(p, Rank.JOUEUR);
  197.                                 }
  198.                         }
  199.  
  200.                 } catch (SQLException e) {
  201.                         e.printStackTrace();
  202.                 }
  203.         }
Add Comment
Please, Sign In to add comment