From 2ea4166fabd53f29a8127a10fe15cf0acd8bcaaf Mon Sep 17 00:00:00 2001 From: none Date: Tue, 7 Mar 2023 13:29:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E8=B5=84=E6=BA=90=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E8=BF=94=E5=9B=9E=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ResourceController.java | 13 ++++++++++++- .../api/service/ResourceVideoService.java | 13 +++++++++---- .../service/impl/ResourceVideoServiceImpl.java | 18 ++++++++++++------ 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java index 8a47370..7414ed2 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/ResourceController.java @@ -12,6 +12,7 @@ import xyz.playedu.api.config.MinioConfig; import xyz.playedu.api.constant.BackendConstant; import xyz.playedu.api.domain.Resource; import xyz.playedu.api.domain.ResourceCategory; +import xyz.playedu.api.domain.ResourceVideo; import xyz.playedu.api.exception.NotFoundException; import xyz.playedu.api.request.backend.ResourceRequest; import xyz.playedu.api.service.ResourceCategoryService; @@ -22,6 +23,7 @@ import xyz.playedu.api.types.paginate.PaginationResult; import xyz.playedu.api.types.paginate.ResourcePaginateFilter; import java.util.*; +import java.util.stream.Collectors; /** * @Author 杭州白书科技有限公司 @@ -75,7 +77,16 @@ public class ResourceController { PaginationResult result = resourceService.paginate(page, size, filter); - return JsonResponse.data(result); + HashMap data = new HashMap<>(); + data.put("result", result); + + if (type.equals(BackendConstant.RESOURCE_TYPE_VIDEO)) { + List resourceVideos = resourceVideoService.chunksByResourceIds(result.getData().stream().map(Resource::getId).collect(Collectors.toList())); + Map resourceVideosMap = resourceVideos.stream().collect(Collectors.toMap(ResourceVideo::getRid, ResourceVideo::getDuration)); + data.put("video_duration", resourceVideosMap); + } + + return JsonResponse.data(data); } @GetMapping("/create") diff --git a/src/main/java/xyz/playedu/api/service/ResourceVideoService.java b/src/main/java/xyz/playedu/api/service/ResourceVideoService.java index 47806f1..92ae338 100644 --- a/src/main/java/xyz/playedu/api/service/ResourceVideoService.java +++ b/src/main/java/xyz/playedu/api/service/ResourceVideoService.java @@ -3,14 +3,19 @@ package xyz.playedu.api.service; import xyz.playedu.api.domain.ResourceVideo; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; +import java.util.Map; + /** -* @author tengteng -* @description 针对表【resource_videos】的数据库操作Service -* @createDate 2023-03-02 15:13:03 -*/ + * @author tengteng + * @description 针对表【resource_videos】的数据库操作Service + * @createDate 2023-03-02 15:13:03 + */ public interface ResourceVideoService extends IService { void create(Integer resourceId, Integer duration); void removeByRid(Integer resourceId); + + List chunksByResourceIds(List resourceIds); } diff --git a/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java index 40e6e53..346de05 100644 --- a/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/ResourceVideoServiceImpl.java @@ -7,15 +7,16 @@ import xyz.playedu.api.mapper.ResourceVideoMapper; import org.springframework.stereotype.Service; import java.util.Date; +import java.util.List; +import java.util.Map; /** -* @author tengteng -* @description 针对表【resource_videos】的数据库操作Service实现 -* @createDate 2023-03-02 15:13:03 -*/ + * @author tengteng + * @description 针对表【resource_videos】的数据库操作Service实现 + * @createDate 2023-03-02 15:13:03 + */ @Service -public class ResourceVideoServiceImpl extends ServiceImpl - implements ResourceVideoService{ +public class ResourceVideoServiceImpl extends ServiceImpl implements ResourceVideoService { @Override public void create(Integer resourceId, Integer duration) { ResourceVideo video = new ResourceVideo(); @@ -29,6 +30,11 @@ public class ResourceVideoServiceImpl extends ServiceImpl chunksByResourceIds(List resourceIds) { + return list(query().getWrapper().in("rid", resourceIds)); + } }