RemoteFileService.java 3.3 KB

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