Saving WOO timer to database for reboot persist.
This commit is contained in:
@@ -19,6 +19,7 @@ import org.pmw.tinylog.Logger;
|
|||||||
|
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class dbGuildHandler extends dbHandlerBase {
|
public class dbGuildHandler extends dbHandlerBase {
|
||||||
@@ -114,8 +115,12 @@ public class dbGuildHandler extends dbHandlerBase {
|
|||||||
return outputStr;
|
return outputStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean SET_LAST_WOO_UPDATE(Guild guild, LocalDateTime lastEditTime) {
|
||||||
|
prepareCallable("UPDATE `obj_guild` SET `lastWooEditTime`=? WHERE `UID`=?");
|
||||||
|
setLocalDateTime(1, lastEditTime);
|
||||||
|
setLong(2, (long) guild.getObjectUUID());
|
||||||
|
return (executeUpdate() > 0);
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<Guild> GET_GUILD_ALLIES(final int id) {
|
public ArrayList<Guild> GET_GUILD_ALLIES(final int id) {
|
||||||
prepareCallable("SELECT g.* FROM `obj_guild` g, `dyn_guild_allianceenemylist` l "
|
prepareCallable("SELECT g.* FROM `obj_guild` g, `dyn_guild_allianceenemylist` l "
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class MineWindowChangeHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
// Enforce 15hr restriction between WOO edits
|
// Enforce 15hr restriction between WOO edits
|
||||||
|
|
||||||
if (LocalDateTime.now().isBefore(mineGuild.lastWooEditTime.plusHours(15))) {
|
if (LocalDateTime.now().isBefore(mineGuild.lastWooEditTime.plusHours(14))) {
|
||||||
ErrorPopupMsg.sendErrorMsg(playerCharacter, "You must wait 15 hours between WOO changes.");
|
ErrorPopupMsg.sendErrorMsg(playerCharacter, "You must wait 15 hours between WOO changes.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -98,6 +98,15 @@ public class MineWindowChangeHandler extends AbstractClientMsgHandler {
|
|||||||
|
|
||||||
mineGuild.setMineTime(newMineTime);
|
mineGuild.setMineTime(newMineTime);
|
||||||
mineGuild.lastWooEditTime = LocalDateTime.now();
|
mineGuild.lastWooEditTime = LocalDateTime.now();
|
||||||
|
|
||||||
|
// Update guild WOO timer for reboot persistence
|
||||||
|
|
||||||
|
if (!DbManager.GuildQueries.SET_LAST_WOO_UPDATE(mineGuild, mineGuild.lastWooEditTime)) {
|
||||||
|
Logger.error("MineWindowChange", "Failed to update woo timer for guild " + mineGuild.getObjectUUID());
|
||||||
|
ChatManager.chatGuildError(playerCharacter, "A Serious error has for to occurred.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
ChatManager.chatGuildInfo(playerCharacter, "Mine time updated.");
|
ChatManager.chatGuildInfo(playerCharacter, "Mine time updated.");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user