package com.zy.acs.manager.core.scheduler;
|
|
import com.zy.acs.manager.system.service.ConfigService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.Optional;
|
|
/**
|
* Created by vincent on 5/8/2024
|
*/
|
@Slf4j
|
//@Component
|
@SuppressWarnings("all")
|
public class LogDataScheduler {
|
|
@Autowired
|
private JdbcTemplate jdbcTemplate;
|
@Autowired
|
private ConfigService configService;
|
|
@Scheduled(cron = "0 0 1 * * ?")
|
@Transactional
|
public void syncLog() {
|
Integer dataExpiredDays = Optional.ofNullable(configService.getVal("dataExpiredDays", Integer.class)).orElse(7);
|
this.syncTaskLog(dataExpiredDays);
|
this.syncActionLog(dataExpiredDays);
|
this.syncSegmentLog(dataExpiredDays);
|
this.syncJamLog(dataExpiredDays);
|
this.syncTravelLog(dataExpiredDays);
|
}
|
|
public void syncTaskLog(Integer dataExpiredDays){
|
try {
|
String insertSql = "INSERT INTO man_task_log " +
|
"SELECT * FROM man_task " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsInserted = jdbcTemplate.update(insertSql);
|
log.info("Inserted {} rows into man_task_log", rowsInserted);
|
|
String deleteSql = "DELETE FROM man_task " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsDeleted = jdbcTemplate.update(deleteSql);
|
log.info("Deleted {} rows from man_task", rowsDeleted);
|
|
} catch (Exception e) {
|
log.error("Error occurred while syncing task log: {}", e.getMessage());
|
throw e;
|
}
|
}
|
|
|
public void syncActionLog(Integer dataExpiredDays){
|
try {
|
String insertSql = "INSERT INTO man_action_log " +
|
"SELECT * FROM man_action " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsInserted = jdbcTemplate.update(insertSql);
|
log.info("Inserted {} rows into man_action_log", rowsInserted);
|
|
String deleteSql = "DELETE FROM man_action " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsDeleted = jdbcTemplate.update(deleteSql);
|
log.info("Deleted {} rows from man_action", rowsDeleted);
|
|
} catch (Exception e) {
|
log.error("Error occurred while syncing action log: {}", e.getMessage());
|
throw e;
|
}
|
}
|
|
public void syncSegmentLog(Integer dataExpiredDays){
|
try {
|
String insertSql = "INSERT INTO man_segment_log " +
|
"SELECT * FROM man_segment " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsInserted = jdbcTemplate.update(insertSql);
|
log.info("Inserted {} rows into man_segment_log", rowsInserted);
|
|
String deleteSql = "DELETE FROM man_segment " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsDeleted = jdbcTemplate.update(deleteSql);
|
log.info("Deleted {} rows from man_segment", rowsDeleted);
|
|
} catch (Exception e) {
|
log.error("Error occurred while syncing segment log: {}", e.getMessage());
|
throw e;
|
}
|
}
|
|
public void syncJamLog(Integer dataExpiredDays){
|
try {
|
String insertSql = "INSERT INTO man_jam_log " +
|
"SELECT * FROM man_jam " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsInserted = jdbcTemplate.update(insertSql);
|
log.info("Inserted {} rows into man_jam_log", rowsInserted);
|
|
String deleteSql = "DELETE FROM man_jam " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsDeleted = jdbcTemplate.update(deleteSql);
|
log.info("Deleted {} rows from man_jam", rowsDeleted);
|
|
} catch (Exception e) {
|
log.error("Error occurred while syncing jam log: {}", e.getMessage());
|
throw e;
|
}
|
}
|
|
public void syncTravelLog(Integer dataExpiredDays){
|
try {
|
String insertSql = "INSERT INTO man_travel_log " +
|
"SELECT * FROM man_travel " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsInserted = jdbcTemplate.update(insertSql);
|
log.info("Inserted {} rows into man_travel_log", rowsInserted);
|
|
String deleteSql = "DELETE FROM man_travel " +
|
"WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY";
|
int rowsDeleted = jdbcTemplate.update(deleteSql);
|
log.info("Deleted {} rows from man_travel", rowsDeleted);
|
|
} catch (Exception e) {
|
log.error("Error occurred while syncing travel log: {}", e.getMessage());
|
throw e;
|
}
|
}
|
|
}
|