Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.util.sql;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import server.game.player.Player;
- import server.game.player.Rights;
- public class Donation implements Runnable {
- public static void main(String[] args) {
- }
- public Donation(String username) {
- }
- public static final String HOST_ADDRESS = "107.180.51.240";
- public static final String USERNAME = "User";
- public static final String PASSWORD = "Pass";
- public static final String DATABASE = "Db";
- private Player player;
- @Override
- public void run() {
- try {
- Database db = new Database(HOST_ADDRESS, USERNAME, PASSWORD, DATABASE);
- if (!db.init()) {
- System.err.println("[Donation] Failed to connect to database!");
- return;
- }
- String name = player.getUsername().replace("_", " ");
- ResultSet rs = db.executeQuery("SELECT * FROM payments WHERE player_name='"+name+"' AND claimed=0");
- while(rs.next()) {
- String item_name = rs.getString("item_name");
- int item_number = rs.getInt("item_number");
- double amount = rs.getDouble("amount");
- int quantity = rs.getInt("quantity");
- ResultSet result = db.executeQuery("SELECT * FROM products WHERE item_id="+item_number+" LIMIT 1");
- while(result.next()) {
- double item_price = result.getDouble("item_price");
- if (result == null
- || !result.getString("item_name").equalsIgnoreCase(item_name)
- || amount/item_price != quantity
- || quantity < 1 || quantity > Integer.MAX_VALUE) {
- System.out.println("[Donation] Invalid purchase for "+name+" (item: "+item_name+", id: "+item_number+")");
- continue;
- }
- }
- handleItems(item_number);
- rs.updateInt("claimed", 1);
- rs.updateRow();
- }
- db.destroyAll();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public void handleItems(int productId) throws SQLException {
- Database db = new Database(HOST_ADDRESS, USERNAME, PASSWORD, DATABASE);
- if (!db.init()) {
- System.err.println("[Donation] Failed to connect to database!");
- return;
- }
- String name = player.getUsername().replace("_", " ");
- ResultSet rs = db.executeQuery("SELECT * FROM payments WHERE player_name='"+name+"' AND claimed=0");
- while(rs.next()) {
- int quantity = rs.getInt("quantity");
- switch(productId) {
- case 12:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.setRights(Rights.ELITE);
- break;
- case 13:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.setRights(Rights.MEGA);
- break;
- case 14:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.setRights(Rights.ULTRA);
- break;
- case 15:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.setRights(Rights.SPONSOR);
- break;
- case 16:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.getItems().addItem(4067, 1*quantity);
- break;
- case 17:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.getItems().addItem(995, 5000000*quantity);
- break;
- case 18:
- player.sendGameMessage("<shad=cc0ff><img=1>You Have Recieved Your donation! Thank you for your support!<img=1>");
- player.setRights(Rights.DONATOR);
- break;
- }
- }
- }
- public Donation(Player player) {
- this.player = player;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement