diff --git a/src/main/java/com/ycwl/basic/controller/FileController.java b/src/main/java/com/ycwl/basic/controller/FileController.java index dcdf9f0..5fe1622 100644 --- a/src/main/java/com/ycwl/basic/controller/FileController.java +++ b/src/main/java/com/ycwl/basic/controller/FileController.java @@ -8,7 +8,6 @@ import com.ycwl.basic.utils.ApiResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -36,7 +35,7 @@ public class FileController { public ApiResponse upload(@RequestParam(value = "file") MultipartFile file) throws IOException { String[] split = file.getOriginalFilename().split("\\."); String ext = split[split.length - 1]; - String url = StorageFactory.use("assets").uploadFile(file, "web", UUID.randomUUID()+"."+ext); + String url = StorageFactory.use("assets").uploadFile(file, "web", UUID.randomUUID() + "." + ext); return ApiResponse.success(url); } diff --git a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java index 23048f8..cefeafb 100644 --- a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java +++ b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.ycwl.basic.annotation.IgnoreToken; -import com.ycwl.basic.config.FaceDetectConfig; import com.ycwl.basic.mapper.DeviceMapper; import com.ycwl.basic.mapper.FaceSampleMapper; import com.ycwl.basic.mapper.SourceMapper; @@ -28,7 +27,6 @@ import com.ycwl.basic.model.viid.resp.VIIDBaseResp; import com.ycwl.basic.service.task.TaskFaceService; import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.storage.adapters.IStorageAdapter; -import com.ycwl.basic.storage.enums.StorageType; import com.ycwl.basic.utils.ImageUtils; import com.ycwl.basic.utils.IpUtils; import com.ycwl.basic.utils.SnowFlakeUtil; @@ -42,7 +40,6 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; diff --git a/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java index 9297ba3..8417acd 100644 --- a/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/task/TaskFaceServiceImpl.java @@ -35,7 +35,6 @@ import com.ycwl.basic.model.task.resp.SearchFaceRespVo; import com.ycwl.basic.service.task.TaskFaceService; import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.storage.adapters.IStorageAdapter; -import com.ycwl.basic.storage.enums.StorageType; import com.ycwl.basic.storage.utils.StorageUtil; import com.ycwl.basic.utils.DateUtils; import lombok.extern.slf4j.Slf4j; @@ -49,7 +48,6 @@ import com.aliyuncs.profile.DefaultProfile; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; -import java.io.InputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; diff --git a/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java index b90790b..cd23c19 100644 --- a/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/task/TaskTaskServiceImpl.java @@ -18,7 +18,6 @@ import com.ycwl.basic.model.pc.task.entity.TaskEntity; import com.ycwl.basic.model.pc.task.req.TaskReqQuery; import com.ycwl.basic.model.pc.task.resp.TaskRespVO; import com.ycwl.basic.model.pc.template.entity.TemplateEntity; -import com.ycwl.basic.model.pc.template.req.TemplateReqQuery; import com.ycwl.basic.model.pc.template.resp.TemplateRespVO; import com.ycwl.basic.model.pc.video.entity.VideoEntity; import com.ycwl.basic.model.task.req.ClientStatusReqVo; @@ -28,7 +27,6 @@ import com.ycwl.basic.model.task.resp.TaskSyncRespVo; import com.ycwl.basic.service.task.TaskService; import com.ycwl.basic.storage.StorageFactory; import com.ycwl.basic.storage.adapters.IStorageAdapter; -import com.ycwl.basic.storage.enums.StorageType; import com.ycwl.basic.task.VideoPieceGetter; import com.ycwl.basic.utils.SnowFlakeUtil; import lombok.NonNull; @@ -329,16 +327,16 @@ public class TaskTaskServiceImpl implements TaskService { if (task == null) { return null; } - IStorageAdapter adapter = StorageFactory.use("faces"); + IStorageAdapter adapter = StorageFactory.use("video"); String filename = task.getId() + "_" + task.getScenicId() + ".mp4"; if (StringUtils.isBlank(task.getVideoUrl())) { // 生成 - String url = adapter.getUrl("user-video", filename); + String url = adapter.getUrl(filename); TaskEntity updateTask = new TaskEntity(); updateTask.setId(taskId); updateTask.setVideoUrl(url); taskMapper.update(updateTask); } - return adapter.getUrlForUpload("user-video", filename); + return adapter.getUrlForUpload(filename); } } diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java index 7bb87f1..79d99df 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AStorageAdapter.java @@ -1,8 +1,6 @@ package com.ycwl.basic.storage.adapters; -import com.ycwl.basic.storage.entity.StorageConfig; import com.ycwl.basic.storage.exceptions.UploadFileFailedException; -import lombok.Setter; import org.springframework.web.multipart.MultipartFile; import java.io.File; @@ -14,33 +12,33 @@ import java.util.Date; public abstract class AStorageAdapter implements IStorageAdapter { @Override - public String uploadFile(File file, String path, String filename) { + public String uploadFile(File file, String ...path) { if (file == null) { return null; } try { InputStream inputStream = new FileInputStream(file); - return uploadFile(inputStream, path, filename); + return uploadFile(inputStream, path); } catch (FileNotFoundException e) { throw new UploadFileFailedException("文件不存在"); } } @Override - public String uploadFile(MultipartFile file, String path, String filename) { + public String uploadFile(MultipartFile file, String... path) { if (file == null) { return null; } try { InputStream inputStream = file.getInputStream(); - return uploadFile(inputStream, path, filename); + return uploadFile(inputStream, path); } catch (Exception e) { throw new UploadFileFailedException("文件上传失败"); } } @Override - public String getUrlForUpload(String path, String filename) { - return getUrlForUpload(path, filename, new Date(System.currentTimeMillis() + 1000 * 60 * 60)); + public String getUrlForUpload(String... path) { + return getUrlForUpload(new Date(System.currentTimeMillis() + 1000 * 60 * 60), path); } } diff --git a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java index fa922f4..aa63ea1 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/AliOssAdapter.java @@ -18,7 +18,7 @@ import java.net.URL; import java.util.Date; import java.util.Map; -public class AliOssAdapter extends AStorageAdapter { +final public class AliOssAdapter extends AStorageAdapter { private AliOssStorageConfig config; @Override @@ -48,16 +48,16 @@ public class AliOssAdapter extends AStorageAdapter { } @Override - public String uploadFile(InputStream inputStream, String path, String filename) { + public String uploadFile(InputStream inputStream, String ...path) { if (inputStream == null) { return null; } - String fullPath = buildPath(path, filename); + String fullPath = buildPath(path); OSS ossClient = getOssClient(); try { PutObjectRequest putObjectRequest = new PutObjectRequest(config.getBucketName(), fullPath, inputStream); ossClient.putObject(putObjectRequest); - return getUrl(path, filename); + return getUrl(path); } catch (ClientException e) { throw new UploadFileFailedException("上传文件失败:" + e.getErrorMessage()); } @@ -65,10 +65,10 @@ public class AliOssAdapter extends AStorageAdapter { @Override - public boolean deleteFile(String path, String filename) { + public boolean deleteFile(String... path) { OSS ossClient = getOssClient(); try { - ossClient.deleteObject(config.getBucketName(), buildPath(path, filename)); + ossClient.deleteObject(config.getBucketName(), buildPath(path)); return true; } catch (ClientException e) { return false; @@ -76,14 +76,14 @@ public class AliOssAdapter extends AStorageAdapter { } @Override - public String getUrl(String path, String filename) { - return config.getUrl() + "/" + buildPath(path, filename); + public String getUrl(String... path) { + return config.getUrl() + "/" + buildPath(path); } @Override - public String getUrlForUpload(String path, String filename, Date expireDate) { + public String getUrlForUpload(Date expireDate, String... path) { OSS ossClient = getOssClient(); - URL url = ossClient.generatePresignedUrl(config.getBucketName(), buildPath(path, filename), expireDate, HttpMethod.PUT); + URL url = ossClient.generatePresignedUrl(config.getBucketName(), buildPath(path), expireDate, HttpMethod.PUT); return url.toString(); } diff --git a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java index 0258f11..8cd9aee 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/IStorageAdapter.java @@ -11,11 +11,11 @@ import java.util.Map; public interface IStorageAdapter { void loadConfig(Map config); void setConfig(StorageConfig config); - String uploadFile(InputStream inputStream, String path, String filename); - String uploadFile(File file, String path, String filename); - String uploadFile(MultipartFile file, String path, String filename); - boolean deleteFile(String path, String filename); - String getUrl(String path, String filename); - String getUrlForUpload(String path, String filename); - String getUrlForUpload(String path, String filename, Date expireDate); + String uploadFile(InputStream inputStream, String ...path); + String uploadFile(File file, String ...path); + String uploadFile(MultipartFile file, String ...path); + boolean deleteFile(String ...path); + String getUrl(String ...path); + String getUrlForUpload(String ...path); + String getUrlForUpload(Date expireDate, String ...path); } diff --git a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java index f484712..71e2497 100644 --- a/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java +++ b/src/main/java/com/ycwl/basic/storage/adapters/LocalStorageAdapter.java @@ -18,22 +18,22 @@ public class LocalStorageAdapter extends AStorageAdapter{ } @Override - public String uploadFile(InputStream inputStream, String path, String filename) { + public String uploadFile(InputStream inputStream, String... path) { return ""; } @Override - public boolean deleteFile(String path, String filename) { + public boolean deleteFile(String... path) { return false; } @Override - public String getUrl(String path, String filename) { + public String getUrl(String... path) { return ""; } @Override - public String getUrlForUpload(String path, String filename, Date expireDate) { + public String getUrlForUpload(Date expireDate, String... path) { return ""; } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index ee85e46..55f439d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -143,7 +143,16 @@ storage: prefix: "user-assets/" url: "https://oss.zhentuai.com" region: "cn-shanghai" - + - name: "video" + type: "ALI_OSS" + config: + endpoint: "https://oss-cn-shanghai.aliyuncs.com" + accessKeyId: "LTAI5tCa641QdNHH9Ybg9u7V" + accessKeySecret: "RRVIgekoqx96Fgm2Gs7eQshMShcEpk" + bucketName: "frametour-assets" + prefix: "user-video/" + url: "https://oss.zhentuai.com" + region: "cn-shanghai" #阿里云人脸检测 aliFace: accessKeyId: "LTAI5tMwrmxVcUEKoH5QzLHx" diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 53cdf06..4f542fe 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -141,6 +141,16 @@ storage: prefix: "user-assets/" url: "https://oss.zhentuai.com" region: "cn-shanghai" + - name: "video" + type: "ALI_OSS" + config: + endpoint: "https://oss-cn-shanghai.aliyuncs.com" + accessKeyId: "LTAI5tCa641QdNHH9Ybg9u7V" + accessKeySecret: "RRVIgekoqx96Fgm2Gs7eQshMShcEpk" + bucketName: "frametour-assets" + prefix: "user-video/" + url: "https://oss.zhentuai.com" + region: "cn-shanghai" #阿里云人脸检测 aliFace: