Premium system for the custom community board.

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2016-12-29 21:54:44 +00:00
parent ac16e869c8
commit 61efe4651f
8 changed files with 258 additions and 44 deletions

View File

@ -62,7 +62,42 @@ public class PremiumManager
return endDate;
}
public void updatePremiumData(int months, String accountName)
public void addPremiumDays(int days, String accountName)
{
long remainingTime = getPremiumEndDate(accountName);
if (remainingTime > 0)
{
remainingTime -= System.currentTimeMillis();
}
try (Connection con = DatabaseFactory.getInstance().getConnection())
{
final Calendar endDate = Calendar.getInstance();
endDate.setTimeInMillis(System.currentTimeMillis() + remainingTime);
endDate.set(Calendar.SECOND, 0);
endDate.add(Calendar.HOUR, 24 * days);
final PreparedStatement statement = con.prepareStatement("UPDATE account_premium SET premium_service=?,enddate=? WHERE account_name=?");
statement.setInt(1, 1);
statement.setLong(2, endDate.getTimeInMillis());
statement.setString(3, accountName);
statement.execute();
statement.close();
}
catch (SQLException e)
{
}
for (L2PcInstance player : L2World.getInstance().getPlayers())
{
if (player.getAccountNamePlayer().equalsIgnoreCase(accountName))
{
player.setPremiumStatus(getPremiumEndDate(accountName) > 0);
}
}
}
public void addPremiumMonths(int months, String accountName)
{
long remainingTime = getPremiumEndDate(accountName);
if (remainingTime > 0)