优化在线编辑日志代码

This commit is contained in:
gaojiabao
2023-05-19 16:40:50 +08:00
parent 8069309683
commit a45de04e11
@@ -1059,13 +1059,13 @@ public class WorkFlowController extends BaseController {
if(!directory){
file.mkdirs();
}
//file = new File(path+"/",onlineFileLog.getOLdFileName()+time+"."+onlineFileLog.getFileSuffix());
file = new File(path+"/"+onlineFileLog.getOLdFileName(),time+"."+onlineFileLog.getFileSuffix());
file = new File(path+"/"+onlineFileLog.getOLdFileName(),onlineFileLog.getOLdFileName()+"."+onlineFileLog.getFileSuffix());
fileOutputStream = new FileOutputStream(file);
bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
fileOutputStream.write(onlineFileLog.getBytes());
fileOutputStream.close();
//把文件下载到本地 然后获得文件的名称 通过文件名称 调用 filesave接口 获取id 进行日志存入
logger.info("======================文件存储到本地成功,作为存储与Att表的桥梁===============================");
} catch (Exception e) {
e.printStackTrace();
}finally {
@@ -1082,58 +1082,57 @@ public class WorkFlowController extends BaseController {
}
//把文件放置到本地
AttFileVo attFileVo = attFileEOService.saveFileInfo(file);
logger.info("======================文件成功存储到Att中==============================="+attFileVo.toString());
//储存文件 一个文件夹 储存十个
if(attFileVo!=null) {
// 更新文件名称 用于显示
AttFileEO attFileEO = new AttFileEO();
attFileEO.setId(attFileVo.getId());
attFileEO.setOldFileName(onlineFileLog.getOLdFileName()+"."+onlineFileLog.getFileSuffix());
attFileEODao.updateFileInfoById(attFileEO);
onlineFileLog.setAttFileId(attFileVo.getId());
onlineFileLog.setUpdateTime(new Date());
onlineFileLog.setCreateTime(new Date());
onlineFileLog.setFileName(String.valueOf(time));
onlineFileLog.setValidFlag("0");
onlineFileLogDao.insert(onlineFileLog);
//存储完成以后 去查询是否是最近的是个文件 如果是 则 如果不是则
File deleteFile = new File(path + onlineFileLog.getOLdFileName());
File[] files = deleteFile.listFiles();
// 如果大于十个 删除最早的版本
int count = 0;
for (File fileData: files){
if(fileData.isFile()){
count = count+1;
logger.info("======================日志存入成功==============================="+onlineFileLog.toString());
//删除媒介桥梁文件
if(file.delete()){
//删除文件名称
File fileTOW = new File(path+onlineFileLog.getOLdFileName());
if(fileTOW.delete()){
File fileInfo = new File(path);
if(fileInfo.delete()){
logger.info("======================桥梁文件删除成功===============================");
}
}
}else {
logger.info("======================桥梁文件删除失败!!!!!!!!===============================");
}
if(count>10){
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapperHis = new QueryWrapper<>();
onlineFileLogQueryWrapperHis.eq("HIS_ID",onlineFileId);
onlineFileLogQueryWrapperHis.eq("VALID_FLAG","0");
onlineFileLogQueryWrapperHis.orderByAsc("CREATE_TIME");
List<OnlineFileLog> onlineFileLogs = onlineFileLogDao.selectList(onlineFileLogQueryWrapperHis);
//建立删除
File deleteFileInfo = new File(path + onlineFileLog.getOLdFileName()+"/",onlineFileLogs.get(0).getFileName()+"."+onlineFileLogs.get(0).getFileSuffix());
if(deleteFileInfo.delete()){
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapper = new QueryWrapper<>();
onlineFileLogQueryWrapper.eq("FILE_NAME",onlineFileLogs.get(0).getFileName());
OnlineFileLog onlineFileLogIsNot = onlineFileLogDao.selectOne(onlineFileLogQueryWrapper);
if(onlineFileLogIsNot!=null){
//删除此处有关的数据
AttFileEO fileInfo = attFileEOService.getFileInfo(onlineFileLogIsNot.getAttFileId());
if(fileInfo!=null){
File fileAtt = new File(standEditFilePath+fileInfo.getFilePath()+fileInfo.getFileName());
if(fileAtt.delete()){
attFileEOService.deleteById(onlineFileLogIsNot.getAttFileId());
onlineFileLogDao.deleteById(onlineFileLogs.get(0).getId());
}
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapperHis = new QueryWrapper<>();
onlineFileLogQueryWrapperHis.eq("HIS_ID",onlineFileId);
onlineFileLogQueryWrapperHis.eq("VALID_FLAG","0");
onlineFileLogQueryWrapperHis.orderByAsc("CREATE_TIME");
List<OnlineFileLog> onlineFileLogs = onlineFileLogDao.selectList(onlineFileLogQueryWrapperHis);
//建立删除
// File deleteFileInfo = new File(path + onlineFileLog.getOLdFileName()+"/",onlineFileLogs.get(0).getFileName()+"."+onlineFileLogs.get(0).getFileSuffix());
if(onlineFileLogs.size()>10){
logger.info("======================文件日志记录小于10==============================="+onlineFileLogs.size());
QueryWrapper<OnlineFileLog> onlineFileLogQueryWrapper = new QueryWrapper<>();
onlineFileLogQueryWrapper.eq("FILE_NAME",onlineFileLogs.get(0).getFileName());
OnlineFileLog onlineFileLogIsNot = onlineFileLogDao.selectOne(onlineFileLogQueryWrapper);
if(onlineFileLogIsNot!=null){
//删除此处有关的数据
AttFileEO fileInfo = attFileEOService.getFileInfo(onlineFileLogIsNot.getAttFileId());
if(fileInfo!=null){
File fileAtt = new File(standEditFilePath+fileInfo.getFilePath()+fileInfo.getFileName());
if(fileAtt.delete()){
attFileEOService.deleteById(onlineFileLogIsNot.getAttFileId());
onlineFileLogDao.deleteById(onlineFileLogs.get(0).getId());
}
}
logger.info("删除成功"+onlineFileLogs.get(0).getId());
}else {
logger.info("删除失败"+onlineFileLogs.get(0).getId());
}
logger.info("删除成功"+onlineFileLogs.get(0).getId());
}else {
logger.info("======================文件日志记录小于10==============================="+onlineFileLogs.size());
return Result.success(attFileVo.getId());
}
}
return Result.success(attFileVo.getId());
}