修改媒体视频上传返回结果
This commit is contained in:
parent
ebdeaba324
commit
e0f5cab373
@ -0,0 +1,61 @@
|
||||
package ink.wgink.pojo.dtos.file;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 文件上传成功
|
||||
* @Author: WenG
|
||||
* @Date: 2022/4/22 7:09
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class FileUploadSuccessDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 396257753407239500L;
|
||||
@ApiModelProperty(name = "fileId", value = "文件ID")
|
||||
private String fileId;
|
||||
@ApiModelProperty(name = "fileName", value = "文件名")
|
||||
private String fileName;
|
||||
@ApiModelProperty(name = "fileSize", value = "文件大小")
|
||||
private long fileSize;
|
||||
|
||||
public FileUploadSuccessDTO() {
|
||||
}
|
||||
|
||||
public FileUploadSuccessDTO(String fileId) {
|
||||
this.fileId = fileId;
|
||||
}
|
||||
|
||||
public FileUploadSuccessDTO(String fileId, String fileName, long fileSize) {
|
||||
this.fileId = fileId;
|
||||
this.fileName = fileName;
|
||||
this.fileSize = fileSize;
|
||||
}
|
||||
|
||||
public String getFileId() {
|
||||
return fileId;
|
||||
}
|
||||
|
||||
public void setFileId(String fileId) {
|
||||
this.fileId = fileId;
|
||||
}
|
||||
|
||||
public String getFileName() {
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public void setFileName(String fileName) {
|
||||
this.fileName = fileName;
|
||||
}
|
||||
|
||||
public long getFileSize() {
|
||||
return fileSize;
|
||||
}
|
||||
|
||||
public void setFileSize(long fileSize) {
|
||||
this.fileSize = fileSize;
|
||||
}
|
||||
}
|
@ -4,6 +4,7 @@ import ink.wgink.common.base.DefaultBaseController;
|
||||
import ink.wgink.exceptions.PropertiesException;
|
||||
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoDTO;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoUploadSuccessDTO;
|
||||
import ink.wgink.module.file.media.service.video.IVideoService;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.ErrorResult;
|
||||
@ -21,7 +22,6 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
/**
|
||||
* When you feel like quitting. Think about why you started
|
||||
@ -46,14 +46,14 @@ public class VideoController extends DefaultBaseController {
|
||||
@ApiOperation(value = "上传视频", notes = "上传视频接口")
|
||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||
@PostMapping("upload")
|
||||
public Callable<SuccessResultData<String>> upload(@RequestParam("video") MultipartFile video) {
|
||||
public SuccessResultData<VideoUploadSuccessDTO> upload(@RequestParam("video") MultipartFile video) {
|
||||
if (StringUtils.isBlank(mediaProperties.getUploadPath())) {
|
||||
throw new PropertiesException("未设置文件上传路径");
|
||||
}
|
||||
if (StringUtils.isBlank(mediaProperties.getFfmpegPath())) {
|
||||
throw new PropertiesException("未设置解码器路径");
|
||||
}
|
||||
return () -> new SuccessResultData<>(videoService.upload(video));
|
||||
return new SuccessResultData<>(videoService.upload(video));
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除文件类别(id列表)", notes = "删除文件类别(id列表)接口")
|
||||
|
@ -603,8 +603,6 @@ public class MediaManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
VideoMetaInfo videoInfo = new VideoMetaInfo();
|
||||
|
||||
String parseResult = getMetaInfoFromFFmpeg(videoFile);
|
||||
|
||||
Matcher durationMacher = durationPattern.matcher(parseResult);
|
||||
|
@ -0,0 +1,25 @@
|
||||
package ink.wgink.module.file.media.pojo.dtos.video;
|
||||
|
||||
import ink.wgink.pojo.dtos.file.FileUploadSuccessDTO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
|
||||
/**
|
||||
* @Description: 视频上传成功
|
||||
* @Author: WenG
|
||||
* @Date: 2022/4/22 7:09
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@ApiModel
|
||||
public class VideoUploadSuccessDTO extends FileUploadSuccessDTO {
|
||||
|
||||
public VideoUploadSuccessDTO() {
|
||||
}
|
||||
|
||||
public VideoUploadSuccessDTO(String fileId) {
|
||||
super(fileId);
|
||||
}
|
||||
|
||||
public VideoUploadSuccessDTO(String fileId, String fileName, long fileSize) {
|
||||
super(fileId, fileName, fileSize);
|
||||
}
|
||||
}
|
@ -1,8 +1,7 @@
|
||||
package ink.wgink.module.file.media.service.video;
|
||||
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.module.file.media.pojo.dtos.ConvertProgressDTO;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoDTO;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoUploadSuccessDTO;
|
||||
import ink.wgink.module.file.media.pojo.vos.video.VideoVO;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
@ -12,7 +11,6 @@ import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -36,7 +34,7 @@ public interface IVideoService {
|
||||
* @param videoVO
|
||||
* @return
|
||||
*/
|
||||
String save(VideoVO videoVO);
|
||||
VideoUploadSuccessDTO save(VideoVO videoVO);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@ -45,7 +43,7 @@ public interface IVideoService {
|
||||
* @param videoVO
|
||||
* @return
|
||||
*/
|
||||
String save(String token, VideoVO videoVO);
|
||||
VideoUploadSuccessDTO save(String token, VideoVO videoVO);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
@ -82,7 +80,7 @@ public interface IVideoService {
|
||||
* @param video
|
||||
* @return
|
||||
*/
|
||||
String upload(MultipartFile video);
|
||||
VideoUploadSuccessDTO upload(MultipartFile video);
|
||||
|
||||
/**
|
||||
* 上传视频
|
||||
@ -91,7 +89,7 @@ public interface IVideoService {
|
||||
* @param video
|
||||
* @return
|
||||
*/
|
||||
String upload(String token, MultipartFile video);
|
||||
VideoUploadSuccessDTO upload(String token, MultipartFile video);
|
||||
|
||||
/**
|
||||
* 转换进度列表
|
||||
|
@ -10,15 +10,14 @@ import ink.wgink.module.file.media.enums.ConvertStatusEnum;
|
||||
import ink.wgink.module.file.media.manager.MediaManager;
|
||||
import ink.wgink.module.file.media.manager.domain.MusicMetaInfo;
|
||||
import ink.wgink.module.file.media.manager.domain.VideoMetaInfo;
|
||||
import ink.wgink.module.file.media.pojo.dtos.ConvertProgressDTO;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoDTO;
|
||||
import ink.wgink.module.file.media.pojo.dtos.video.VideoUploadSuccessDTO;
|
||||
import ink.wgink.module.file.media.pojo.vos.video.VideoVO;
|
||||
import ink.wgink.module.file.media.service.IMediaService;
|
||||
import ink.wgink.module.file.media.service.video.IVideoService;
|
||||
import ink.wgink.module.file.media.task.transcoding.VideoConvertManager;
|
||||
import ink.wgink.module.file.media.task.transcoding.runnable.VideoConvertRunnable;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.pos.FilePO;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import ink.wgink.properties.media.MediaProperties;
|
||||
import ink.wgink.util.UUIDUtil;
|
||||
@ -26,8 +25,6 @@ import ink.wgink.util.date.DateUtil;
|
||||
import ink.wgink.util.map.HashMapUtil;
|
||||
import org.apache.catalina.connector.ClientAbortException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.DateTimeZone;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -44,8 +41,6 @@ import java.net.URLEncoder;
|
||||
import java.nio.channels.Channels;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.nio.channels.WritableByteChannel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -70,12 +65,12 @@ public class VideoServiceImpl extends DefaultBaseService implements IVideoServic
|
||||
private IVideoDao videoDao;
|
||||
|
||||
@Override
|
||||
public String save(VideoVO videoVO) {
|
||||
public VideoUploadSuccessDTO save(VideoVO videoVO) {
|
||||
return save(null, videoVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String save(String token, VideoVO videoVO) {
|
||||
public VideoUploadSuccessDTO save(String token, VideoVO videoVO) {
|
||||
String fileId = UUIDUtil.getUUID();
|
||||
Map<String, Object> params = HashMapUtil.beanToMap(videoVO);
|
||||
params.put("fileId", fileId);
|
||||
@ -85,7 +80,8 @@ public class VideoServiceImpl extends DefaultBaseService implements IVideoServic
|
||||
setAppSaveInfo(token, params);
|
||||
}
|
||||
videoDao.save(params);
|
||||
return fileId;
|
||||
|
||||
return new VideoUploadSuccessDTO(params.get("fileId").toString(), params.get("fileName").toString(), Long.parseLong(params.get("fileSize").toString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -163,12 +159,12 @@ public class VideoServiceImpl extends DefaultBaseService implements IVideoServic
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upload(MultipartFile video) {
|
||||
public VideoUploadSuccessDTO upload(MultipartFile video) {
|
||||
return upload(null, video);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String upload(String token, MultipartFile video) {
|
||||
public VideoUploadSuccessDTO upload(String token, MultipartFile video) {
|
||||
String filePath = VIDEO_PATH + File.separator + DateUtil.getDays();
|
||||
String uploadFolderPath = mediaProperties.getUploadPath() + File.separator + filePath;
|
||||
String fileName = video.getOriginalFilename();
|
||||
@ -183,7 +179,7 @@ public class VideoServiceImpl extends DefaultBaseService implements IVideoServic
|
||||
if (videoDTO != null) {
|
||||
LOG.error("上传的【{}】视频已经存在,原文件为【{}】,返回原文件ID", videoDTO.getFileName(), videoDTO.getFileName());
|
||||
uploadFile.delete();
|
||||
return videoDTO.getFileId();
|
||||
return new VideoUploadSuccessDTO(videoDTO.getFileId());
|
||||
}
|
||||
|
||||
// 构建视频内容
|
||||
|
Loading…
Reference in New Issue
Block a user