package com.xzx.log.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.xzx.log.entity.IntefaceAdminLog; import com.xzx.log.entity.SysProgramLog; import com.xzx.log.mapper.IntefaceAdminLogMapper; import com.xzx.log.mapper.SysProgramLogMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @Service @Transactional @Slf4j public class DeleteQueueByTimerService { @Autowired private IntefaceAdminLogMapper intefaceAdminLogMapper; @Autowired private SysProgramLogMapper sysProgramLogMapper; @Scheduled(cron = "${cron.deleteQueue}") @Async public void syncDel() { log.debug("定时删除2个月前的接口索引数据开始"); //删除2个月前的接口请求 DateTime dateTime = DateUtil.offsetMonth(new Date(), -2); List byCreateTimeBefore = intefaceAdminLogMapper.findByCreateTimeBefore(dateTime.toString("yyyy-MM-dd HH:mm:ss")); if(CollUtil.isNotEmpty(byCreateTimeBefore)) { intefaceAdminLogMapper.deleteAll(byCreateTimeBefore); } List sysProgramLogList = sysProgramLogMapper.findByCreateTimeBefore(dateTime.toString("yyyy-MM-dd HH:mm:ss")); if(CollUtil.isNotEmpty(byCreateTimeBefore)) { sysProgramLogMapper.deleteAll(sysProgramLogList); } } }