diff --git a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java index 2953cfb..198ce72 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/CourseController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/CourseController.java @@ -47,6 +47,7 @@ public class CourseController { Integer size = MapUtils.getInteger(params, "size", 10); String sortField = MapUtils.getString(params, "sort_field"); String sortAlgo = MapUtils.getString(params, "sort_algo"); + String title = MapUtils.getString(params, "title"); String depIds = MapUtils.getString(params, "dep_ids"); String categoryIds = MapUtils.getString(params, "category_ids"); @@ -55,14 +56,8 @@ public class CourseController { filter.setTitle(title); filter.setSortField(sortField); filter.setSortAlgo(sortAlgo); - if (depIds != null && depIds.length() > 0) { - filter.setDepIds(Arrays.stream(depIds.split(",")).map(Integer::valueOf).toArray(Integer[]::new)); - } - if (categoryIds != null && categoryIds.length() > 0) { - filter.setCategoryIds(Arrays.stream(categoryIds.split(",")).map(Integer::valueOf).toArray(Integer[]::new)); - } - - log.info("filter:" + filter); + filter.setCategoryIds(categoryIds); + filter.setDepIds(depIds); PaginationResult result = courseService.paginate(page, size, filter); return JsonResponse.data(result); diff --git a/src/main/java/xyz/playedu/api/service/CourseDepartmentService.java b/src/main/java/xyz/playedu/api/service/CourseDepartmentService.java index 4a1ccb9..321ea47 100644 --- a/src/main/java/xyz/playedu/api/service/CourseDepartmentService.java +++ b/src/main/java/xyz/playedu/api/service/CourseDepartmentService.java @@ -12,7 +12,7 @@ import java.util.List; */ public interface CourseDepartmentService extends IService { - List getCourseIdsByDepIds(Integer[] depIds); + List getCourseIdsByDepIds(List depIds); List getDepIdsByCourseId(Integer courseId); diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseDepartmentServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseDepartmentServiceImpl.java index 4193aec..391be83 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseDepartmentServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseDepartmentServiceImpl.java @@ -18,29 +18,13 @@ import java.util.List; public class CourseDepartmentServiceImpl extends ServiceImpl implements CourseDepartmentService { @Override - public List getCourseIdsByDepIds(Integer[] depIds) { - List ids = new ArrayList<>(); - List courseDepartments = list(query().getWrapper().in("dep_id", depIds)); - if (courseDepartments.size() == 0) { - return ids; - } - for (CourseDepartment courseDepartment : courseDepartments) { - ids.add(courseDepartment.getCourseId()); - } - return ids; + public List getCourseIdsByDepIds(List depIds) { + return list(query().getWrapper().in("dep_id", depIds)).stream().map(CourseDepartment::getCourseId).toList(); } @Override public List getDepIdsByCourseId(Integer courseId) { - List ids = new ArrayList<>(); - List courseDepartments = list(query().getWrapper().eq("course_id", courseId)); - if (courseDepartments.size() == 0) { - return ids; - } - for (CourseDepartment courseDepartment : courseDepartments) { - ids.add(courseDepartment.getDepId()); - } - return ids; + return list(query().getWrapper().eq("course_id", courseId)).stream().map(CourseDepartment::getDepId).toList(); } @Override diff --git a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java index 852e49c..13966a3 100644 --- a/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/CourseServiceImpl.java @@ -20,6 +20,7 @@ import xyz.playedu.api.types.paginate.PaginationResult; import xyz.playedu.api.util.HelperUtil; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -44,15 +45,17 @@ public class CourseServiceImpl extends ServiceImpl impleme if (filter.getTitle() != null && filter.getTitle().length() > 0) { wrapper.like("title", "%" + filter.getTitle() + "%"); } - if (filter.getDepIds() != null && filter.getDepIds().length > 0) { - List courseIds = courseDepartmentService.getCourseIdsByDepIds(filter.getDepIds()); + if (filter.getDepIds() != null && filter.getDepIds().trim().length() > 0) { + List depIds = Arrays.stream(filter.getDepIds().split(",")).map(Integer::valueOf).toList(); + List courseIds = courseDepartmentService.getCourseIdsByDepIds(depIds); if (courseIds == null || courseIds.size() == 0) { courseIds = HelperUtil.zeroIntegerList(); } wrapper.in("id", courseIds); } - if (filter.getCategoryIds() != null && filter.getCategoryIds().length > 0) { - List courseIds = courseCategoryService.getCourseIdsByCategoryIds(List.of(filter.getCategoryIds())); + if (filter.getCategoryIds() != null && filter.getCategoryIds().trim().length() > 0) { + List categoryIds = Arrays.stream(filter.getCategoryIds().split(",")).map(Integer::valueOf).toList(); + List courseIds = courseCategoryService.getCourseIdsByCategoryIds(categoryIds); if (courseIds == null || courseIds.size() == 0) { courseIds = HelperUtil.zeroIntegerList(); } diff --git a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java index 08ec1b1..805204e 100644 --- a/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java +++ b/src/main/java/xyz/playedu/api/types/paginate/CoursePaginateFiler.java @@ -11,9 +11,9 @@ public class CoursePaginateFiler { private String title; - private Integer[] depIds; + private String depIds; - private Integer[] categoryIds; + private String categoryIds; private String sortField;