From ca17d6ee8df1e7c28645e70f43deb6b60a8890f8 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 22 Dec 2021 14:14:44 +0800
Subject: [PATCH] fix
---
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