AppFileMgrController.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.ghsc.partybuild.controller;
  2. import com.fasterxml.jackson.databind.JsonNode;
  3. import com.github.pagehelper.PageInfo;
  4. import com.ghsc.partybuild.AppConfig;
  5. import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
  6. import com.ghsc.partybuild.model.DsjFilemrg;
  7. import com.ghsc.partybuild.service.FileMgrService;
  8. import com.ghsc.partybuild.util.Word2PdfUtil;
  9. import com.ghsc.partybuild.vo.DsjTreeFiletype;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.io.ByteArrayOutputStream;
  15. import java.io.OutputStream;
  16. import java.nio.file.Files;
  17. import java.nio.file.Path;
  18. import java.nio.file.Paths;
  19. import java.util.Base64;
  20. import java.util.List;
  21. import java.util.Map;
  22. @Slf4j
  23. @RestController
  24. @RequestMapping(value = "/appApi/fileMgr")
  25. public class AppFileMgrController {
  26. @Autowired
  27. private FileMgrService fileMgrService;
  28. @Autowired
  29. private Word2PdfUtil word2PdfUtil;
  30. @Autowired
  31. private AppConfig appConfig;
  32. @GetMapping("/GetFileTypeRoot")
  33. @ResponseBody
  34. public RequsetData<List<DsjTreeFiletype>> GetFileTypeRoot() {
  35. RequsetData<List<DsjTreeFiletype>> res = new RequsetData<>();
  36. //res.setItem(fileMgrService.getFileTypeRoot());
  37. res.setItem(fileMgrService.getFileTreeByParent(""));
  38. return res;
  39. }
  40. @PostMapping("/GetFileTypesByParent")
  41. @ResponseBody
  42. public RequsetData<List<DsjTreeFiletype>> GetFileTypesByParent(@RequestBody JsonNode reqMap) {
  43. String parentId=reqMap.get("parentid").asText();
  44. RequsetData<List<DsjTreeFiletype>> res = new RequsetData<>();
  45. //@RequestParam("parentid") String parentId
  46. List<DsjTreeFiletype> parents = fileMgrService.getFileTreeByParent(parentId);
  47. res.setItem(parents);
  48. return res;
  49. }
  50. @PostMapping("/GetFilesByKey")
  51. @ResponseBody
  52. public RequsetData<PageInfo<DsjFilemrg>> GetFilesByKey(@RequestBody JsonNode reqMap) {
  53. RequsetData<PageInfo<DsjFilemrg>> res = new RequsetData<>();
  54. String fileName=reqMap.get("fileName").asText();
  55. int pageIndex=reqMap.get("pageIndex").asInt();
  56. int pageSize=reqMap.get("pageSize").asInt();
  57. res.setItem(fileMgrService.getFilesByKey(fileName, pageIndex, pageSize));
  58. return res;
  59. }
  60. /**
  61. * @Description //TODO 查询cf_file表附件
  62. * @Date 17:32 2019/7/31
  63. * @Param [fileRefID, fileTypeId, pageIndex, pageSize]
  64. **/
  65. @PostMapping("/getFileList")
  66. @ResponseBody
  67. public RequsetData<PageInfo<Map<String,Object>>> GetFileList(@RequestBody JsonNode reqMap) {
  68. RequsetData<PageInfo<Map<String,Object>>> res = new RequsetData<>();
  69. String fileName=reqMap.get("fileName")!=null?reqMap.get("fileName").asText():"";
  70. String fileTypeId=reqMap.get("fileTypeId")!=null?reqMap.get("fileTypeId").asText():"";
  71. int pageIndex=reqMap.get("pageIndex").asInt();
  72. int pageSize=reqMap.get("pageSize").asInt();
  73. res.setItem(fileMgrService.FindFilesApp(fileName,fileTypeId,pageIndex, pageSize));
  74. return res;
  75. }
  76. @PostMapping({"/getFilePDF"})
  77. @ResponseBody
  78. public RequsetData<String> getFilePDF(@RequestBody JsonNode reqMap){
  79. RequsetData<String> res=new RequsetData<>();
  80. String fileId=reqMap.get("fileId").asText();
  81. DsjFilemrg file = fileMgrService.getFileInfo(fileId);
  82. Path pFileName = Paths.get(appConfig.fileMgrUrl, file.getFileurl() + file.getExtendedname());
  83. if (Files.exists(pFileName)) {
  84. ByteArrayOutputStream bout=new ByteArrayOutputStream();
  85. try {
  86. Files.copy(pFileName, bout);
  87. String img= Base64.getEncoder().encodeToString(bout.toByteArray());
  88. res.setItem(img);
  89. }catch (Exception ex){
  90. log.error("getFilePDF:",ex);
  91. res.setSuccess(false);
  92. res.setMsg(ex.getMessage());
  93. }
  94. }
  95. return res;
  96. }
  97. }