新增清空历史数据

This commit is contained in:
陈超
2022-07-25 14:53:46 +08:00
parent 072be96034
commit 78ff6471b1
5 changed files with 68 additions and 11 deletions

View File

@@ -62,8 +62,8 @@ public class AuditController extends BaseController {
@ApiOperation("日志文件恢复") @ApiOperation("日志文件恢复")
public HttpResult recoverLogFile() { public HttpResult recoverLogFile() {
String methodDescribe = getMethodDescribe("recoverLogFile"); String methodDescribe = getMethodDescribe("recoverLogFile");
boolean res = auditService.recoverLogFile(); auditService.recoverLogFile();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,res,methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,null,methodDescribe);
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@@ -76,6 +76,15 @@ public class AuditController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,result,methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,result,methodDescribe);
} }
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/clearHistoryLog")
@ApiOperation("清空历史日志")
public HttpResult clearHistoryLog() {
String methodDescribe = getMethodDescribe("clearHistoryLog");
auditService.clearHistoryLog();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/saveLogParam") @PostMapping("/saveLogParam")
@ApiOperation("筛选下拉列表参数") @ApiOperation("筛选下拉列表参数")

View File

@@ -29,6 +29,10 @@ public interface AuditMapper {
* 获取审计日志统计列表 * 获取审计日志统计列表
*/ */
List<AuditLogCusVO> selectCensusAuditLog(@Param("auditParam") AuditParam auditParam); List<AuditLogCusVO> selectCensusAuditLog(@Param("auditParam") AuditParam auditParam);
/**
* 根据时间删除日志
*/
void deleteByTime(@Param("ew") QueryWrapper<UserLog> queryWrapper);
/** /**
* 查询所有登录名 * 查询所有登录名
*/ */
@@ -37,4 +41,5 @@ public interface AuditMapper {
* 查询所有操作类型 * 查询所有操作类型
*/ */
List<String> selectOperateType(); List<String> selectOperateType();
} }

View File

@@ -75,6 +75,11 @@
Where ${ew.sqlSegment} Where ${ew.sqlSegment}
</select> </select>
<delete id="deleteByTime">
DELETE FROM sys_user_log
WHERE ${ew.sqlSegment}
</delete>
<select id="selectCensusAuditLog" resultType="AuditLogCusVO"> <select id="selectCensusAuditLog" resultType="AuditLogCusVO">
SELECT SELECT
login_name LoginName, login_name LoginName,

View File

@@ -28,7 +28,7 @@ public interface AuditService extends IService<UserLog> {
/** /**
* 日志文件数据恢复 * 日志文件数据恢复
*/ */
boolean recoverLogFile(); void recoverLogFile();
/** /**
* 分页获取审计日志统计列表 * 分页获取审计日志统计列表
@@ -40,4 +40,9 @@ public interface AuditService extends IService<UserLog> {
* 获取筛选下拉列表参数 * 获取筛选下拉列表参数
*/ */
LogParamVO saveLogParam(); LogParamVO saveLogParam();
/**
* 清空6个月前的历史日志
*/
void clearHistoryLog();
} }

View File

@@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.imports.ExcelImportService; import cn.afterturn.easypoi.excel.imports.ExcelImportService;
import cn.afterturn.easypoi.exception.excel.ExcelImportException; import cn.afterturn.easypoi.exception.excel.ExcelImportException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists; import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -40,8 +41,7 @@ import java.io.OutputStream;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters; import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -165,12 +165,12 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
} }
@Override @Override
public boolean recoverLogFile() { public void recoverLogFile() {
LocalDate nowDate = LocalDate.now(); File newFile = getLastFile();
File file = new File(generalInfo.getBusinessTempPath() + File.separator + nowDate +" sys_user_log.xlsx"); if (!newFile.exists()) {
if (!file.exists()) {
throw new BusinessException(AuditLogEnum.NOT_FIND_FILE); throw new BusinessException(AuditLogEnum.NOT_FIND_FILE);
} }
ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
params.setHeadRows(1);//表头 params.setHeadRows(1);//表头
params.setTitleRows(0);//标题行数 params.setTitleRows(0);//标题行数
@@ -181,7 +181,8 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
FileInputStream in = null; FileInputStream in = null;
try { try {
in = new FileInputStream(file); in = new FileInputStream(newFile);
//将Excel文件转成对象集合
List<UserLogExcel> excelList = new ExcelImportService().importExcelByIs(in, UserLogExcel.class, params, false).getList(); List<UserLogExcel> excelList = new ExcelImportService().importExcelByIs(in, UserLogExcel.class, params, false).getList();
if (excelList.get(0).getId().isEmpty()) { if (excelList.get(0).getId().isEmpty()) {
throw new BusinessException(AuditLogEnum.LOG_EXCEPTION); throw new BusinessException(AuditLogEnum.LOG_EXCEPTION);
@@ -231,7 +232,6 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
// } catch (Exception e) { // } catch (Exception e) {
// throw new BusinessException(AuditLogEnum.LOG_EXCEPTION); // throw new BusinessException(AuditLogEnum.LOG_EXCEPTION);
// } // }
return true;
} }
@@ -258,6 +258,17 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
return page; return page;
} }
@Override
public void clearHistoryLog() {
LocalDate nowDate = LocalDate.now();
LocalDate agoDate = nowDate.minusMonths(6).with(TemporalAdjusters.firstDayOfMonth());
String date = agoDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
QueryWrapper<UserLog> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("sys_user_log.update_time",date);
auditMapper.deleteByTime(queryWrapper);
}
@Override @Override
public LogParamVO saveLogParam() { public LogParamVO saveLogParam() {
LogParamVO logParamVO = new LogParamVO(); LogParamVO logParamVO = new LogParamVO();
@@ -282,6 +293,28 @@ public class AuditServiceImpl extends ServiceImpl<UserLogMapper, UserLog> implem
return logParamVO; return logParamVO;
} }
/**返回一个最新修改日期的文件*/
public File getLastFile() {
File parentFile = new File(generalInfo.getBusinessTempPath());
Date date = FileUtil.lastModifiedTime(parentFile);
System.out.println(">>>>>>>>>>当前文件夹最后修改时间>>>>>>>>>"+date);
//文件夹下的所有子文件数组
File[] files = parentFile.listFiles();
List<Date> list = Arrays.stream(files).map(tempFile -> FileUtil.lastModifiedTime(tempFile)).collect(Collectors.toList());
//Date集合排序
Collections.sort(list, new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
return o2.compareTo(o1);//倒序排序
// return o1.compareTo(o2);//正序排序
}
});
File newFile = Arrays.stream(files).filter(tempFile -> FileUtil.lastModifiedTime(tempFile).equals(list.get(0))).collect(Collectors.toList()).get(0);
return newFile;
}
} }