Update support server to accommodate power play changes

This commit is contained in:
cnr 2016-09-30 21:52:07 -07:00
parent 6e2512e0cf
commit e867a09b5c
2 changed files with 12 additions and 8 deletions

View File

@ -137,13 +137,16 @@ public class PowerPlayClubRepository implements Listener {
public CompletableFuture<PowerPlayData> loadData(Player player)
{
return loadSubscriptions(player).thenCombine(loadClaimMonths(player), PowerPlayData::fromSubsAndClaims);
return loadData(_clientManager.Get(player).getAccountId());
}
public CompletableFuture<List<YearMonth>> loadClaimMonths(Player player)
public CompletableFuture<PowerPlayData> loadData(int accountId)
{
int accountId = _clientManager.Get(player).getAccountId();
return loadSubscriptions(accountId).thenCombine(loadClaimMonths(accountId), PowerPlayData::fromSubsAndClaims);
}
public CompletableFuture<List<YearMonth>> loadClaimMonths(int accountId)
{
return CompletableFuture.supplyAsync(() ->
{
try (Connection connection = DBPool.getAccount().getConnection())
@ -166,10 +169,8 @@ public class PowerPlayClubRepository implements Listener {
});
}
public CompletableFuture<List<PowerPlayData.Subscription>> loadSubscriptions(Player player)
public CompletableFuture<List<PowerPlayData.Subscription>> loadSubscriptions(int accountId)
{
int accountId = _clientManager.Get(player).getAccountId();
return CompletableFuture.supplyAsync(() ->
{
try (Connection connection = DBPool.getAccount().getConnection())

View File

@ -2,6 +2,7 @@ package mineplex.staffServer.customerSupport;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.YearMonth;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashSet;
@ -9,6 +10,7 @@ import java.util.List;
import java.util.Locale;
import java.util.UUID;
import mineplex.core.powerplayclub.PowerPlayData;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -118,8 +120,9 @@ public class CustomerSupport extends MiniPlugin implements ResultSetCallable
{
_repository.loadBonusLogForAccountId(client.getAccountId(), instance);
boolean powerPlaySub = _powerPlayRepo.hasSubscription(client.getAccountId()).join();
boolean powerPlayClaim = _powerPlayRepo.hasClaimed(client.getAccountId()).join();
PowerPlayData powerPlayData = _powerPlayRepo.loadData(client.getAccountId()).join();
boolean powerPlaySub = powerPlayData.isSubscribed();
boolean powerPlayClaim = powerPlaySub && !powerPlayData.getUnclaimedMonths().contains(YearMonth.now());
runSync(new Runnable()
{