Refactor to remove abstraction
This commit is contained in:
@@ -40,7 +40,7 @@ public class dbBuildingHandler extends dbHandlerBase {
|
|||||||
ProtectionState protectionState, int currentGold, int rank,
|
ProtectionState protectionState, int currentGold, int rank,
|
||||||
DateTime upgradeDate, int blueprintUUID, float w, float rotY) {
|
DateTime upgradeDate, int blueprintUUID, float w, float rotY) {
|
||||||
|
|
||||||
Building toCreate = null;
|
Building building = null;
|
||||||
|
|
||||||
try (Connection connection = DbManager.getConnection();
|
try (Connection connection = DbManager.getConnection();
|
||||||
PreparedStatement preparedStatement = connection.prepareStatement("CALL `building_CREATE`(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,? ,?, ?);")) {
|
PreparedStatement preparedStatement = connection.prepareStatement("CALL `building_CREATE`(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ,? ,? ,?, ?);")) {
|
||||||
@@ -72,13 +72,13 @@ public class dbBuildingHandler extends dbHandlerBase {
|
|||||||
int objectUUID = (int) rs.getLong("UID");
|
int objectUUID = (int) rs.getLong("UID");
|
||||||
|
|
||||||
if (objectUUID > 0)
|
if (objectUUID > 0)
|
||||||
toCreate = GET_BUILDINGBYUUID(objectUUID);
|
building = GET_BUILDINGBYUUID(objectUUID);
|
||||||
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return toCreate;
|
return building;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean DELETE_FROM_DATABASE(final Building b) {
|
public boolean DELETE_FROM_DATABASE(final Building b) {
|
||||||
|
|||||||
@@ -296,127 +296,218 @@ public class dbGuildHandler extends dbHandlerBase {
|
|||||||
public boolean IS_CREST_UNIQUE(final GuildTag gt) {
|
public boolean IS_CREST_UNIQUE(final GuildTag gt) {
|
||||||
|
|
||||||
boolean valid = false;
|
boolean valid = false;
|
||||||
|
String queryString;
|
||||||
|
|
||||||
|
// Ignore bg symbol if bg color is the same as fg color.
|
||||||
|
|
||||||
|
if (gt.backgroundColor01 == gt.backgroundColor02)
|
||||||
|
queryString = "SELECT `name` FROM `obj_guild` WHERE `backgroundColor01`=? && `backgroundColor02`=? && `symbolColor`=? && `symbol`=?;";
|
||||||
|
else
|
||||||
|
queryString = "SELECT `name` FROM `obj_guild` WHERE `backgroundColor01`=? && `backgroundColor02`=? && `symbolColor`=? && `backgroundDesign`=? && `symbol`=?;";
|
||||||
|
|
||||||
|
|
||||||
|
try (Connection connection = DbManager.getConnection();
|
||||||
|
PreparedStatement preparedStatement = connection.prepareStatement(queryString)) {
|
||||||
|
|
||||||
|
if (gt.backgroundColor01 == gt.backgroundColor02) {
|
||||||
|
preparedStatement.setInt(1, gt.backgroundColor01);
|
||||||
|
preparedStatement.setInt(2, gt.backgroundColor02);
|
||||||
|
preparedStatement.setInt(3, gt.symbolColor);
|
||||||
|
preparedStatement.setInt(4, gt.symbol);
|
||||||
|
} else {
|
||||||
|
preparedStatement.setInt(1, gt.backgroundColor01);
|
||||||
|
preparedStatement.setInt(2, gt.backgroundColor02);
|
||||||
|
preparedStatement.setInt(3, gt.symbolColor);
|
||||||
|
preparedStatement.setInt(4, gt.backgroundDesign);
|
||||||
|
preparedStatement.setInt(5, gt.symbol);
|
||||||
|
}
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
|
||||||
if (gt.backgroundColor01 == gt.backgroundColor02) {
|
|
||||||
//both background colors the same, ignore backgroundDesign
|
|
||||||
prepareCallable("SELECT `name` FROM `obj_guild` WHERE `backgroundColor01`=? && `backgroundColor02`=? && `symbolColor`=? && `symbol`=?;");
|
|
||||||
setInt(1, gt.backgroundColor01);
|
|
||||||
setInt(2, gt.backgroundColor02);
|
|
||||||
setInt(3, gt.symbolColor);
|
|
||||||
setInt(4, gt.symbol);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
prepareCallable("SELECT `name` FROM `obj_guild` WHERE `backgroundColor01`=? && `backgroundColor02`=? && `symbolColor`=? && `backgroundDesign`=? && `symbol`=?;");
|
|
||||||
setInt(1, gt.backgroundColor01);
|
|
||||||
setInt(2, gt.backgroundColor02);
|
|
||||||
setInt(3, gt.symbolColor);
|
|
||||||
setInt(4, gt.backgroundDesign);
|
|
||||||
setInt(5, gt.symbol);
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
ResultSet rs = executeQuery();
|
|
||||||
if (!rs.next())
|
if (!rs.next())
|
||||||
valid = true;
|
valid = true;
|
||||||
rs.close();
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
Logger.error(e.getMessage());
|
Logger.error(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean SET_GUILD_OWNED_CITY(int guildID, int cityID) {
|
public boolean SET_GUILD_OWNED_CITY(int guildID, int cityID) {
|
||||||
prepareCallable("UPDATE `obj_guild` SET `ownedCity`=? WHERE `UID`=?");
|
|
||||||
setLong(1, (long) cityID);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, (long) guildID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_guild` SET `ownedCity`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setLong(1, cityID);
|
||||||
|
preparedStatement.setLong(2, guildID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean SET_GUILD_LEADER(int objectUUID,int guildID) {
|
public boolean SET_GUILD_LEADER(int objectUUID,int guildID) {
|
||||||
prepareCallable("UPDATE `obj_guild` SET `leaderUID`=? WHERE `UID`=?");
|
|
||||||
setLong(1, (long) objectUUID);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setLong(2, (long) guildID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_guild` SET `leaderUID`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setLong(1, objectUUID);
|
||||||
|
preparedStatement.setLong(2, guildID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean IS_NAME_UNIQUE(final String name) {
|
public boolean IS_NAME_UNIQUE(final String name) {
|
||||||
|
|
||||||
boolean valid = false;
|
boolean valid = false;
|
||||||
prepareCallable("SELECT `name` FROM `obj_guild` WHERE `name`=?;");
|
|
||||||
setString(1, name);
|
try (Connection connection = DbManager.getConnection();
|
||||||
try {
|
PreparedStatement preparedStatement = connection.prepareStatement("SELECT `name` FROM `obj_guild` WHERE `name`=?;")) {
|
||||||
ResultSet rs = executeQuery();
|
|
||||||
|
preparedStatement.setString(1, name);
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
|
||||||
if (!rs.next())
|
if (!rs.next())
|
||||||
valid = true;
|
valid = true;
|
||||||
rs.close();
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
Logger.warn(e.getMessage());
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return valid;
|
return valid;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guild SAVE_TO_DATABASE(Guild g) {
|
public Guild SAVE_TO_DATABASE(Guild g) {
|
||||||
prepareCallable("CALL `guild_CREATE`(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
|
||||||
|
|
||||||
GuildTag gt = g.getGuildTag();
|
|
||||||
if ( gt == null)
|
|
||||||
return null;
|
|
||||||
setLong(1, MBServerStatics.worldUUID);
|
|
||||||
setLong(2, g.getGuildLeaderUUID());
|
|
||||||
setString(3, g.getName());
|
|
||||||
setInt(4, gt.backgroundColor01);
|
|
||||||
setInt(5, gt.backgroundColor02);
|
|
||||||
setInt(6, gt.symbolColor);
|
|
||||||
setInt(7, gt.backgroundDesign);
|
|
||||||
setInt(8 , gt.symbol);
|
|
||||||
setInt(9, g.getCharter());
|
|
||||||
setString(10, g.getLeadershipType());
|
|
||||||
setString(11, g.getMotto());
|
|
||||||
|
|
||||||
int objectUUID = (int) getUUID();
|
Guild guild = null;
|
||||||
if (objectUUID > 0)
|
GuildTag guildTag = g.getGuildTag();
|
||||||
return GET_GUILD(objectUUID);
|
|
||||||
return null;
|
if (guildTag == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
try (Connection connection = DbManager.getConnection();
|
||||||
|
PreparedStatement preparedStatement = connection.prepareStatement("CALL `guild_CREATE`(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) {
|
||||||
|
|
||||||
|
preparedStatement.setLong(1, MBServerStatics.worldUUID);
|
||||||
|
preparedStatement.setLong(2, g.getGuildLeaderUUID());
|
||||||
|
preparedStatement.setString(3, g.getName());
|
||||||
|
preparedStatement.setInt(4, guildTag.backgroundColor01);
|
||||||
|
preparedStatement.setInt(5, guildTag.backgroundColor02);
|
||||||
|
preparedStatement.setInt(6, guildTag.symbolColor);
|
||||||
|
preparedStatement.setInt(7, guildTag.backgroundDesign);
|
||||||
|
preparedStatement.setInt(8, guildTag.symbol);
|
||||||
|
preparedStatement.setInt(9, g.getCharter());
|
||||||
|
preparedStatement.setString(10, g.getLeadershipType());
|
||||||
|
preparedStatement.setString(11, g.getMotto());
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
|
||||||
|
int objectUUID = (int) rs.getLong("UID");
|
||||||
|
|
||||||
|
if (objectUUID > 0)
|
||||||
|
guild = GET_GUILD(objectUUID);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
}
|
||||||
|
return guild;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_GUILD_RANK_OFFLINE(int target, int newRank, int guildId) {
|
public boolean UPDATE_GUILD_RANK_OFFLINE(int target, int newRank, int guildId) {
|
||||||
prepareCallable("UPDATE `obj_character` SET `guild_title`=? WHERE `UID`=? && `guildUID`=?");
|
|
||||||
setInt(1, newRank);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setInt(2, target);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_character` SET `guild_title`=? WHERE `UID`=? && `guildUID`=?")) {
|
||||||
setInt(3, guildId);
|
|
||||||
return (executeUpdate() > 0);
|
preparedStatement.setInt(1, newRank);
|
||||||
|
preparedStatement.setInt(2, target);
|
||||||
|
preparedStatement.setInt(3, guildId);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_PARENT(int guildUID, int parentUID) {
|
public boolean UPDATE_PARENT(int guildUID, int parentUID) {
|
||||||
prepareCallable("UPDATE `object` SET `parent`=? WHERE `UID`=?");
|
|
||||||
setInt(1, parentUID);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setInt(2, guildUID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `object` SET `parent`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setInt(1, parentUID);
|
||||||
|
preparedStatement.setInt(2, guildUID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int DELETE_GUILD(final Guild guild) {
|
public int DELETE_GUILD(final Guild guild) {
|
||||||
prepareCallable("DELETE FROM `object` WHERE `UID` = ?");
|
|
||||||
setLong(1, (long) guild.getObjectUUID());
|
int row_count = 0;
|
||||||
return executeUpdate();
|
|
||||||
|
try (Connection connection = DbManager.getConnection();
|
||||||
|
PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM `object` WHERE `UID` = ?")) {
|
||||||
|
|
||||||
|
preparedStatement.setLong(1, guild.getObjectUUID());
|
||||||
|
row_count = preparedStatement.executeUpdate();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
}
|
||||||
|
return row_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean UPDATE_MINETIME(int guildUID, int mineTime) {
|
public boolean UPDATE_MINETIME(int guildUID, int mineTime) {
|
||||||
prepareCallable("UPDATE `obj_guild` SET `mineTime`=? WHERE `UID`=?");
|
|
||||||
setInt(1, mineTime);
|
try (Connection connection = DbManager.getConnection();
|
||||||
setInt(2, guildUID);
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_guild` SET `mineTime`=? WHERE `UID`=?")) {
|
||||||
return (executeUpdate() > 0);
|
|
||||||
|
preparedStatement.setInt(1, mineTime);
|
||||||
|
preparedStatement.setInt(2, guildUID);
|
||||||
|
|
||||||
|
return (preparedStatement.executeUpdate() > 0);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int UPDATE_GUILD_STATUS_OFFLINE(int target, boolean isInnerCouncil, boolean isRecruiter, boolean isTaxCollector, int guildId) {
|
public int UPDATE_GUILD_STATUS_OFFLINE(int target, boolean isInnerCouncil, boolean isRecruiter, boolean isTaxCollector, int guildId) {
|
||||||
|
|
||||||
int updateMask = 0;
|
int updateMask = 0;
|
||||||
prepareCallable("SELECT `guild_isInnerCouncil`, `guild_isTaxCollector`, `guild_isRecruiter` FROM `obj_character` WHERE `UID`=? && `guildUID`=?");
|
int row_count = 0;
|
||||||
setLong(1, (long) target);
|
|
||||||
setLong(2, (long) guildId);
|
try (Connection connection = DbManager.getConnection();
|
||||||
try {
|
PreparedStatement preparedStatement = connection.prepareStatement("SELECT `guild_isInnerCouncil`, `guild_isTaxCollector`, `guild_isRecruiter` FROM `obj_character` WHERE `UID`=? && `guildUID`=?")) {
|
||||||
ResultSet rs = executeQuery();
|
|
||||||
|
preparedStatement.setLong(1, target);
|
||||||
|
preparedStatement.setLong(2, guildId);
|
||||||
|
|
||||||
|
ResultSet rs = preparedStatement.executeQuery();
|
||||||
|
|
||||||
//If the first query had no results, neither will the second
|
//If the first query had no results, neither will the second
|
||||||
|
|
||||||
|
//Determine what is different
|
||||||
|
|
||||||
if (rs.first()) {
|
if (rs.first()) {
|
||||||
//Determine what is different
|
|
||||||
if (rs.getBoolean("guild_isInnerCouncil") != isInnerCouncil)
|
if (rs.getBoolean("guild_isInnerCouncil") != isInnerCouncil)
|
||||||
updateMask |= 4;
|
updateMask |= 4;
|
||||||
if (rs.getBoolean("guild_isRecruiter") != isRecruiter)
|
if (rs.getBoolean("guild_isRecruiter") != isRecruiter)
|
||||||
@@ -424,19 +515,26 @@ public class dbGuildHandler extends dbHandlerBase {
|
|||||||
if (rs.getBoolean("guild_isTaxCollector") != isTaxCollector)
|
if (rs.getBoolean("guild_isTaxCollector") != isTaxCollector)
|
||||||
updateMask |= 1;
|
updateMask |= 1;
|
||||||
}
|
}
|
||||||
rs.close();
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
Logger.error( e.toString());
|
Logger.error(e);
|
||||||
}
|
}
|
||||||
prepareCallable("UPDATE `obj_character` SET `guild_isInnerCouncil`=?, `guild_isTaxCollector`=?, `guild_isRecruiter`=?, `guild_isFullMember`=? WHERE `UID`=? && `guildUID`=?");
|
|
||||||
setBoolean(1, isInnerCouncil);
|
|
||||||
setBoolean(2, isRecruiter);
|
|
||||||
setBoolean(3, isTaxCollector);
|
|
||||||
setBoolean(4, ((updateMask > 0))); //If you are becoming an officer, or where an officer, your a full member...
|
|
||||||
setLong(5, (long) target);
|
|
||||||
setLong(6, (long) guildId);
|
|
||||||
return executeUpdate();
|
|
||||||
|
|
||||||
|
try (Connection connection = DbManager.getConnection();
|
||||||
|
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `obj_character` SET `guild_isInnerCouncil`=?, `guild_isTaxCollector`=?, `guild_isRecruiter`=?, `guild_isFullMember`=? WHERE `UID`=? && `guildUID`=?")) {
|
||||||
|
|
||||||
|
preparedStatement.setBoolean(1, isInnerCouncil);
|
||||||
|
preparedStatement.setBoolean(2, isRecruiter);
|
||||||
|
preparedStatement.setBoolean(3, isTaxCollector);
|
||||||
|
preparedStatement.setBoolean(4, ((updateMask > 0))); //If you are becoming an officer, or where an officer, your a full member...
|
||||||
|
preparedStatement.setLong(5, target);
|
||||||
|
preparedStatement.setLong(6, guildId);
|
||||||
|
|
||||||
|
row_count = preparedStatement.executeUpdate();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
Logger.error(e);
|
||||||
|
}
|
||||||
|
return row_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user