This commit is contained in:
2022-07-12 11:33:02 +08:00
parent 37aa7be80a
commit 4a5682b7a9
2 changed files with 46 additions and 28 deletions

View File

@@ -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) {

View File

@@ -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+"设备日志清除成功---------------------");
}
}