item controller: don't return duplicate items in bulk lookup

This commit is contained in:
Adam
2018-05-13 08:14:12 -04:00
parent 3ffcdafa26
commit ede2041a61

View File

@@ -30,7 +30,9 @@ import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
@@ -197,9 +199,16 @@ public class ItemController
itemIds = Arrays.copyOf(itemIds, MAX_BATCH_LOOKUP);
}
Set<Integer> seen = new HashSet<>();
List<ItemPrice> itemPrices = new ArrayList<>(itemIds.length);
for (int itemId : itemIds)
{
if (seen.contains(itemId))
{
continue;
}
seen.add(itemId);
ItemEntry item = itemService.getItem(itemId);
PriceEntry priceEntry = itemService.getPrice(itemId, null);