diff --git a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java index 274809b..1901edf 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java @@ -43,7 +43,7 @@ public class ResourceController { String sortAlgo = MapUtils.getString(params, "sort_algo"); String name = MapUtils.getString(params, "name"); String type = MapUtils.getString(params, "type"); - String categoryIdsStr = MapUtils.getString(params, "category_ids"); + String categoryIds = MapUtils.getString(params, "category_ids"); if (type == null || type.trim().length() == 0) { return JsonResponse.error("请选择资源类型"); @@ -53,13 +53,10 @@ public class ResourceController { filter.setSortAlgo(sortAlgo); filter.setSortField(sortField); filter.setType(type); + filter.setCategoryIds(categoryIds); if (name != null && name.length() > 0) { filter.setName(name); } - if (categoryIdsStr != null && categoryIdsStr.length() != 0) { - Integer[] categoryIds = Arrays.stream(categoryIdsStr.split(",")).map(Integer::valueOf).toArray(Integer[]::new); - filter.setCategoryIds(categoryIds); - } PaginationResult result = resourceService.paginate(page, size, filter); diff --git a/src/main/java/xyz/playedu/api/service/impl/ResourceServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/ResourceServiceImpl.java index 7d51687..8005575 100644 --- a/src/main/java/xyz/playedu/api/service/impl/ResourceServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/ResourceServiceImpl.java @@ -54,12 +54,13 @@ public class ResourceServiceImpl extends ServiceImpl i if (filter.getType() != null) { wrapper.eq("type", filter.getType()); } - if (filter.getCategoryIds() != null && filter.getCategoryIds().length > 0) { - List ridArray = relationService.getRidsByCids(Arrays.asList(filter.getCategoryIds())); - if (ridArray == null || ridArray.size() == 0) { - ridArray = HelperUtil.zeroIntegerList(); + if (filter.getCategoryIds() != null && filter.getCategoryIds().trim().length() > 0) { + List categoryIds = Arrays.stream(filter.getCategoryIds().split(",")).map(Integer::valueOf).toList(); + List ids = relationService.getRidsByCids(categoryIds); + if (ids == null || ids.size() == 0) { + ids = HelperUtil.zeroIntegerList(); } - wrapper.in("id", ridArray); + wrapper.in("id", ids); } String sortFiled = filter.getSortField(); diff --git a/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java index 54aecd6..4ee6753 100644 --- a/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java @@ -6,6 +6,7 @@ import xyz.playedu.api.service.ResourceVideoService; import xyz.playedu.api.mapper.ResourceVideoMapper; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -34,6 +35,9 @@ public class ResourceVideoServiceImpl extends ServiceImpl chunksByRids(List resourceIds) { + if (resourceIds == null || resourceIds.size() == 0) { + return new ArrayList<>(); + } return list(query().getWrapper().in("rid", resourceIds)); } } diff --git a/src/main/java/xyz/playedu/api/types/paginate/ResourcePaginateFilter.java b/src/main/java/xyz/playedu/api/types/paginate/ResourcePaginateFilter.java index eb273a9..9be5c70 100644 --- a/src/main/java/xyz/playedu/api/types/paginate/ResourcePaginateFilter.java +++ b/src/main/java/xyz/playedu/api/types/paginate/ResourcePaginateFilter.java @@ -19,7 +19,7 @@ public class ResourcePaginateFilter { private String sortAlgo; - private Integer[] categoryIds; + private String categoryIds; private String type; diff --git a/src/main/java/xyz/playedu/api/util/HelperUtil.java b/src/main/java/xyz/playedu/api/util/HelperUtil.java index 32340d5..0969c66 100644 --- a/src/main/java/xyz/playedu/api/util/HelperUtil.java +++ b/src/main/java/xyz/playedu/api/util/HelperUtil.java @@ -15,9 +15,9 @@ public class HelperUtil { public static List zeroIntegerList() { - List list = new ArrayList<>(1); - list.add(0); - return list; + return new ArrayList<>() {{ + add(0); + }}; } public static String MD5(String text) {