FileManageController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.simuwang.manage.api.file;
  2. import com.simuwang.base.common.support.MybatisPage;
  3. import com.simuwang.base.common.util.EncodeUtil;
  4. import com.simuwang.base.pojo.dto.query.FileManagePageQuery;
  5. import com.simuwang.base.pojo.vo.FileIdVO;
  6. import com.simuwang.base.pojo.vo.FileManageIdVO;
  7. import com.simuwang.base.pojo.vo.FileManageVO;
  8. import com.simuwang.base.pojo.vo.SourceTypeVO;
  9. import com.simuwang.logging.SystemLog;
  10. import com.simuwang.manage.service.FileMangeService;
  11. import com.smppw.common.pojo.ResultVo;
  12. import com.smppw.common.pojo.enums.status.ResultCode;
  13. import jakarta.servlet.ServletOutputStream;
  14. import jakarta.servlet.http.HttpServletRequest;
  15. import jakarta.servlet.http.HttpServletResponse;
  16. import org.apache.commons.io.FileUtils;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import java.io.File;
  23. import java.io.IOException;
  24. /**
  25. * FileName: FileManageController
  26. * Author: chenjianhua
  27. * Date: 2024/12/19 13:57
  28. * Description: ${DESCRIPTION}
  29. */
  30. @SystemLog(value = "基金别名管理")
  31. @RestController
  32. @RequestMapping("/v1/file-manage")
  33. public class FileManageController {
  34. private static final Logger logger = LoggerFactory.getLogger(FileManageController.class);
  35. @Autowired
  36. private FileMangeService fileMangeService;
  37. /**
  38. * 文件管理列表查询
  39. * @param fileManagePageQuery
  40. * @return
  41. */
  42. @SystemLog(value = "文件管理列表")
  43. @GetMapping("/list")
  44. public MybatisPage<FileManageVO> searchFileManage(FileManagePageQuery fileManagePageQuery){
  45. MybatisPage<FileManageVO> result = fileMangeService.searchFileManage(fileManagePageQuery);
  46. return result;
  47. }
  48. /**
  49. * 上传文件
  50. *
  51. * @param file
  52. * @return
  53. */
  54. @SystemLog(value = "上传文件", type = SystemLog.Type.UPLOAD_OR_IMPORT)
  55. @PostMapping("upload-file")
  56. public ResultVo uploadFile(@RequestParam(value = "file") MultipartFile file,
  57. @RequestParam("fundId") String fundId,
  58. @RequestParam("fundName") String fundName,
  59. @RequestParam("registerNumber") String registerNumber,
  60. @RequestParam("fileType") Integer fileType,
  61. @RequestParam("fileDate") String fileDate) {
  62. ResultVo vo = fileMangeService.uploadFile(file,fundId,fundName,registerNumber, fileType,fileDate);
  63. return vo;
  64. }
  65. /**
  66. * 文件下载
  67. * @param fileId
  68. * @param response
  69. * @param request
  70. */
  71. @SystemLog(value = "下载文件", type = SystemLog.Type.UPLOAD_OR_IMPORT)
  72. @PostMapping("download-file")
  73. public void downloadFile(@RequestBody FileManageIdVO fileId, HttpServletResponse response, HttpServletRequest request){
  74. try {
  75. FileManageVO fileManageVO = fileMangeService.getFileByFileId(fileId.getFileId());
  76. response.setContentType("application/octet-stream");
  77. response.addHeader("Content-Disposition", "attachment;filename=" + EncodeUtil.encodeUTF8(fileManageVO.getFileName()));
  78. ServletOutputStream outputStream = response.getOutputStream();
  79. FileUtils.copyFile(new File(fileManageVO.getFilePath()),outputStream);
  80. outputStream.flush();
  81. outputStream.close();
  82. } catch (IOException e) {
  83. logger.error(e.getMessage(),e);
  84. }
  85. }
  86. /**
  87. * 批量编辑分类
  88. * @param sourceTypeVO
  89. */
  90. @SystemLog(value = "批量编辑分类")
  91. @PostMapping("change-source-type")
  92. public ResultVo changeFileSourceType(@RequestBody SourceTypeVO sourceTypeVO){
  93. ResultVo vo = new ResultVo(true);
  94. try {
  95. fileMangeService.changeFileSourceType(sourceTypeVO);
  96. return vo;
  97. } catch (Exception e) {
  98. logger.error(e.getMessage(),e);
  99. vo.setData(false);
  100. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  101. }
  102. return vo;
  103. }
  104. /**
  105. *编辑分类
  106. * @param fileManageVO
  107. * @return
  108. */
  109. @SystemLog(value = "编辑分类")
  110. @PostMapping("save-file-manage")
  111. public ResultVo saveFileMange(@RequestBody FileManageVO fileManageVO){
  112. ResultVo vo = new ResultVo(true);
  113. try {
  114. fileMangeService.updateFileManage(fileManageVO);
  115. return vo;
  116. } catch (Exception e) {
  117. logger.error(e.getMessage(),e);
  118. vo.setData(false);
  119. vo.setCode(ResultCode.SAVE_FAILED.getCode());
  120. }
  121. return vo;
  122. }
  123. }