forked from MagicBane/Server
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.5 KiB
79 lines
3.5 KiB
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . |
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· |
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ |
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ |
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ |
|
// Magicbane Emulator Project © 2013 - 2022 |
|
// www.magicbane.com |
|
|
|
|
|
package engine.db.handlers; |
|
|
|
import engine.Enum; |
|
import engine.gameManager.DbManager; |
|
import engine.objects.Petition; |
|
import org.pmw.tinylog.Logger; |
|
|
|
import java.sql.Connection; |
|
import java.sql.PreparedStatement; |
|
import java.sql.SQLException; |
|
|
|
public class dbPetitionHandler extends dbHandlerBase { |
|
|
|
public dbPetitionHandler() { |
|
|
|
} |
|
|
|
public void CREATE_PETITION_TABLE() { |
|
|
|
try (Connection connection = DbManager.getConnection(); |
|
PreparedStatement preparedStatement = connection.prepareStatement("CREATE TABLE IF NOT EXISTS dyn_petition " + |
|
" (petitionNumber INT AUTO_INCREMENT NOT NULL," + |
|
" petitionTime DATETIME," + |
|
" primaryType VARCHAR(50)," + |
|
" subType VARCHAR(50)," + |
|
" message VARCHAR(255)," + |
|
" accountID INT," + |
|
" accountName VARCHAR(255)," + |
|
" characterID INT," + |
|
" characterName VARCHAR(255)," + |
|
" location VARCHAR(255), " + |
|
" PRIMARY KEY (petitionNumber))" + |
|
" ENGINE = innodb ROW_FORMAT = DEFAULT;")) { |
|
|
|
preparedStatement.executeUpdate(); |
|
|
|
} catch (SQLException e) { |
|
Logger.error(e); |
|
} |
|
} |
|
|
|
public void WRITE_PETITION_TO_TABLE(Petition petition) { |
|
|
|
try (Connection connection = DbManager.getConnection(); |
|
|
|
//check that table exists |
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO `dyn_petition` (`petitionTime`, `primaryType`, `subType`, `accountID`, `accountName`, `characterID`, `characterName`, `location`, `message`)" + |
|
" VALUES (?,?,?,?,?,?,?,?,?);")) { |
|
|
|
preparedStatement.setTimestamp(1, new java.sql.Timestamp(System.currentTimeMillis())); |
|
preparedStatement.setString(2, Enum.PetitionType.values()[petition.primaryType].name()); |
|
preparedStatement.setString(3, Enum.PetitionSubType.values()[petition.subType].name()); |
|
preparedStatement.setInt(4, petition.reportAccount.getObjectUUID()); |
|
preparedStatement.setString(5, petition.reportAccount.getUname()); |
|
preparedStatement.setInt(6, petition.reportPlayer.getObjectUUID()); |
|
preparedStatement.setString(7, petition.reportPlayer.getFirstName()); |
|
preparedStatement.setString(8, petition.playerLocation.toString()); |
|
|
|
String messageCleaned = petition.message.substring(0, Math.min(petition.message.length(), 255)); |
|
preparedStatement.setString(9, messageCleaned); |
|
|
|
preparedStatement.executeUpdate(); |
|
|
|
} catch (SQLException e) { |
|
Logger.error("CREATE PETITION FAILED: " + e); |
|
} |
|
} |
|
|
|
}
|
|
|