Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.69 KB | None | 0 0
  1.    @Command(aliases = "listorders", privateMessages = false)
  2.     public String listorders(User u, Message m, ServerTextChannel c) {
  3.         if (Permissions.isBlackListed(u) && !Permissions.isDeveloper(u)) {
  4.             c.sendMessage(Permissions.blacklistEmbed(m));
  5.             return null;
  6.         }
  7.         if (!Permissions.isWorker(u)) {
  8.             c.sendMessage(Permissions.permissionCheckEmbed(m));
  9.             return null;
  10.         }
  11.  
  12.         StringBuilder unclaimed = new StringBuilder();
  13.         StringBuilder claimed = new StringBuilder();
  14.         StringBuilder cooking = new StringBuilder();
  15.         StringBuilder done = new StringBuilder();
  16.  
  17.         Map<Order.Status, List<Order>> unclaimedOrders = orders.values()
  18.                 .stream()
  19.                 .filter(o -> o.status.equals(Order.Status.UNCLAIMED))
  20.                 .collect(Collectors.groupingBy(o -> o.status));
  21.  
  22.         Map<Order.Status, List<Order>> claimedOrders = orders.values()
  23.                 .stream()
  24.                 .filter(o -> o.status.equals(Order.Status.CLAIMED))
  25.                 .collect(Collectors.groupingBy(o -> o.status));
  26.  
  27.         Map<Order.Status, List<Order>> cookingOrders = orders.values()
  28.                 .stream()
  29.                 .filter(o -> o.status.equals(Order.Status.COOKING))
  30.                 .collect(Collectors.groupingBy(o -> o.status));
  31.  
  32.         Map<Order.Status, List<Order>> doneOrders = orders.values()
  33.                 .stream()
  34.                 .filter(o -> o.status.equals(Order.Status.DONE))
  35.                 .collect(Collectors.groupingBy(o -> o.status));
  36.  
  37.         unclaimedOrders.keySet()
  38.                 .forEach(s -> {
  39.                     unclaimedOrders.get(s).forEach(Order -> {
  40.                         unclaimed.append("__").append(Order.id).append("__\n");
  41.                     });
  42.                 });
  43.  
  44.         claimedOrders.keySet()
  45.                 .forEach(s -> {
  46.                     claimed.append("|").append(s.name()).append("|:\n");
  47.                     claimedOrders.get(s).forEach(Order -> {
  48.                         claimed.append("__").append(Order.id).append("__\n");
  49.                     });
  50.                 });
  51.  
  52.         cookingOrders.keySet()
  53.                 .forEach(s -> {
  54.                     cookingOrders.get(s).forEach(Order -> {
  55.                         cooking.append("__").append(Order.id).append("__\n");
  56.                     });
  57.                 });
  58.  
  59.         doneOrders.keySet()
  60.                 .forEach(s -> {
  61.                     doneOrders.get(s).forEach(Order -> {
  62.                         done.append("__").append(Order.id).append("__\n");
  63.                     });
  64.                 });
  65.  
  66.         if (unclaimed.length() == 0) {
  67.             unclaimed.append("No unclaimed orders.");
  68.         }
  69.  
  70.         if (claimed.length() == 0) {
  71.             claimed.append("No claimed orders.");
  72.         }
  73.  
  74.         if (cooking.length() == 0) {
  75.             cooking.append("No cooking orders.");
  76.         }
  77.  
  78.         if (done.length() == 0) {
  79.             done.append("No completed orders.");
  80.         }
  81.  
  82.         System.out.println("Command>> " + u + " listed the active orders.");
  83.         EmbedBuilder responseEmbed = new EmbedBuilder()
  84.                 .setColor(Permissions.borderColor)
  85.                 .setAuthor("Listing Open Orders:")
  86.                 .addField("Unclaimed", unclaimed.toString(), true)
  87.                 .addField("Claimed", claimed.toString(), true)
  88.                 .addField("Cooking", cooking.toString(), true)
  89.                 .addField("Done", done.toString(), true)
  90.                 .setFooter("Discord Cookies", Permissions.icon)
  91.                 .setTimestamp(m.getCreationTimestamp());
  92.         c.sendMessage(responseEmbed);
  93.         return null;
  94.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement