Guest User

Untitled

a guest
Jul 4th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. package engine.util;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.ArrayList;
  9. import java.util.Iterator;
  10. import java.util.LinkedList;
  11. import game.Client;
  12. import game.player.Player;
  13.  
  14. /**
  15. *
  16. * @author Arsen Maxyutov.
  17. *
  18. */
  19.  
  20. public class SQL extends Thread {
  21.  
  22. public static SQL getSQL() {
  23. return sql;
  24. }
  25.  
  26. private static SQL sql = new SQL();
  27.  
  28. public static Connection con = null;
  29. public static Statement stmt;
  30. public static boolean printed = false;
  31.  
  32. public static boolean isConnected = false;
  33. private static Iterator e;
  34.  
  35. private static final String URL = "jdbc:mysql://184.22.222.172/taintedx_points";
  36.  
  37. private static final String USERNAME = "taintedx_points";
  38.  
  39. private static final String PASSWORD = "hurrdurr";
  40.  
  41. private long lastQuery = 0;
  42.  
  43. private LinkedList<Player> DonationsQueue = new LinkedList<Player>();
  44.  
  45. public boolean createConnection() {
  46. try {
  47. Class.forName("com.mysql.jdbc.Driver").newInstance();
  48. con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
  49. stmt = con.createStatement();
  50. isConnected = true;
  51. return true;
  52. } catch (Exception e) {
  53. isConnected = false;
  54. return false;
  55. }
  56. }
  57.  
  58. public ResultSet query(String s) throws SQLException {
  59. try {
  60. lastQuery = System.currentTimeMillis();
  61. stmt = con.createStatement();
  62. if (s.toLowerCase().startsWith("select")) {
  63. ResultSet rs = stmt.executeQuery(s);
  64. return rs;
  65. } else {
  66. stmt.executeUpdate(s);
  67. }
  68. return null;
  69. } catch (Exception e) {
  70. e.printStackTrace();
  71. destroyConnection();
  72. createConnection();
  73. }
  74. return null;
  75. }
  76.  
  77. public void destroyConnection() {
  78. try {
  79. stmt.close();
  80. con.close();
  81. } catch (Exception e) {
  82. e.printStackTrace();
  83. }
  84. }
  85.  
  86. public static void sendDonatePoints(Client c) {
  87. c.sendMessage(" You now have " + c.donatorpoints + " Donator Points");
  88. }
  89.  
  90. public void handleDonation(Client c) {
  91. if (System.currentTimeMillis() - c.lastSQL < 10000) {
  92. c.sendMessage("Please wait before using this command again.");
  93. return;
  94. }
  95. c.lastSQL = System.currentTimeMillis();
  96. DonationsQueue.add(c);
  97. }
  98.  
  99. private void processDonation(Client c) {
  100. try {
  101. if (!isConnected) {
  102. c.sendMessage("Your request could not be processed. Try again later.");
  103. createConnection();
  104. return;
  105. }
  106. String name = c.playerName.toLowerCase().replaceAll("_", " ");
  107. ResultSet rs = query("SELECT * FROM donator WHERE finished=false AND name='"
  108. + name + "'");
  109. if (rs == null) {
  110. c.sendMessage("You have not ordered any points!");
  111. return;
  112. }
  113. int amount = 0;
  114. ArrayList<Integer> rows = new ArrayList<Integer>();
  115. while (rs.next()) {
  116. String s = rs.getString("amount");
  117. try {
  118. int a = (int) (Double.parseDouble(s) * 100);
  119. amount += a;
  120. int row = Integer.parseInt(rs.getString("row"));
  121. rows.add(row);
  122. } catch (Exception e) {
  123. e.printStackTrace();
  124. }
  125. }
  126.  
  127. for (int x : rows) {
  128. query("UPDATE donator SET finished=true WHERE row=" + x);
  129. }
  130. if (amount <= 0) {
  131. c.sendMessage("You have not ordered any points!");
  132. } else {
  133. c.donatorpoints += amount;
  134. c.donatorbought += amount;
  135. if (c.donatorbought >= 1500)
  136. c.status = 1;
  137. if (c.donatorbought >= 10000)
  138. c.status = 2;
  139. c.sendMessage("You have claim " + amount + " donator points.");
  140. sendDonatePoints(c);
  141. }
  142. } catch (Exception e) {
  143. e.printStackTrace();
  144. }
  145. }
  146.  
  147. static {
  148. getSQL().start();
  149. }
  150. }
Add Comment
Please, Sign In to add comment