返回资源分类的资源数量

This commit is contained in:
none
2023-03-15 11:31:42 +08:00
parent cca6d050bc
commit 3b67766ab2
12 changed files with 116 additions and 20 deletions

View File

@@ -7,6 +7,7 @@ import xyz.playedu.api.types.paginate.CoursePaginateFiler;
import xyz.playedu.api.types.paginate.PaginationResult;
import java.util.List;
import java.util.Map;
/**
* @author tengteng
@@ -42,4 +43,8 @@ public interface CourseService extends IService<Course> {
List<Course> chunks(List<Integer> ids, List<String> fields);
List<Course> chunks(List<Integer> ids);
Map<Integer, Integer> getCategoryCount();
Integer total();
}

View File

@@ -7,6 +7,7 @@ import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.ResourcePaginateFilter;
import java.util.List;
import java.util.Map;
/**
* @author tengteng
@@ -29,4 +30,7 @@ public interface ResourceService extends IService<Resource> {
List<Resource> chunks(List<Integer> ids, List<String> fields);
Map<Integer, Integer> getCategoryCount(String type);
Integer total(String type);
}

View File

@@ -15,14 +15,13 @@ 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;
import xyz.playedu.api.util.HelperUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author tengteng
@@ -208,6 +207,16 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
public List<Course> chunks(List<Integer> ids) {
return list(query().getWrapper().in("id", ids));
}
@Override
public Map<Integer, Integer> getCategoryCount() {
return getBaseMapper().getCategoryCount().stream().collect(Collectors.toMap(CourseCategoryCountMapper::getCid, CourseCategoryCountMapper::getTotal));
}
@Override
public Integer total() {
return Math.toIntExact(count());
}
}

View File

@@ -14,15 +14,14 @@ import xyz.playedu.api.mapper.ResourceMapper;
import org.springframework.stereotype.Service;
import xyz.playedu.api.service.ResourceVideoService;
import xyz.playedu.api.service.internal.ResourceCategoryRelationService;
import xyz.playedu.api.types.mapper.ResourceCategoryCountMapper;
import xyz.playedu.api.types.paginate.PaginationResult;
import xyz.playedu.api.types.paginate.ResourcePaginateFilter;
import xyz.playedu.api.util.HelperUtil;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author tengteng
@@ -155,6 +154,16 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
public List<Resource> chunks(List<Integer> ids, List<String> fields) {
return list(query().getWrapper().in("id", ids).select(fields));
}
@Override
public Map<Integer, Integer> getCategoryCount(String type) {
return getBaseMapper().getCategoryCount(type).stream().collect(Collectors.toMap(ResourceCategoryCountMapper::getCid, ResourceCategoryCountMapper::getTotal));
}
@Override
public Integer total(String type) {
return Math.toIntExact(count(query().getWrapper().eq("type", type)));
}
}