mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-06-08 02:04:04 +08:00
资源列表增加分类过滤
This commit is contained in:
parent
5e08a55f5e
commit
8285daccc8
@ -19,8 +19,8 @@ docker run -p 9000:9000 -p 50000:50000 -d --name playedu-minio \
|
||||
|
||||
```
|
||||
docker run -p 9000:9000 -p 50000:50000 -d --name playedu-minio \
|
||||
-e "MINIO_ACCESS_KEY=自定义用户名" \
|
||||
-e "MINIO_SECRET_KEY=自定义密码" \
|
||||
-e "MINIO_ACCESS_KEY=自定义AccessKey" \
|
||||
-e "MINIO_SECRET_KEY=自定义SecretKey" \
|
||||
-v /mnt/data:/data \
|
||||
-v /mnt/config:/root/.minio \
|
||||
minio/minio server --console-address ":50000" /data
|
||||
|
@ -39,12 +39,21 @@ public class ResourceController {
|
||||
public JsonResponse index(@RequestParam HashMap<String, Object> params) {
|
||||
Integer page = MapUtils.getInteger(params, "page", 1);
|
||||
Integer size = MapUtils.getInteger(params, "size", 10);
|
||||
String sortField = MapUtils.getString(params, "sort_field", "id");
|
||||
String sortAlgo = MapUtils.getString(params, "sort_algo", "desc");
|
||||
String name = MapUtils.getString(params, "name");
|
||||
String categoryIdsStr = MapUtils.getString(params, "category_ids");
|
||||
|
||||
ResourcePaginateFilter filter = new ResourcePaginateFilter();
|
||||
filter.setSortAlgo(sortAlgo);
|
||||
filter.setSortField(sortField);
|
||||
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<Resource> result = resourceService.paginate(page, size, filter);
|
||||
|
||||
@ -87,16 +96,7 @@ public class ResourceController {
|
||||
}
|
||||
}
|
||||
|
||||
Resource res = resourceService.create(
|
||||
categoryId,
|
||||
req.getName(),
|
||||
extension,
|
||||
req.getSize(),
|
||||
disk,
|
||||
req.getFileId(),
|
||||
req.getPath(),
|
||||
req.getUrl()
|
||||
);
|
||||
Resource res = resourceService.create(categoryId, req.getName(), extension, req.getSize(), disk, req.getFileId(), req.getPath(), req.getUrl());
|
||||
|
||||
if (isVideoType) {
|
||||
resourceVideoService.create(res.getId(), duration);
|
||||
|
@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
|
||||
import xyz.playedu.api.types.paginate.PaginationResult;
|
||||
import xyz.playedu.api.types.paginate.ResourcePaginateFilter;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@ -24,16 +26,25 @@ public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> i
|
||||
@Override
|
||||
public PaginationResult<Resource> paginate(int page, int size, ResourcePaginateFilter filter) {
|
||||
QueryWrapper<Resource> wrapper = query().getWrapper().eq("1", "1");
|
||||
if (filter != null) {
|
||||
if (filter.getName() != null) {
|
||||
wrapper.like("name", "%" + filter.getName() + "%");
|
||||
}
|
||||
if (filter.getDisk() != null) {
|
||||
wrapper.eq("disk", filter.getDisk());
|
||||
}
|
||||
if (filter.getExtension() != null) {
|
||||
wrapper.eq("extension", filter.getExtension());
|
||||
}
|
||||
|
||||
if (filter.getName() != null) {
|
||||
wrapper.like("name", "%" + filter.getName() + "%");
|
||||
}
|
||||
if (filter.getDisk() != null) {
|
||||
wrapper.eq("disk", filter.getDisk());
|
||||
}
|
||||
if (filter.getExtension() != null) {
|
||||
wrapper.eq("extension", filter.getExtension());
|
||||
}
|
||||
if (filter.getCategoryIds() != null && filter.getCategoryIds().length > 0) {
|
||||
wrapper.in("category_id", Arrays.asList(filter.getCategoryIds()));
|
||||
}
|
||||
|
||||
// 排序
|
||||
if (filter.getSortAlgo().equals("desc")) {
|
||||
wrapper.orderByDesc(filter.getSortField());
|
||||
} else {
|
||||
wrapper.orderByAsc(filter.getSortField());
|
||||
}
|
||||
|
||||
IPage<Resource> adminPage = new Page<>(page, size);
|
||||
|
@ -15,4 +15,10 @@ public class ResourcePaginateFilter {
|
||||
|
||||
private String disk;
|
||||
|
||||
private String sortField;
|
||||
|
||||
private String sortAlgo;
|
||||
|
||||
private Integer[] categoryIds;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user