资源列表增加分类过滤

This commit is contained in:
none 2023-03-02 15:38:51 +08:00
parent 5e08a55f5e
commit 8285daccc8
4 changed files with 39 additions and 22 deletions

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -15,4 +15,10 @@ public class ResourcePaginateFilter {
private String disk;
private String sortField;
private String sortAlgo;
private Integer[] categoryIds;
}