更新
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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+"设备日志清除成功---------------------");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user