mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-12-22 18:29:51 +08:00
线上课列表返回分类+部门
This commit is contained in:
@@ -44,9 +44,11 @@ public interface CourseService extends IService<Course> {
|
||||
|
||||
List<Course> chunks(List<Integer> ids);
|
||||
|
||||
Integer total();
|
||||
List<Course> getOpenCoursesAndShow(Integer limit);
|
||||
|
||||
List<Course> openCoursesAndShow(Integer limit);
|
||||
List<Course> getDepCoursesAndShow(List<Integer> depIds);
|
||||
|
||||
List<Course> depCoursesAndShow(List<Integer> depIds);
|
||||
Map<Integer, List<Integer>> getCategoryIdsGroup(List<Integer> courseIds);
|
||||
|
||||
Map<Integer, List<Integer>> getDepIdsGroup(List<Integer> courseIds);
|
||||
}
|
||||
|
||||
@@ -43,4 +43,6 @@ public interface DepartmentService extends IService<Department> {
|
||||
void resetSort(List<Integer> ids);
|
||||
|
||||
Map<Integer, List<Department>> groupByParent();
|
||||
|
||||
Map<Integer, String> id2name();
|
||||
}
|
||||
|
||||
@@ -40,4 +40,5 @@ public interface ResourceCategoryService extends IService<ResourceCategory> {
|
||||
|
||||
Map<Integer, List<ResourceCategory>> groupByParent();
|
||||
|
||||
Map<Integer, String> id2name();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package xyz.playedu.api.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import xyz.playedu.api.domain.ResourceCourseCategory;
|
||||
@@ -12,7 +13,6 @@ import xyz.playedu.api.service.CourseService;
|
||||
import xyz.playedu.api.mapper.CourseMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import xyz.playedu.api.service.internal.ResourceCourseCategoryService;
|
||||
import xyz.playedu.api.types.mapper.CourseCategoryCountMapper;
|
||||
import xyz.playedu.api.types.paginate.CoursePaginateFiler;
|
||||
import xyz.playedu.api.types.paginate.PaginationResult;
|
||||
|
||||
@@ -25,6 +25,7 @@ import java.util.stream.Collectors;
|
||||
* @createDate 2023-02-24 14:14:01
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {
|
||||
|
||||
@Autowired
|
||||
@@ -170,19 +171,41 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer total() {
|
||||
return Math.toIntExact(count());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Course> openCoursesAndShow(Integer limit) {
|
||||
public List<Course> getOpenCoursesAndShow(Integer limit) {
|
||||
return getBaseMapper().openCoursesAndShow(limit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Course> depCoursesAndShow(List<Integer> depIds) {
|
||||
public List<Course> getDepCoursesAndShow(List<Integer> depIds) {
|
||||
return list(query().getWrapper().in("id", courseDepartmentService.getCourseIdsByDepIds(depIds)).eq("is_show", 1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, List<Integer>> getCategoryIdsGroup(List<Integer> courseIds) {
|
||||
Map<Integer, List<ResourceCourseCategory>> data = courseCategoryService
|
||||
.list(courseCategoryService.query().getWrapper().in("course_id", courseIds))
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(ResourceCourseCategory::getCourseId));
|
||||
Map<Integer, List<Integer>> result = new HashMap<>();
|
||||
data.forEach((courseId, records) -> {
|
||||
result.put(courseId, records.stream().map(ResourceCourseCategory::getCategoryId).toList());
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, List<Integer>> getDepIdsGroup(List<Integer> courseIds) {
|
||||
Map<Integer, List<CourseDepartment>> data = courseDepartmentService
|
||||
.list(courseDepartmentService.query().getWrapper().in("course_id", courseIds))
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(CourseDepartment::getCourseId));
|
||||
log.info("data {}", data);
|
||||
Map<Integer, List<Integer>> result = new HashMap<>();
|
||||
data.forEach((courseId, records) -> {
|
||||
result.put(courseId, records.stream().map(CourseDepartment::getDepId).toList());
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -15,10 +15,7 @@ import xyz.playedu.api.mapper.DepartmentMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import xyz.playedu.api.service.internal.UserDepartmentService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -221,6 +218,11 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
||||
public Map<Integer, List<Department>> groupByParent() {
|
||||
return list(query().getWrapper().orderByAsc("sort")).stream().collect(Collectors.groupingBy(Department::getParentId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, String> id2name() {
|
||||
return all().stream().collect(Collectors.toMap(Department::getId, Department::getName));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -204,6 +204,11 @@ public class ResourceCategoryServiceImpl extends ServiceImpl<ResourceCategoryMap
|
||||
public Map<Integer, List<ResourceCategory>> groupByParent() {
|
||||
return list(query().getWrapper().orderByAsc("sort")).stream().collect(Collectors.groupingBy(ResourceCategory::getParentId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, String> id2name() {
|
||||
return all().stream().collect(Collectors.toMap(ResourceCategory::getId, ResourceCategory::getName));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user