From f0afca8e5611e46557f69cd22850c630388d329f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 22 Dec 2021 14:46:31 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video --- src/main/java/cc/mrbird/febs/video/service/impl/VideoMasterSourceServiceImpl.java | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 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 207399f..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,23 @@ 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; @@ -29,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()); @@ -36,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 @@ -53,4 +74,18 @@ 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