mirror of
https://github.com/PlayEdu/PlayEdu
synced 2025-12-24 03:29:29 +08:00
资源分类增加检测api
This commit is contained in:
@@ -6,12 +6,16 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import xyz.playedu.api.PlayEduBContext;
|
||||
import xyz.playedu.api.constant.BPermissionConstant;
|
||||
import xyz.playedu.api.constant.BackendConstant;
|
||||
import xyz.playedu.api.domain.Resource;
|
||||
import xyz.playedu.api.domain.ResourceCategory;
|
||||
import xyz.playedu.api.event.ResourceCategoryDestroyEvent;
|
||||
import xyz.playedu.api.exception.NotFoundException;
|
||||
import xyz.playedu.api.middleware.BackendPermissionMiddleware;
|
||||
import xyz.playedu.api.request.backend.ResourceCategoryRequest;
|
||||
import xyz.playedu.api.service.CourseService;
|
||||
import xyz.playedu.api.service.ResourceCategoryService;
|
||||
import xyz.playedu.api.service.ResourceService;
|
||||
import xyz.playedu.api.types.JsonResponse;
|
||||
|
||||
import java.util.*;
|
||||
@@ -28,6 +32,12 @@ public class ResourceCategoryController {
|
||||
@Autowired
|
||||
private ResourceCategoryService categoryService;
|
||||
|
||||
@Autowired
|
||||
private CourseService courseService;
|
||||
|
||||
@Autowired
|
||||
private ResourceService resourceService;
|
||||
|
||||
@Autowired
|
||||
private ApplicationContext ctx;
|
||||
|
||||
@@ -79,6 +89,39 @@ public class ResourceCategoryController {
|
||||
return JsonResponse.success();
|
||||
}
|
||||
|
||||
@BackendPermissionMiddleware(slug = BPermissionConstant.RESOURCE_CATEGORY)
|
||||
@GetMapping("/{id}/destroy")
|
||||
public JsonResponse preDestroy(@PathVariable Integer id) {
|
||||
List<Integer> courseIds = categoryService.getCourseIdsById(id);
|
||||
List<Integer> rids = categoryService.getRidsById(id);
|
||||
|
||||
HashMap<String, Object> data = new HashMap<>();
|
||||
data.put("courses", new ArrayList<>());
|
||||
data.put("videos", new ArrayList<>());
|
||||
data.put("images", new ArrayList<>());
|
||||
|
||||
if (courseIds != null && courseIds.size() > 0) {
|
||||
data.put("courses", courseService.chunks(courseIds, new ArrayList<>() {{
|
||||
add("id");
|
||||
add("title");
|
||||
}}));
|
||||
}
|
||||
|
||||
if (rids != null && rids.size() > 0) {
|
||||
Map<String, List<Resource>> resources = resourceService.chunks(rids, new ArrayList<>() {{
|
||||
add("id");
|
||||
add("admin_id");
|
||||
add("type");
|
||||
add("name");
|
||||
add("url");
|
||||
}}).stream().collect(Collectors.groupingBy(Resource::getType));
|
||||
data.put("videos", resources.get(BackendConstant.RESOURCE_TYPE_VIDEO));
|
||||
data.put("images", resources.get(BackendConstant.RESOURCE_TYPE_IMAGE));
|
||||
}
|
||||
|
||||
return JsonResponse.data(data);
|
||||
}
|
||||
|
||||
@BackendPermissionMiddleware(slug = BPermissionConstant.RESOURCE_CATEGORY)
|
||||
@DeleteMapping("/{id}")
|
||||
public JsonResponse destroy(@PathVariable Integer id) throws NotFoundException {
|
||||
|
||||
Reference in New Issue
Block a user