From 3954a4bb8ec4c02f1c333ba62c387fc046715ad9 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Sun, 24 Apr 2022 23:04:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0APP=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/api/FileV2AppController.java | 131 ++++++++++++++++++ .../file/service/v2/IFileV2Service.java | 33 ++++- .../service/v2/impl/FileV2ServiceImpl.java | 32 ++++- 3 files changed, 190 insertions(+), 6 deletions(-) create mode 100644 module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileV2AppController.java diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileV2AppController.java b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileV2AppController.java new file mode 100644 index 00000000..1feb0fa5 --- /dev/null +++ b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileV2AppController.java @@ -0,0 +1,131 @@ +package ink.wgink.module.file.controller.app.api; + +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.module.file.enums.UploadTypeEnum; +import ink.wgink.module.file.pojo.dtos.FileUploadSuccessDTO; +import ink.wgink.module.file.service.v2.IFileV2Service; +import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResultData; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Map; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: FileAppController + * @Description: APP文件上传 + * @Author: WangGeng + * @Date: 2019-08-02 15:38 + * @Version: 1.0 + **/ +@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "文件管理接口") +@RestController +@RequestMapping(ISystemConstant.APP_PREFIX + "/file/v2") +public class FileV2AppController extends DefaultBaseController { + + @Autowired + private IFileV2Service fileV2Service; + + @ApiOperation(value = "上传文件", notes = "上传文件接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "file", value = "文件name", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-file") + public SuccessResultData uploadFile(@RequestHeader("token") String token, @RequestParam("file") MultipartFile file) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, file, UploadTypeEnum.FILE, params)); + } + + @ApiOperation(value = "上传文件", notes = "上传文件接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "userId", paramType = "token"), + @ApiImplicitParam(name = "file", value = "文件name", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-file-release") + public SuccessResultData uploadFileByUserId(@RequestHeader("userId") String userId, @RequestParam("file") MultipartFile file) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, file, UploadTypeEnum.FILE, params)); + } + + @ApiOperation(value = "上传图片", notes = "上传图片接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "image", value = "文件name", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-image") + public SuccessResultData uploadImage(@RequestHeader("token") String token, @RequestParam("image") MultipartFile image) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, image, UploadTypeEnum.IMAGE, params)); + } + + @ApiOperation(value = "上传图片", notes = "上传图片接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "userId", paramType = "token"), + @ApiImplicitParam(name = "image", value = "文件name", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-image-release") + public SuccessResultData uploadImageByUserId(@RequestHeader("userId") String userId, @RequestParam("image") MultipartFile image) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, image, UploadTypeEnum.IMAGE, params)); + } + + @ApiOperation(value = "上传视频", notes = "上传视频接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "video", value = "文件video", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-video") + public SuccessResultData uploadVideo(@RequestHeader("token") String token, @RequestParam("video") MultipartFile video) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, video, UploadTypeEnum.VIDEO, params)); + } + + @ApiOperation(value = "上传视频", notes = "上传视频接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "userId", paramType = "header"), + @ApiImplicitParam(name = "video", value = "文件video", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-video-release") + public SuccessResultData uploadVideoByUserId(@RequestHeader("userId") String userId, @RequestParam("video") MultipartFile video) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, video, UploadTypeEnum.VIDEO, params)); + } + + @ApiOperation(value = "上传音频", notes = "上传音频接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + @ApiImplicitParam(name = "audio", value = "文件audio", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-audio") + public SuccessResultData uploadAudio(@RequestHeader("token") String token, @RequestParam("audio") MultipartFile audio) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByToken(token, audio, UploadTypeEnum.AUDIO, params)); + } + + @ApiOperation(value = "上传音频", notes = "上传音频接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "userId", value = "userId", paramType = "header"), + @ApiImplicitParam(name = "audio", value = "文件audio", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("upload-audio-release") + public SuccessResultData uploadAudioByUserId(@RequestHeader("userId") String userId, @RequestParam("audio") MultipartFile audio) { + Map params = requestParams(); + return new SuccessResultData<>(fileV2Service.uploadSingleByUserId(userId, audio, UploadTypeEnum.AUDIO, params)); + } + +} diff --git a/module-file/src/main/java/ink/wgink/module/file/service/v2/IFileV2Service.java b/module-file/src/main/java/ink/wgink/module/file/service/v2/IFileV2Service.java index 724e20e9..f1a2d17a 100644 --- a/module-file/src/main/java/ink/wgink/module/file/service/v2/IFileV2Service.java +++ b/module-file/src/main/java/ink/wgink/module/file/service/v2/IFileV2Service.java @@ -15,5 +15,36 @@ import java.util.Map; */ public interface IFileV2Service { - FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params); + /** + * 单文件上传 + * + * @param uploadFile 上传文件 + * @param uploadTypeEnum 上传类型 + * @param requestParams 请求参数 + * @return + */ + FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams); + + /** + * 单文件上传 + * + * @param token token + * @param uploadFile 上传文件 + * @param uploadTypeEnum 上传类型 + * @param requestParams 请求参数 + * @return + */ + FileUploadSuccessDTO uploadSingleByToken(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams); + + /** + * 单文件上传 + * + * @param userId 用户ID + * @param uploadFile 上传文件 + * @param uploadTypeEnum 上传类型 + * @param requestParams 请求参数 + * @return + */ + FileUploadSuccessDTO uploadSingleByUserId(String userId, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams); + } diff --git a/module-file/src/main/java/ink/wgink/module/file/service/v2/impl/FileV2ServiceImpl.java b/module-file/src/main/java/ink/wgink/module/file/service/v2/impl/FileV2ServiceImpl.java index 419cf7a5..e0647a62 100644 --- a/module-file/src/main/java/ink/wgink/module/file/service/v2/impl/FileV2ServiceImpl.java +++ b/module-file/src/main/java/ink/wgink/module/file/service/v2/impl/FileV2ServiceImpl.java @@ -25,12 +25,34 @@ public class FileV2ServiceImpl extends DefaultBaseService implements IFileV2Serv private IFileService fileService; @Override - public FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map params) { - fileService.uploadSingle(uploadFile, uploadTypeEnum, params); + public FileUploadSuccessDTO uploadSingle(MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams) { + fileService.uploadSingle(uploadFile, uploadTypeEnum, requestParams); FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO(); - fileUploadSuccessDTO.setFileId(params.get("fileId").toString()); - fileUploadSuccessDTO.setFileName(params.get("fileName").toString()); - fileUploadSuccessDTO.setFileSize(Long.valueOf(params.get("fileSize").toString())); + fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString()); + fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString()); + fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString())); return fileUploadSuccessDTO; } + + @Override + public FileUploadSuccessDTO uploadSingleByToken(String token, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams) { + fileService.uploadSingle(token, uploadFile, uploadTypeEnum, requestParams); + FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO(); + fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString()); + fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString()); + fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString())); + return fileUploadSuccessDTO; + } + + @Override + public FileUploadSuccessDTO uploadSingleByUserId(String userId, MultipartFile uploadFile, UploadTypeEnum uploadTypeEnum, Map requestParams) { + fileService.uploadSingleByUserId(userId, uploadFile, uploadTypeEnum, requestParams); + FileUploadSuccessDTO fileUploadSuccessDTO = new FileUploadSuccessDTO(); + fileUploadSuccessDTO.setFileId(requestParams.get("fileId").toString()); + fileUploadSuccessDTO.setFileName(requestParams.get("fileName").toString()); + fileUploadSuccessDTO.setFileSize(Long.valueOf(requestParams.get("fileSize").toString())); + return fileUploadSuccessDTO; + } + + }