package org.jeecg.modules.dnc.listener; import org.apache.commons.io.monitor.FileAlterationListener; import org.apache.commons.io.monitor.FileAlterationObserver; import org.jeecg.modules.dnc.dto.TransferPackage; import org.jeecg.modules.dnc.service.impl.DataImportService; import org.jeecg.modules.dnc.service.impl.FileFerryService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.File; @Component public class FileListener implements FileAlterationListener { private static final Logger log = LoggerFactory.getLogger(FileListener.class); @Autowired private FileFerryService fileFerryService; @Autowired private DataImportService dataImportService; @Override public void onStart(FileAlterationObserver observer) { log.info("开始监听目录: {}", observer.getDirectory().getAbsolutePath()); } @Override public void onDirectoryCreate(File directory) { log.info("[目录创建]: {}", directory.getAbsolutePath()); } @Override public void onDirectoryChange(File directory) { log.info("[目录修改]: {}", directory.getAbsolutePath()); } @Override public void onDirectoryDelete(File directory) { log.info("[目录删除]: {}", directory.getAbsolutePath()); } @Override public void onFileCreate(File file) { String filePath = file.getAbsolutePath(); log.info("[新建]: {}", filePath); // if (filePath.startsWith(fileMonitorConfig.getPaths().get(0))){ if (filePath.endsWith(".ferry")){ TransferPackage data = fileFerryService.importData(filePath); dataImportService.importTransferPackage(data); log.info("文件导入完成"); } // } } @Override public void onFileChange(File file) { log.info("[修改]: {}", file.getAbsolutePath()); } @Override public void onFileDelete(File file) { log.info("[删除]: {}", file.getAbsolutePath()); } @Override public void onStop(FileAlterationObserver observer) { log.info("结束监听目录: {}", observer.getDirectory().getAbsolutePath()); } }