package com.zy.acs.manager.core.scheduler;
|
|
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.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
/**
|
* Created by vincent on 5/8/2024
|
*/
|
@Slf4j
|
@Component
|
@SuppressWarnings("all")
|
public class LogDataScheduler {
|
|
public static final Integer EXPIRED_DAYS = 7;
|
|
@Autowired
|
private JdbcTemplate jdbcTemplate;
|
|
@Scheduled(cron = "0 0 1 * * ?")
|
@Transactional
|
public void syncLog() {
|
this.syncTaskLog();
|
this.syncActionLog();
|
this.syncSegmentLog();
|
this.syncJamLog();
|
this.syncTravelLog();
|
}
|
|
public void syncTaskLog(){
|
try {
|
String insertSql = "INSERT INTO man_task_log " +
|
"SELECT * FROM man_task " +
|
"WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" 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 "+ EXPIRED_DAYS +" 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(){
|
try {
|
String insertSql = "INSERT INTO man_action_log " +
|
"SELECT * FROM man_action " +
|
"WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" 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 "+ EXPIRED_DAYS +" 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(){
|
try {
|
String insertSql = "INSERT INTO man_segment_log " +
|
"SELECT * FROM man_segment " +
|
"WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" 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 "+ EXPIRED_DAYS +" 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(){
|
try {
|
String insertSql = "INSERT INTO man_jam_log " +
|
"SELECT * FROM man_jam " +
|
"WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" 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 "+ EXPIRED_DAYS +" 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(){
|
try {
|
String insertSql = "INSERT INTO man_travel_log " +
|
"SELECT * FROM man_travel " +
|
"WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" 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 "+ EXPIRED_DAYS +" 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;
|
}
|
}
|
|
}
|