Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.arrav.sql.database.util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Collections;
- import java.util.EnumSet;
- import java.util.Set;
- import net.arrav.model.entity.player.Player;
- public class DonationConnector {
- /**
- * The player that we are giving the points to.
- */
- private Player player;
- private enum DonatorRanks {
- DONATOR(7, 10, 50, "@red@Donator", 1),
- SUPER_DONATOR(6, 50, 250, "@blu@Super Donator", 2),
- EXTREME_DONATOR(5, 250, 1000, "@gre@Extreme Donator", 3);
- private final int rank, min, max, drank;
- private final String string;
- private DonatorRanks(int rank, int min, int max, String string, int drank) {
- this.rank = rank;
- this.min = min;
- this.max = max;
- this.string = string;
- this.drank = drank;
- }
- public static Set<DonatorRanks> RANKS = Collections.unmodifiableSet(EnumSet.allOf(DonatorRanks.class));
- public int getRank() {
- return rank;
- }
- public int getMin() {
- return min;
- }
- public int getMax() {
- return max;
- }
- public String getString() {
- return string;
- }
- // keyboard shortcut alt + shift + s
- public Object getDRank() {
- return drank;
- }
- }
- /**
- * The amount of donation points we are gonna give the player.
- */
- private int amount;
- public static boolean connected = false;
- private static Connection connection;
- private static long lasConnection = System.currentTimeMillis();
- static {
- createConnection();
- }
- public static void createConnection() {
- try {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/DBNAME", "USERNAME", "PASSWORD");
- connected = true;
- System.out.println("[SQL] Donation Connected.");
- } catch (Exception e) {
- e.printStackTrace();
- connected = false;
- System.out.println("[SQL] Donation error Connecting.");
- }
- }
- public static void destroyConnection() {
- try {
- if (connection != null)
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void claimPayment(final Player p, final String name) {
- try {
- if (System.currentTimeMillis() - lasConnection > 10000) {
- destroyConnection();
- createConnection();
- lasConnection = System.currentTimeMillis();
- }
- Statement s = connection.createStatement();
- String name2 = name.replaceAll(" ", "_");
- String query = "SELECT * FROM paid_donations WHERE username = '" + name2 + "' AND claimed = '0'";
- ResultSet rs = s.executeQuery(query);
- boolean claimed = false;
- while (rs.next()) {
- int prod = Integer.parseInt(rs.getString("product_id"));
- double price = Double.parseDouble(rs.getString("price"));
- if (prod == 1 && price == 10.00) {
- p.donatorPoints += 100;
- p.incrementAmountDonated(10);
- p.getActionSender().sendMessage("You have received 100 Donation Points from Donating.");
- claimed = true;
- } else if (prod == 2 && price == 25.00) {
- p.donatorPoints += 250;
- p.incrementAmountDonated(25);
- p.getActionSender().sendMessage("You have received 250 Donation Points from Donating.");
- claimed = true;
- } else if (prod == 3 && price == 45.00) {
- p.donatorPoints += 500;
- p.incrementAmountDonated(45);
- p.getActionSender().sendMessage("You have received 500 Donation Points from Donating.");
- claimed = true;
- } else if (prod == 4 && price == 85.00) {
- p.donatorPoints += 1000;
- p.incrementAmountDonated(85);
- p.getActionSender().sendMessage("You have received 1,000 Donation Points from Donating.");
- claimed = true;
- } else if (prod == 5 && price == 165.00) {
- p.donatorPoints += 2000;
- p.incrementAmountDonated(165);
- p.getActionSender().sendMessage("You have received 2,000 Donation Points from Donating.");
- claimed = true;
- } else if (prod == 6 && price == 420.00) {
- p.donatorPoints += 5000;
- p.incrementAmountDonated(420);
- p.getActionSender().sendMessage("You have received 5,000 Donation Points from Donating.");
- claimed = true;
- }
- }
- boolean isStaff = (p.getPrivileges() == 1 || p.getPrivileges() == 2 || p.getPrivileges() == 3);
- if (!isStaff) {
- for (DonatorRanks rank : DonatorRanks.RANKS) {
- if (p.amountDonated >= rank.getMin() && p.amountDonated < rank.getMax()) {
- if (p.getPrivileges() != rank.getRank()) {
- p.setPrivileges(rank.getRank());
- //p.donatorRights(rank.getDRank());
- p.getActionSender()
- .sendMessage("Your account has been upgraded to : " + rank.getString() + ".");
- p.getActionSender().sendWindowsRemoval();
- break;
- }
- }
- }
- }
- if (claimed) {
- s.execute("UPDATE `paid_donations` SET `claimed` = '1' WHERE `username` = '" + name2 + "';");
- } else
- p.getActionSender().sendMessage("Sorry, you have not donated today. Do ::donate.");
- } catch (Exception e) {
- e.printStackTrace();
- p.getActionSender().sendMessage("[MySQL-Donation-Error] Report to Owner / Developer.");
- }
- }
- /**
- * @return the amount
- */
- public int getAmount() {
- return amount;
- }
- /**
- *
- * @return The player
- */
- public Player getPlayer() {
- return player;
- }
- /**
- * @param amount
- * the amount to set
- */
- public void setAmount(int amount) {
- this.amount = amount;
- }
- /**
- *
- * @param player
- * The player
- */
- public void setPlayer(Player player) {
- this.player = player;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement