From 6c920885a9bc407f2f05e204ae9769631c4c80e7 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 22 Dec 2021 15:02:56 +0800 Subject: [PATCH] 20211216 --- src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java index 91bb612..b67a20f 100644 --- a/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java @@ -2,19 +2,25 @@ import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.utils.AppContants; +import cc.mrbird.febs.common.utils.FileUtil; import cc.mrbird.febs.video.entity.VideoMasterSourceEntity; import cc.mrbird.febs.video.mapper.VideoMasterItemsMapper; import cc.mrbird.febs.video.mapper.VideoMasterSourceMapper; import cc.mrbird.febs.video.service.IVideoMasterSourceService; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.File; import java.util.Date; +import java.util.List; /** * @author wzy @@ -27,6 +33,12 @@ private final VideoMasterItemsMapper videoMasterItemsMapper; + @Value("${system.images.path}") + private String baseSavePath; + + @Value("${system.images.url}") + private String baseUrl; + @Override public IPage<VideoMasterSourceEntity> findInPage(VideoMasterSourceEntity source, QueryRequest queryRequest) { Page<VideoMasterSourceEntity> page = new Page<>(queryRequest.getPageNum(), queryRequest.getPageSize()); @@ -34,10 +46,21 @@ return this.baseMapper.selectInPage(source, page); } + @Override + public void addSource(VideoMasterSourceEntity source) { + Integer second = getVideoTimeLength(source.getUrl()); + source.setTimeSecond(second); + source.setTimeLength(timeFormat(second)); + this.baseMapper.insert(source); + } + @Transactional @Override public void modifySourceById(VideoMasterSourceEntity source) { + Integer second = getVideoTimeLength(source.getUrl()); source.setUpdatedTime(new Date()); + source.setTimeSecond(second); + source.setTimeLength(timeFormat(second)); this.baseMapper.updateById(source); // 同步修改 即将所有关联到这个资源的视频中的url更新为最新url @@ -45,4 +68,24 @@ this.videoMasterItemsMapper.updateVideoUrlBySourceId(source.getUrl(), source.getId()); } } + + @Override + public void delSource(String ids) { + List<String> idList = StrUtil.split(ids, ','); + this.baseMapper.updateDelFlag(AppContants.FLAG_INT_Y, idList); + } + + private Integer getVideoTimeLength(String url) { + Assert.notBlank(url); + + String filePath = baseSavePath + url.replaceAll(baseUrl, ""); + File file = new File(filePath); + return FileUtil.getVideoTimeSecond(file); + } + + private String timeFormat(Integer time) { + int minutes = time / 60; + int second = time - time * 60; + return minutes + ":" + second; + } } -- Gitblit v1.9.1