package com.lxzn.backpass;
|
|
import com.lxzn.framework.utils.file.FileUtil;
|
import com.lxzn.nc.service.IDocInfoService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.io.monitor.FileAlterationListener;
|
import org.apache.commons.io.monitor.FileAlterationObserver;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.io.File;
|
|
/**
|
* @author clown
|
* * @date 2023/5/25
|
*/
|
@Slf4j
|
@Component
|
public class FileListener implements FileAlterationListener {
|
|
@Autowired
|
private IDocInfoService docInfoService;
|
@Override
|
public void onStart(FileAlterationObserver fileAlterationObserver) {
|
File directory = fileAlterationObserver.getDirectory();
|
log.info("开始监听..." + directory);
|
}
|
|
|
// 文件创建执行
|
@Override
|
public void onFileCreate(File file) {
|
try {
|
log.info("[新建]:" + file.getAbsolutePath());
|
Integer recNum = file.getAbsolutePath().lastIndexOf("REC");
|
if (recNum == -1) {
|
return;
|
}
|
boolean b = docInfoService.addDocInfoRec(file.getAbsolutePath(),file);
|
if (b ) {
|
boolean c = FileUtil.copyFileRec(file.getAbsolutePath());
|
if (c) {
|
FileUtil.fileRecDelete(file.getAbsolutePath());
|
}
|
}
|
}catch (Exception e) {
|
e.getMessage();
|
return;
|
}
|
|
}
|
|
// 文件创建修改
|
@Override
|
public void onFileChange(File file) {
|
log.info("[修改]:" + file.getAbsolutePath());
|
// 触发业务
|
// listenerService.doSomething();
|
}
|
|
// 文件创建删除
|
@Override
|
public void onFileDelete(File file) {
|
log.info("[删除]:" + file.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 onStop(FileAlterationObserver fileAlterationObserver) {
|
File directory = fileAlterationObserver.getDirectory();
|
/*log.info("结束监听..." + directory);*/
|
}
|
}
|