From 4a5682b7a971d3deb553f5c99ceaac86f97a18da Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Tue, 12 Jul 2022 11:33:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/quartz/task/AutoCleanUpLogs.java | 34 +++------------- .../nl/modules/quartz/task/CleanUpThread.java | 40 +++++++++++++++++++ 2 files changed, 46 insertions(+), 28 deletions(-) create mode 100644 wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/CleanUpThread.java diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCleanUpLogs.java b/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCleanUpLogs.java index aca823fd..c86b0492 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCleanUpLogs.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCleanUpLogs.java @@ -1,18 +1,14 @@ package org.nl.modules.quartz.task; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.wql.core.bean.WQLObject; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; -import java.util.Date; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** @@ -24,35 +20,17 @@ import java.util.Date; @RequiredArgsConstructor public class AutoCleanUpLogs { - private final MongoTemplate mongoTemplate; + private ExecutorService threadPool = Executors.newCachedThreadPool(); public void run() throws Exception { try { - Date now = DateUtil.parse(DateUtil.now()); - DateTime bzdate = DateUtil.offsetDay(now, -5); - String formatbz = DateUtil.formatDateTime(bzdate); - Query bzquery = new Query().addCriteria(Criteria.where("create_time").lte(formatbz)); - System.out.println("BZ01设备日志开始清除---------------------"); - mongoTemplate.remove(bzquery,"BZ01"); - System.out.println("BZ01设备日志清除成功---------------------"); - - System.out.println("BZ02设备日志开始清除---------------------"); - mongoTemplate.remove(bzquery,"BZ02"); - System.out.println("BZ02设备日志清除成功---------------------"); WQLObject wo = WQLObject.getWQLObject("acs_device"); - JSONArray array = wo.query("1=1","device_code").getResultJSONArray(0); - DateTime dateTime = DateUtil.offsetDay(now, -15); - String formatDateTime = DateUtil.formatDateTime(dateTime); - Query query = new Query().addCriteria(Criteria.where("create_time").lte(formatDateTime)); - if (array.size() > 0){ + JSONArray array = wo.query("1=1", "device_code").getResultJSONArray(0); + if (array.size() > 0) { for (int i = 0; i < array.size(); i++) { JSONObject jsonObject = array.getJSONObject(i); String device_code = jsonObject.getString("device_code"); - if (device_code.equals("BZ01") || device_code.equals("BZ02")){ - continue; - } - mongoTemplate.remove(query,device_code); - System.out.println(device_code+"设备日志清除成功---------------------"); + threadPool.execute(new CleanUpThread(device_code)); } } } catch (Exception e) { diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/CleanUpThread.java b/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/CleanUpThread.java new file mode 100644 index 00000000..4994a5f4 --- /dev/null +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/CleanUpThread.java @@ -0,0 +1,40 @@ +package org.nl.modules.quartz.task; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import org.nl.utils.SpringContextHolder; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; + +import java.util.Date; + +/** + * @author: geng by + * @createDate: 2022/7/12 + */ +public class CleanUpThread extends Thread{ + + private String deviceCode; + + public CleanUpThread(String deviceCode){ + this.deviceCode = deviceCode; + } + + @Override + public void run() { + MongoTemplate mongoTemplate = SpringContextHolder.getBean(MongoTemplate.class); + Date now = DateUtil.parse(DateUtil.now()); + DateTime bzdate; + if (deviceCode.equals("BZ01") || deviceCode.equals("BZ02")){ + bzdate = DateUtil.offsetDay(now, -3); + } else { + bzdate = DateUtil.offsetDay(now, -15); + } + String formatbz = DateUtil.formatDateTime(bzdate); + Query bzquery = new Query().addCriteria(Criteria.where("create_time").lte(formatbz)); + System.out.println(deviceCode+"设备日志开始清除---------------------"); + mongoTemplate.remove(bzquery, deviceCode); + System.out.println(deviceCode+"设备日志清除成功---------------------"); + } +}