LogFileStorageAspect.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package jnpf.aspect;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.dromara.x.file.storage.core.FileInfo;
  4. import org.dromara.x.file.storage.core.UploadPretreatment;
  5. import org.dromara.x.file.storage.core.aspect.*;
  6. import org.dromara.x.file.storage.core.platform.FileStorage;
  7. import org.dromara.x.file.storage.core.recorder.FileRecorder;
  8. import org.springframework.stereotype.Component;
  9. import java.io.InputStream;
  10. import java.util.function.Consumer;
  11. /**
  12. * 使用切面打印文件上传和删除的日志
  13. */
  14. @Slf4j
  15. @Component
  16. public class LogFileStorageAspect implements FileStorageAspect {
  17. /**
  18. * 上传,成功返回文件信息,失败返回 null
  19. */
  20. @Override
  21. public FileInfo uploadAround(UploadAspectChain chain, FileInfo fileInfo, UploadPretreatment pre, FileStorage fileStorage, FileRecorder fileRecorder) {
  22. log.info("上传文件 before -> {}",fileInfo);
  23. fileInfo = chain.next(fileInfo,pre,fileStorage,fileRecorder);
  24. log.info("上传文件 after -> {}",fileInfo);
  25. return fileInfo;
  26. }
  27. /**
  28. * 删除文件,成功返回 true
  29. */
  30. @Override
  31. public boolean deleteAround(DeleteAspectChain chain, FileInfo fileInfo, FileStorage fileStorage, FileRecorder fileRecorder) {
  32. log.info("删除文件 before -> {}",fileInfo);
  33. boolean res = chain.next(fileInfo,fileStorage,fileRecorder);
  34. log.info("删除文件 after -> {}",res);
  35. return res;
  36. }
  37. /**
  38. * 文件是否存在
  39. */
  40. @Override
  41. public boolean existsAround(ExistsAspectChain chain, FileInfo fileInfo, FileStorage fileStorage) {
  42. log.info("文件是否存在 before -> {}",fileInfo);
  43. boolean res = chain.next(fileInfo,fileStorage);
  44. log.info("文件是否存在 after -> {}",res);
  45. return res;
  46. }
  47. /**
  48. * 下载文件
  49. */
  50. @Override
  51. public void downloadAround(DownloadAspectChain chain, FileInfo fileInfo, FileStorage fileStorage, Consumer<InputStream> consumer) {
  52. log.info("下载文件 before -> {}",fileInfo);
  53. chain.next(fileInfo,fileStorage,consumer);
  54. log.info("下载文件 after -> {}",fileInfo);
  55. }
  56. /**
  57. * 下载缩略图文件
  58. */
  59. @Override
  60. public void downloadThAround(DownloadThAspectChain chain, FileInfo fileInfo, FileStorage fileStorage, Consumer<InputStream> consumer) {
  61. log.info("下载缩略图文件 before -> {}",fileInfo);
  62. chain.next(fileInfo,fileStorage,consumer);
  63. log.info("下载缩略图文件 after -> {}",fileInfo);
  64. }
  65. }