reghao 3 سال پیش
والد
کامیت
1b4f8d79b1

+ 9 - 0
README.md

@@ -0,0 +1,9 @@
+# dfs
+- file:8002
+
+## 依赖的第三方服务
+- mysql
+- zookeeper
+
+## 域名
+- file.reghao.cn

+ 0 - 47
src/main/java/cn/reghao/tnb/file/app/controller/FileAutoController.java

@@ -1,47 +0,0 @@
-package cn.reghao.tnb.file.app.controller;
-
-import cn.reghao.jutil.jdk.result.WebBody;
-import cn.reghao.tnb.file.app.model.dto.auto.VideoFileDto;
-import cn.reghao.tnb.file.app.model.po.VideoFile;
-import cn.reghao.tnb.file.app.service.FileAutoService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.*;
-
-/**
- * TODO 应该记录上传文件的用户 ID,当多个用户上传同一个文件时,也应该记录
- *
- * @author reghao
- * @date 2020-03-11 16:10:16
- */
-@Slf4j
-@Api(tags = "文件服务上传接口")
-@RestController
-@RequestMapping("/api/file/upload/auto")
-@Deprecated
-public class FileAutoController {
-    private final FileAutoService fileAutoService;
-
-    public FileAutoController(FileAutoService fileAutoService) {
-        this.fileAutoService = fileAutoService;
-    }
-
-    @Deprecated
-    @ApiOperation(value = "自动上传视频文件")
-    @PostMapping(value = "/video", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String uploadVideoFileAuto1(@Validated @RequestBody VideoFileDto videoFileDto) throws Exception {
-        Map<String, String> result = fileAutoService.processVideoFile(videoFileDto);
-
-        Map<String, String> map = new HashMap<>();
-        map.put("sha256sum", videoFileDto.getSha256sum());
-        map.put("videoFileId", result.get("videoFileId"));
-        map.put("sha256sumCover", videoFileDto.getSha256sumCover());
-        map.put("coverFileId", result.get("coverFileId"));
-        return WebBody.success(map);
-    }
-}

+ 1 - 7
src/main/java/cn/reghao/tnb/file/app/controller/ImageFileController.java

@@ -2,7 +2,6 @@ package cn.reghao.tnb.file.app.controller;
 
 import cn.reghao.tnb.file.app.db.mapper.FileUrlMapper;
 import cn.reghao.tnb.file.app.model.dto.FileUrlDto;
-import cn.reghao.tnb.file.app.service.FileAccessService;
 import cn.reghao.tnb.file.app.util.LocalStores;
 import org.springframework.core.io.InputStreamResource;
 import org.springframework.http.HttpHeaders;
@@ -11,10 +10,7 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
 import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
 
 /**
  * @author reghao
@@ -23,11 +19,9 @@ import java.util.Arrays;
 @RestController
 @RequestMapping
 public class ImageFileController {
-    private final FileAccessService fileAccessService;
     private final FileUrlMapper fileUrlMapper;
 
-    public ImageFileController(FileAccessService fileAccessService, FileUrlMapper fileUrlMapper) {
-        this.fileAccessService = fileAccessService;
+    public ImageFileController(FileUrlMapper fileUrlMapper) {
         this.fileUrlMapper = fileUrlMapper;
     }
 

+ 5 - 1
src/main/java/cn/reghao/tnb/file/app/controller/MediaUploadController.java

@@ -6,6 +6,7 @@ import cn.reghao.tnb.file.app.service.media.ImageFileService;
 import cn.reghao.tnb.file.app.service.media.VideoFileService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -18,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(tags = "媒体文件上传接口")
 @RestController
 @RequestMapping("/api/file/upload")
-@Deprecated
+@Slf4j
 public class MediaUploadController {
     private ImageFileService imageService;
     private AudioFileService audioService;
@@ -34,18 +35,21 @@ public class MediaUploadController {
     @ApiOperation(value = "上传图片文件")
     @PostMapping(value = "/image", produces = MediaType.APPLICATION_JSON_VALUE)
     public String uploadImageFile() throws Exception {
+        log.info("图片文件");
         return WebBody.success();
     }
 
     @ApiOperation(value = "上传音频文件")
     @PostMapping(value = "/audio", produces = MediaType.APPLICATION_JSON_VALUE)
     public String uploadAudioFile() throws Exception {
+        log.info("音频文件");
         return WebBody.success();
     }
 
     @ApiOperation(value = "上传视频文件")
     @PostMapping(value = "/video", produces = MediaType.APPLICATION_JSON_VALUE)
     public String uploadVideoFile() throws Exception {
+        log.info("视频文件");
         return WebBody.success();
     }
 }

+ 0 - 119
src/main/java/cn/reghao/tnb/file/app/service/FileAutoService.java

@@ -1,119 +0,0 @@
-package cn.reghao.tnb.file.app.service;
-
-import cn.reghao.jutil.tool.id.IdGenerator;
-import cn.reghao.tnb.file.api.constant.FileType;
-import cn.reghao.tnb.file.api.constant.VideoUrlType;
-import cn.reghao.tnb.file.app.db.mapper.FileInfoMapper;
-import cn.reghao.tnb.file.app.db.mapper.FileUrlMapper;
-import cn.reghao.tnb.file.app.db.mapper.ImageFileMapper;
-import cn.reghao.tnb.file.app.db.mapper.VideoFileMapper;
-import cn.reghao.tnb.file.app.model.dto.*;
-import cn.reghao.tnb.file.app.model.dto.auto.VideoFileDto;
-import cn.reghao.tnb.file.app.model.po.FileInfo;
-import cn.reghao.tnb.file.app.model.po.FileUrl;
-import cn.reghao.tnb.file.app.model.po.ImageFile;
-import cn.reghao.tnb.file.app.model.po.VideoFile;
-import cn.reghao.tnb.file.app.util.StringUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author reghao
- * @date 2021-08-04 17:29:47
- */
-@Slf4j
-@Service
-@Deprecated
-public class FileAutoService {
-    private final IdGenerator idGenerator;
-    private final FileInfoMapper fileInfoMapper;
-    private final FileUrlMapper fileUrlMapper;
-    private final VideoFileMapper videoFileMapper;
-    private final ImageFileMapper imageFileMapper;
-
-    public FileAutoService(FileInfoMapper fileInfoMapper, FileUrlMapper fileUrlMapper,
-                           VideoFileMapper videoFileMapper, ImageFileMapper imageFileMapper) {
-        this.idGenerator = new IdGenerator("file-id");
-        this.fileInfoMapper = fileInfoMapper;
-        this.fileUrlMapper = fileUrlMapper;
-        this.videoFileMapper = videoFileMapper;
-        this.imageFileMapper = imageFileMapper;
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    public Map<String, String> processVideoFile(VideoFileDto videoFileDto) throws Exception {
-        String sha256sum = videoFileDto.getSha256sum();
-        if (fileInfoMapper.findBySha256sum(sha256sum) != null) {
-            String msg = String.format("%s exists", sha256sum);
-            throw new Exception(msg);
-        }
-
-        String filename = videoFileDto.getFilename();
-        Long size = videoFileDto.getSize();
-        String fileUrl = videoFileDto.getFileUrl();
-        String videoFileType = FileType.mp4.getContentType();
-        FileDto fileDto = saveFile(sha256sum, filename, size, 3, fileUrl);
-        String videoFileId = fileDto.getFileId();
-        String videoUrl = fileDto.getUrl();
-
-        String sha256sumCover = videoFileDto.getSha256sumCover();
-        String coverUrl = videoFileDto.getCoverUrl();
-        long imgSize = videoFileDto.getImgSize();
-        int imgWidth = videoFileDto.getImgWidth();
-        int imgHeight = videoFileDto.getImgHeight();
-        String imgFileType = FileType.jpg.getContentType();
-        FileDto fileDto1 = saveFile(sha256sumCover, "default.jpg", imgSize, 1, coverUrl);
-        saveVideoCover(fileDto1.getFileId(), fileDto1.getUrl(), imgWidth, imgHeight);
-        String coverFileId = fileDto1.getFileId();
-
-        VideoFile videoFile = new VideoFile(videoFileId, VideoUrlType.mp4.getName(), videoUrl);
-        videoFile.setWidth(videoFileDto.getWidth());
-        videoFile.setHeight(videoFileDto.getHeight());
-        videoFile.setHorizontal(videoFileDto.getWidth() >= videoFileDto.getHeight());
-        videoFile.setFrameRate(videoFileDto.getFps());
-        videoFile.setDuration(videoFileDto.getDuration());
-        videoFile.setRotate(videoFileDto.getRotate());
-        videoFile.setBaseCoverUrl(fileDto1.getUrl());
-        videoFileMapper.save(videoFile);
-
-        addVideoPost(videoFile.getFileId(), videoFileDto);
-        Map<String, String> map = new HashMap<>();
-        map.put("videoFileId", videoFileId);
-        map.put("coverFileId", coverFileId);
-        return  map;
-    }
-
-    public void saveVideoCover(String fileId, String url, int width, int height) {
-        ImageFile imageFile = new ImageFile(fileId, url, width, height);
-        imageFileMapper.save(imageFile);
-    }
-
-    @Transactional(rollbackFor = Exception.class)
-    public FileDto saveFile(String sha256sum, String filename, long size, int fileType, String fileUrl) {
-        String suffix = StringUtil.getSuffix(filename);
-        String fileId = idGenerator.getUuid();
-        String url = fileUrl.substring(0, fileUrl.lastIndexOf("/")+1) + fileId + suffix;
-        String url1 = "//static.reghao.cn/group0/node0" + url;
-
-        FileInfo fileInfo = new FileInfo();
-        FileUrl fileUrl1 = new FileUrl(fileId, "", url1, "");
-        fileInfoMapper.save(fileInfo);
-        fileUrlMapper.save(fileUrl1);
-        return new FileDto(fileId, "", "", url1);
-    }
-
-    public void addVideoPost(String fileId, VideoFileDto videoFileDto) {
-        String title = videoFileDto.getTitle();
-        String tags = videoFileDto.getTags();
-        int categoryPid = videoFileDto.getCategoryPid();
-        int categoryId = videoFileDto.getCategoryId();
-        long userId = videoFileDto.getUserId();
-
-        //VideoAutoPostDto videoAutoPostDto = new VideoAutoPostDto(fileId, userId, title, tags, categoryPid, categoryId);
-        //videoPostService.createAndPublish(videoAutoPostDto);
-    }
-}

+ 0 - 110
src/main/java/cn/reghao/tnb/file/app/service/TmpFileUrlService.java

@@ -1,110 +0,0 @@
-package cn.reghao.tnb.file.app.service;
-
-import cn.reghao.tnb.file.app.config.PathUrl;
-import cn.reghao.tnb.file.app.db.mapper.FileUrlMapper;
-import cn.reghao.tnb.file.app.db.mapper.FileUserMapper;
-import cn.reghao.tnb.file.app.model.po.FileUrl;
-import cn.reghao.tnb.file.app.model.vo.TmpFile;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
-import org.springframework.stereotype.Service;
-
-import java.io.File;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2022-05-23 23:42:06
- */
-@Slf4j
-@Service
-@Deprecated
-public class TmpFileUrlService {
-    private final FileUserMapper fileUserMapper;
-    private final FileUrlMapper fileUrlMapper;
-    private final FileUrlService fileUrlService;
-
-    public TmpFileUrlService(FileUserMapper fileUserMapper, FileUrlMapper fileUrlMapper, FileUrlService fileUrlService) {
-        this.fileUserMapper = fileUserMapper;
-        this.fileUrlMapper = fileUrlMapper;
-        this.fileUrlService = fileUrlService;
-    }
-
-    public void start() {
-        List<TmpFile> list = fileUserMapper.findTmpFile();
-        for (TmpFile tmpFile : list) {
-            String sha256sum = tmpFile.getSha256sum();
-            long fileSize = tmpFile.getSize();
-            String uploadId = tmpFile.getUploadId();
-            String suffix = tmpFile.getSuffix();
-            String fileId = tmpFile.getFileId();
-
-            try {
-                PathUrl pathUrl = fileUrlService.genVideoPathAndUrl(sha256sum, uploadId, fileSize, fileId, suffix);
-                String blockId = pathUrl.getBlockId();
-                String filePath = pathUrl.getFilePath();
-                String url = pathUrl.getUrl();
-                String path = pathUrl.getPath();
-
-                List<FileUrl> list1 = fileUrlMapper.findByFileId(fileId);
-                if (list1.isEmpty()) {
-                    continue;
-                }
-
-                FileUrl fileUrl = list1.get(0);
-                String url1 = fileUrl.getUrl();
-                String filePath1;
-                if (url.contains("group")) {
-                    filePath1 = url1.replace("//static.reghao.cn/group0/node0", "/root/mnt");
-                } else {
-                    filePath1 = url1.replace("//static.reghao.cn", "/home/reghao/mnt");
-                }
-
-                File source = new File(filePath1);
-                File dest = new File(filePath);
-                if (source.exists()) {
-                    FileUtils.copyFile(source, new File(filePath), true);
-                    fileUrlMapper.updateSetFileUrl(fileId, blockId, filePath);
-                } else {
-                    log.error("source file {} not exist", filePath);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-
-        log.info("start 执行完成...");
-    }
-
-    public void mvFile(TmpFile tmpFile, String sourcePath) {
-        String sha256sum = tmpFile.getSha256sum();
-        long fileSize = tmpFile.getSize();
-        String uploadId = tmpFile.getUploadId();
-        String suffix = tmpFile.getSuffix();
-        String fileId = tmpFile.getFileId();
-
-        try {
-            PathUrl pathUrl = fileUrlService.genVideoPathAndUrl(sha256sum, uploadId, fileSize, fileId, suffix);
-            String blockId = pathUrl.getBlockId();
-            String filePath = pathUrl.getFilePath();
-            String url = pathUrl.getUrl();
-            String path = pathUrl.getPath();
-
-            List<FileUrl> list1 = fileUrlMapper.findByFileId(fileId);
-            if (list1.isEmpty()) {
-                return;
-            }
-
-            File source = new File(sourcePath);
-            File dest = new File(filePath);
-            if (source.exists()) {
-                FileUtils.copyFile(source, dest, true);
-                fileUrlMapper.updateSetFileUrl(fileId, blockId, filePath);
-            } else {
-                log.error("source file {} not exist", filePath);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}