From e0ff6529b4364fdbf81d25f33e881118b147b3fa Mon Sep 17 00:00:00 2001 From: zf <1603559716@qq.com> Date: 星期一, 31 七月 2023 13:04:41 +0800 Subject: [PATCH] bug修改 --- src/main/java/com/gk/hotwork/Controller/AttachmentController.java | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 223 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/hotwork/Controller/AttachmentController.java b/src/main/java/com/gk/hotwork/Controller/AttachmentController.java new file mode 100644 index 0000000..e61c642 --- /dev/null +++ b/src/main/java/com/gk/hotwork/Controller/AttachmentController.java @@ -0,0 +1,223 @@ +package com.gk.hotwork.Controller; +import com.gk.hotwork.Controller.Base.BaseController; +import com.gk.hotwork.Domain.AttachmentInfo; +import com.gk.hotwork.Domain.Utils.Msg; +import com.gk.hotwork.Service.AttachmentService; + +import com.gk.hotwork.common.FileProjectConstants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +/** + * @email 1603559716@qq.com + * @author: zf + * @date: 2023/5/6 + * @time: 14:22 + */ +@Api(tags = "附件上传接口") +@RestController +@RequestMapping("/attachment") +public class AttachmentController extends BaseController { + + @Autowired + private AttachmentService attachmentService; + + + /** + * 根据标识查询文件具体信息 + * @param key + * @return + */ + @ApiOperation(value = "根据标识查询文件具体信息",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "key",value = "文件标识") + }) + @GetMapping("/get/key/{key}") + public Msg findByKey(@PathVariable String key) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("查询成功"); + AttachmentInfo byKey = attachmentService.findByKey(key); + msg.setResult(byKey); + return msg; + } + + /** + * 根据id获取文件 + * @param id + * @return + */ + @ApiOperation(value = "根据id获取文件",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id",value = "文件id") + }) + @GetMapping("/get/id/{id}") + public Msg get(@PathVariable Long id) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("查询成功"); + AttachmentInfo byKey = attachmentService.findById(id); + msg.setResult(byKey); + return msg; + } + + /** + * 删除文件数据 + * @param id + * @return + */ + @ApiOperation(value = "删除文件数据",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id",value = "文件id") + }) + @GetMapping("/delete/{id}") + public Msg delete(@PathVariable Long id) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("删除成功"); + attachmentService.delete(id,getUser()); + return msg; + + } + + /** + * 单个文件上传 + * @Description 上传文件(返回文件标识) + * @Param [file, module] + **/ + @ApiOperation(value = "上传文件(返回文件标识)-单个文件",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "file",value = "文件"), + @ApiImplicitParam(name = "module",value = "checkPath") + }) + @PostMapping("/upload/key") + public Msg uploadReturnKey(@RequestParam("file") MultipartFile + file, @RequestParam("module") String module) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("上传成功"); + Object returnStr = attachmentService.saveFileToPath(file, module, FileProjectConstants.ReturnType.KEY,getUser()); + msg.setResult(returnStr); + return msg; + } + + /** + * 单个文件 + * @Description 上传文件(返回文件信息) + * @Param [file, module] + **/ + @ApiOperation(value = "上传文件(返回文件信息)-单个文件",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "file",value = "文件"), + @ApiImplicitParam(name = "module",value = "模块(checkPath)") + }) + @PostMapping("/upload/detail") + public Msg uploadReturnDetail(@RequestParam("file") MultipartFile + file, @RequestParam("module") String module) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("上传成功"); + Object detail = attachmentService.saveFileToPath(file, module, FileProjectConstants.ReturnType.DETAIL,getUser()); + msg.setResult(detail); + return msg; + } + /** + * 单个文件 + * @Description 上传文件(返回访问路径) + * @Date 2021/4/20 19:28 + * @Param [file, module] + **/ + @ApiOperation(value = "上传文件(返回访问路径)-单个文件",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "file",value = "文件"), + @ApiImplicitParam(name = "module",value = "模块(checkPath)") + }) + @PostMapping("/upload/url") + public Msg uploadReturnUrl(@RequestParam("file") MultipartFile file, @RequestParam("module") String module) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("上传成功"); + Object returnStr = attachmentService.saveFileToPath(file, module, FileProjectConstants.ReturnType.URL,getUser()); + msg.setResult(returnStr); + return msg; + } + + /** + * 批量文件 + * @Description 上传文件(返回文件信息) + * @Param [file, module] + **/ + @ApiOperation(value = "上传文件(返回访问路径)-批量",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "file",value = "文件"), + @ApiImplicitParam(name = "module",value = "模块(checkPath)") + }) + @PostMapping("/upload/batch/detail") + public Msg uploadBatchReturnDetail(@RequestParam("file") MultipartFile[] + file, @RequestParam("module") String module) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("上传成功"); + Object detail = attachmentService.saveBatchFileToPath(file, module,getUser()); + msg.setResult(detail); + return msg; + } + + /** + * @return org.springframework.http.ResponseEntity<byte [ ]> + * @Description 获取下载文件流 + * @Param [key] + **/ + @ApiOperation(value = "获取下载文件流",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "key",value = "文件标识"), + }) + @GetMapping("/downloadFile/{key}") + public void download(@PathVariable String key, HttpServletResponse response) { + attachmentService.downloadForStream(response, key); + } + + /** + * @return void + * @Description 文件下载 + * @Param [key, response, request] + **/ + @ApiOperation(value = "文件下载",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "id",value = "文件id"), + }) + @RequestMapping(value = "/downloadFileById/{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public void downloadFileByKey(@PathVariable Long id, HttpServletResponse response, HttpServletRequest + request) { + attachmentService.downloadById(response, request, id); + } + + /** + * @Description 获取下载文件路径 + * @Param [key] + **/ + @ApiOperation(value = "获取下载文件路径",response = Msg.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = "key",value = "文件key"), + }) + @GetMapping("/downloadUrl/{key}") + public Msg downLoad( @PathVariable String key) { + Msg msg = new Msg(); + msg.setCode("200"); + msg.setMessage("查询成功"); + AttachmentInfo byKey = attachmentService.findByKey(key); + msg.setResult(byKey); + return msg; + } + + +} -- Gitblit v1.9.2