RemoteFileService.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.xunmei.system.api;
  2. import com.xunmei.common.core.constant.ServiceNameConstants;
  3. import com.xunmei.common.core.domain.R;
  4. import com.xunmei.common.core.domain.registerbook.dto.CoreRegisterBookPdfExportDto;
  5. import com.xunmei.common.core.domain.registerbook.dto.ExportPdfDto;
  6. import com.xunmei.system.api.domain.SafeCheckTaskRegisterBookVo;
  7. import com.xunmei.system.api.domain.SysFile;
  8. import com.xunmei.system.api.factory.RemoteFileFallbackFactory;
  9. import feign.Response;
  10. import org.springframework.cloud.openfeign.FeignClient;
  11. import org.springframework.http.MediaType;
  12. import org.springframework.web.bind.annotation.GetMapping;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestBody;
  15. import org.springframework.web.bind.annotation.RequestPart;
  16. import org.springframework.web.multipart.MultipartFile;
  17. import java.util.Map;
  18. /**
  19. * 文件服务
  20. *
  21. * @author xunmei
  22. */
  23. @FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class)
  24. public interface RemoteFileService {
  25. /**
  26. * 上传文件
  27. *
  28. * @param file 文件信息
  29. * @return 结果
  30. */
  31. @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  32. public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
  33. /**
  34. * 生成教育培训登记簿
  35. *
  36. * @param data 文件信息
  37. * @param cacheDir 缓存目录
  38. * @return 结果
  39. */
  40. @PostMapping(value = "/file/generateEduTrainingPdf")
  41. R<String> generateEduTrainingPdf(@RequestBody Map<String, Object> data);
  42. @PostMapping(value = "/file/generateResumptionPdf")
  43. R<String> generateResumptionPdf(@RequestBody Map<String, Object> data);
  44. @PostMapping(value = "/file/generateSafeCheckPdf")
  45. R<String> generateSafeCheckPdf(@RequestBody SafeCheckTaskRegisterBookVo data);
  46. /**
  47. * 生成预案演练登记簿
  48. *
  49. * @param data 文件信息
  50. * @param cacheDir 缓存目录
  51. * @return 结果
  52. */
  53. @PostMapping(value = "/file/generateDrillPdf")
  54. R<String> generateDrillPdf(@RequestBody Map<String, Object> data);
  55. /**
  56. * 生成来访管理登记簿
  57. *
  58. * @param data 文件信息
  59. * @param cacheDir 缓存目录
  60. * @return 结果
  61. */
  62. @PostMapping(value = "/file/generateOutInPdf")
  63. R<String> generateOutInPdf(@RequestBody Map<String, Object> data);
  64. /**
  65. * 获取本地存储路径前缀
  66. *
  67. * @return 结果
  68. */
  69. @GetMapping(value = "/file/getLocalPathPrefix")
  70. String getLocalPathPrefix();
  71. /**
  72. * 获取nginx静态目录前缀
  73. *
  74. * @return 结果
  75. */
  76. @GetMapping(value = "/file/getStaticPathPrefix")
  77. String getStaticPathPrefix();
  78. @PostMapping(value = "/file/registerBookCompressPdf",consumes = MediaType.APPLICATION_JSON_VALUE)
  79. Response registerBookCompressPdf(@RequestBody ExportPdfDto exportDto);
  80. @PostMapping(value = "/file/cutFileCompress")
  81. void cutFileCompress(@RequestBody CoreRegisterBookPdfExportDto exportDto);
  82. @GetMapping(value = "/file/deletedZipFile")
  83. void deletedZipFile();
  84. }