PremiumManager case sensitive account adjustments.
This commit is contained in:
@@ -109,7 +109,7 @@ public class PremiumManager
|
||||
*/
|
||||
private void startExpireTask(Player player, long delay)
|
||||
{
|
||||
_expiretasks.put(player.getAccountName(), ThreadPool.schedule(new PremiumExpireTask(player), delay));
|
||||
_expiretasks.put(player.getAccountName().toLowerCase(), ThreadPool.schedule(new PremiumExpireTask(player), delay));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -117,7 +117,7 @@ public class PremiumManager
|
||||
*/
|
||||
private void stopExpireTask(Player player)
|
||||
{
|
||||
ScheduledFuture<?> task = _expiretasks.remove(player.getAccountName());
|
||||
ScheduledFuture<?> task = _expiretasks.remove(player.getAccountName().toLowerCase());
|
||||
if (task != null)
|
||||
{
|
||||
task.cancel(false);
|
||||
@@ -130,12 +130,12 @@ public class PremiumManager
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement stmt = con.prepareStatement(LOAD_SQL))
|
||||
{
|
||||
stmt.setString(1, accountName);
|
||||
stmt.setString(1, accountName.toLowerCase());
|
||||
try (ResultSet rset = stmt.executeQuery())
|
||||
{
|
||||
while (rset.next())
|
||||
{
|
||||
_premiumData.put(rset.getString(1), rset.getLong(2));
|
||||
_premiumData.put(rset.getString(1).toLowerCase(), rset.getLong(2));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ public class PremiumManager
|
||||
|
||||
public long getPremiumExpiration(String accountName)
|
||||
{
|
||||
return _premiumData.getOrDefault(accountName, 0L);
|
||||
return _premiumData.getOrDefault(accountName.toLowerCase(), 0L);
|
||||
}
|
||||
|
||||
public void addPremiumTime(String accountName, int timeValue, TimeUnit timeUnit)
|
||||
@@ -162,7 +162,7 @@ public class PremiumManager
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement stmt = con.prepareStatement(UPDATE_SQL))
|
||||
{
|
||||
stmt.setString(1, accountName);
|
||||
stmt.setString(1, accountName.toLowerCase());
|
||||
stmt.setLong(2, newPremiumExpiration);
|
||||
stmt.execute();
|
||||
}
|
||||
@@ -172,12 +172,12 @@ public class PremiumManager
|
||||
}
|
||||
|
||||
// UPDATE CACHE
|
||||
_premiumData.put(accountName, newPremiumExpiration);
|
||||
_premiumData.put(accountName.toLowerCase(), newPremiumExpiration);
|
||||
|
||||
// UPDATE PlAYER PREMIUMSTATUS
|
||||
for (Player player : World.getInstance().getPlayers())
|
||||
{
|
||||
if (accountName.equals(player.getAccountName()))
|
||||
if (accountName.equalsIgnoreCase(player.getAccountName()))
|
||||
{
|
||||
stopExpireTask(player);
|
||||
startExpireTask(player, newPremiumExpiration - now);
|
||||
@@ -196,7 +196,7 @@ public class PremiumManager
|
||||
{
|
||||
for (Player player : World.getInstance().getPlayers())
|
||||
{
|
||||
if (accountName.equals(player.getAccountName()) && player.hasPremiumStatus())
|
||||
if (accountName.equalsIgnoreCase(player.getAccountName()) && player.hasPremiumStatus())
|
||||
{
|
||||
player.setPremiumStatus(false);
|
||||
stopExpireTask(player);
|
||||
@@ -206,13 +206,13 @@ public class PremiumManager
|
||||
}
|
||||
|
||||
// UPDATE CACHE
|
||||
_premiumData.remove(accountName);
|
||||
_premiumData.remove(accountName.toLowerCase());
|
||||
|
||||
// UPDATE DATABASE
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement stmt = con.prepareStatement(DELETE_SQL))
|
||||
{
|
||||
stmt.setString(1, accountName);
|
||||
stmt.setString(1, accountName.toLowerCase());
|
||||
stmt.execute();
|
||||
}
|
||||
catch (SQLException e)
|
||||
|
Reference in New Issue
Block a user