sgj
2026-03-24 deb8a2c32ba0cb7a88819b54d720418cdc2f7ebb
fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/SystemScheduled.java
@@ -1,10 +1,12 @@
package com.fzzy.igds.timer;
import com.fzzy.common.constant.BizTypeEnum;
import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.config.FrameworkConfig;
import com.ruoyi.common.enums.BusinessStatus;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OperatorType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysCompany;
import com.ruoyi.system.domain.SysOperLog;
@@ -16,8 +18,7 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.*;
@EnableScheduling
@Slf4j
@@ -37,7 +38,7 @@
    /**
     *
     */
    @Scheduled(cron = "0 0 1 */30 * ?")
    @Scheduled(cron = "0 0 1 1 * ?")
    public void cronJob1() {
        try {
            log.info("------------每30天的凌晨1点执行清除操作日志开始------------");
@@ -66,10 +67,30 @@
        //获取系统中所有的companyId
        List<SysCompany> sysCompanies = companyService.selectAll();
        //设置删除参数
        SysOperLog deleteOperLog = new SysOperLog();
        //设置删除截止时间
        String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtil.getNewByDay(new Date(), -90));
        Map<String, Object> params = new HashMap<>();
        params.put("endTime", endTime);
        deleteOperLog.setParams(params);
        //需要删除的业务类型
        String[] bizTypes = new String[]{
                BizTypeEnum.SCREEN.getCode(),
                BizTypeEnum.SUPERVISION.getCode(),
                BizTypeEnum.SECURITY.getCode(),
                BizTypeEnum.GRAIN.getCode(),
                BizTypeEnum.INOUT.getCode()
        };
        for (SysCompany sysCompany : sysCompanies) {
            if (StringUtils.isNotBlank(sysCompany.getCompanyId())) {
                //设置删除企业编码
                deleteOperLog.setCompanyId(sysCompany.getCompanyId());
                log.info("------------清除组织编码【{}】操作日志------------", sysCompany.getCompanyId());
                operLogService.cleanOperLog(sysCompany.getCompanyId());
                for (int i = 0; i < bizTypes.length; i++) {
                    deleteOperLog.setBizType( bizTypes[i]);
                    operLogService.cleanOperLogByEntity(deleteOperLog);
                }
            }
        }
    }