Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package engine.util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.LinkedList;
- import game.Client;
- import game.player.Player;
- /**
- *
- * @author Arsen Maxyutov.
- *
- */
- public class SQL extends Thread {
- public static SQL getSQL() {
- return sql;
- }
- private static SQL sql = new SQL();
- public static Connection con = null;
- public static Statement stmt;
- public static boolean printed = false;
- public static boolean isConnected = false;
- private static Iterator e;
- private static final String URL = "jdbc:mysql://184.22.222.172/taintedx_points";
- private static final String USERNAME = "taintedx_points";
- private static final String PASSWORD = "hurrdurr";
- private long lastQuery = 0;
- private LinkedList<Player> DonationsQueue = new LinkedList<Player>();
- public boolean createConnection() {
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
- stmt = con.createStatement();
- isConnected = true;
- return true;
- } catch (Exception e) {
- isConnected = false;
- return false;
- }
- }
- public ResultSet query(String s) throws SQLException {
- try {
- lastQuery = System.currentTimeMillis();
- stmt = con.createStatement();
- if (s.toLowerCase().startsWith("select")) {
- ResultSet rs = stmt.executeQuery(s);
- return rs;
- } else {
- stmt.executeUpdate(s);
- }
- return null;
- } catch (Exception e) {
- e.printStackTrace();
- destroyConnection();
- createConnection();
- }
- return null;
- }
- public void destroyConnection() {
- try {
- stmt.close();
- con.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void sendDonatePoints(Client c) {
- c.sendMessage(" You now have " + c.donatorpoints + " Donator Points");
- }
- public void handleDonation(Client c) {
- if (System.currentTimeMillis() - c.lastSQL < 10000) {
- c.sendMessage("Please wait before using this command again.");
- return;
- }
- c.lastSQL = System.currentTimeMillis();
- DonationsQueue.add(c);
- }
- private void processDonation(Client c) {
- try {
- if (!isConnected) {
- c.sendMessage("Your request could not be processed. Try again later.");
- createConnection();
- return;
- }
- String name = c.playerName.toLowerCase().replaceAll("_", " ");
- ResultSet rs = query("SELECT * FROM donator WHERE finished=false AND name='"
- + name + "'");
- if (rs == null) {
- c.sendMessage("You have not ordered any points!");
- return;
- }
- int amount = 0;
- ArrayList<Integer> rows = new ArrayList<Integer>();
- while (rs.next()) {
- String s = rs.getString("amount");
- try {
- int a = (int) (Double.parseDouble(s) * 100);
- amount += a;
- int row = Integer.parseInt(rs.getString("row"));
- rows.add(row);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- for (int x : rows) {
- query("UPDATE donator SET finished=true WHERE row=" + x);
- }
- if (amount <= 0) {
- c.sendMessage("You have not ordered any points!");
- } else {
- c.donatorpoints += amount;
- c.donatorbought += amount;
- if (c.donatorbought >= 1500)
- c.status = 1;
- if (c.donatorbought >= 10000)
- c.status = 2;
- c.sendMessage("You have claim " + amount + " donator points.");
- sendDonatePoints(c);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- static {
- getSQL().start();
- }
- }
Add Comment
Please, Sign In to add comment