wangqifan %!s(int64=3) %!d(string=hai) anos
pai
achega
fce346ed2b

+ 11 - 0
src/main/java/com/izouma/nineth/service/CollectionService.java

@@ -178,6 +178,17 @@ public class CollectionService {
             });
         }
 
+        if (query.containsKey("tagId")) {
+            int tagId = (int) query.get("tagId");
+            Long tag = (long) tagId;
+            specification = specification.and((Specification<Collection>) (root, criteriaQuery, criteriaBuilder) -> {
+                List<Predicate> and = new ArrayList<>();
+                and.add(criteriaBuilder.equal(root.join("tags").get("id"), tag));
+                return criteriaBuilder.and(and.toArray(new Predicate[0]));
+            });
+
+        }
+
 //        if (pageRequest.getSort().stream().noneMatch(order -> order.getProperty().equals("createdAt"))) {
 //            pageRequest = PageRequest.of(pageRequest.getPageNumber(), pageQuery.getSize(),
 //                    pageRequest.getSort().and(Sort.by("createdAt").descending()));