|
|
@@ -26,7 +26,10 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
import org.springframework.core.env.Environment;
|
|
|
-import org.springframework.data.domain.*;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.PageImpl;
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.data.redis.core.BoundHashOperations;
|
|
|
import org.springframework.data.redis.core.BoundValueOperations;
|
|
|
@@ -36,14 +39,14 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
-import javax.persistence.criteria.*;
|
|
|
+import javax.persistence.criteria.Join;
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
import javax.transaction.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.ExecutionException;
|
|
|
import java.util.concurrent.ForkJoinPool;
|
|
|
import java.util.concurrent.ScheduledFuture;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
@@ -111,7 +114,13 @@ public class CollectionService {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ if (query.containsKey("distinct")) {
|
|
|
+ query.remove("distinct");
|
|
|
+ specification = specification.and((Specification<Collection>) (root, criteriaQuery, criteriaBuilder) -> {
|
|
|
+ criteriaQuery.groupBy(root.get("name"));
|
|
|
+ return criteriaBuilder.and();
|
|
|
+ });
|
|
|
+ }
|
|
|
if (query.containsKey("rarityLabel")) {
|
|
|
String rarityLabel = String.valueOf(query.get("rarityLabel"));
|
|
|
query.remove("rarityLabel");
|