FileSpaceTask.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.citygis.web.task;
  2. import cn.hutool.core.lang.Snowflake;
  3. import cn.hutool.core.util.IdUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.citygis.web.domain.TabFilePath;
  6. import com.citygis.web.domain.TabSystemSpace;
  7. import com.citygis.web.service.ITabFileParhService;
  8. import com.citygis.web.service.ITabSystemSpaceService;
  9. import com.citygis.web.utils.FileUtils;
  10. import org.springframework.stereotype.Component;
  11. import javax.annotation.Resource;
  12. import java.io.File;
  13. import java.util.ArrayList;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * @Author: zyl
  18. * @CreateTime: 2025-03-06
  19. * @Description: 文件占用系统磁盘空间监控
  20. * @Version: 1.0
  21. */
  22. @Component("fileSpaceTask")
  23. public class FileSpaceTask {
  24. @Resource
  25. ITabFileParhService iTabFileParhService;
  26. @Resource
  27. ITabSystemSpaceService tabSystemSpaceService;
  28. public void insertTabSystemSpace() {
  29. Snowflake snowflake = IdUtil.getSnowflake(1, 1);
  30. LambdaQueryWrapper<TabFilePath> queryWrapper = new LambdaQueryWrapper<>();
  31. queryWrapper.eq(TabFilePath::getIsApply, 1);
  32. List<TabFilePath> list = iTabFileParhService.list(queryWrapper);
  33. List<TabSystemSpace> tabSystemSpaceList = new ArrayList<>();
  34. list.forEach(tabFileParh -> {
  35. TabSystemSpace tabSystemSpace = new TabSystemSpace();
  36. File file = new File(tabFileParh.getFilepath());
  37. tabSystemSpace.setId(snowflake.nextId());
  38. tabSystemSpace.setFilepath(tabFileParh.getFilepath());
  39. tabSystemSpace.setType(tabFileParh.getType());
  40. tabSystemSpace.setIp(tabFileParh.getIp());
  41. tabSystemSpace.setFileSpace(FileUtils.getFilesLengthDesc(FileUtils.getFilesLengthB(file)));
  42. tabSystemSpace.setUsableSpace(FileUtils.getFilesLengthDesc(file.getUsableSpace()));
  43. tabSystemSpace.setFileTotalSpace(FileUtils.getFilesLengthDesc(file.getTotalSpace()));
  44. tabSystemSpace.setCreateTime(new Date());
  45. tabSystemSpaceList.add(tabSystemSpace);
  46. });
  47. tabSystemSpaceService.saveBatch(tabSystemSpaceList);
  48. }
  49. }