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.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());
|
}
|
|
}
|