Add header to /reportstats and further improvements

This commit is contained in:
Keir Nellyer 2016-10-13 02:15:49 +01:00
parent 2e16eef5d9
commit 03e219f552

View File

@ -39,7 +39,10 @@ public class ReportStatsCommand extends CommandBase<ReportPlugin>
int accountId = accountIdOptional.get(); int accountId = accountIdOptional.get();
Plugin.getReportManager().getReportRepository().getAccountStatistics(accountId).thenCompose(BukkitFuture.accept(stats -> Plugin.getReportManager().getReportRepository().getAccountStatistics(accountId).thenCompose(BukkitFuture.accept(stats ->
stats.keySet().forEach(role -> {
UtilPlayer.message(player, F.main(Plugin.getName(), "Report Statistics for " + F.elem(playerName)));
for (ReportRole role : ReportRole.values())
{ {
long[] idArray = stats.get(role).stream() long[] idArray = stats.get(role).stream()
.sorted((l1, l2) -> Longs.compare(l2, l1)) .sorted((l1, l2) -> Longs.compare(l2, l1))
@ -47,15 +50,14 @@ public class ReportStatsCommand extends CommandBase<ReportPlugin>
.toArray(); .toArray();
int reportCount = idArray.length; int reportCount = idArray.length;
// don't show handler statistics if user has never handled a report
if (role != ReportRole.HANDLER || reportCount > 0)
{
// create clickable report ids // create clickable report ids
ChildJsonMessage jsonMessage = new JsonMessage(F.main(Plugin.getName(), "")) ChildJsonMessage jsonMessage = new JsonMessage(F.main(Plugin.getName(), ""))
.extra(C.mElem); .extra(C.mElem);
int displayAmount = Math.min(idArray.length, 5); int displayAmount = Math.min(idArray.length, 5);
if (displayAmount > 0)
{
for (int i = 0; i < displayAmount; i++) for (int i = 0; i < displayAmount; i++)
{ {
long reportId = idArray[i]; long reportId = idArray[i];
@ -68,11 +70,16 @@ public class ReportStatsCommand extends CommandBase<ReportPlugin>
jsonMessage = jsonMessage.add(", "); jsonMessage = jsonMessage.add(", ");
} }
} }
}
else
{
jsonMessage = jsonMessage.add("N/A");
}
UtilPlayer.message(player, F.main(Plugin.getName(), F.elem(role.getHumanName()) + " (" + reportCount + ")")); UtilPlayer.message(player, F.main(Plugin.getName(), F.elem(role.getHumanName()) + " (" + reportCount + ")"));
jsonMessage.sendToPlayer(player); jsonMessage.sendToPlayer(player);
} }
}) }
)); ));
} }
else else