|  |  |  | 
|---|
|  |  |  | 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.stereotype.Component; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Optional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 5/8/2024 | 
|---|
|  |  |  | 
|---|
|  |  |  | @SuppressWarnings("all") | 
|---|
|  |  |  | public class LogDataScheduler { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static final Integer EXPIRED_DAYS = 7; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private JdbcTemplate jdbcTemplate; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ConfigService configService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Scheduled(cron = "0 0 1 * * ?") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public void syncLog() { | 
|---|
|  |  |  | this.syncTaskLog(); | 
|---|
|  |  |  | this.syncActionLog(); | 
|---|
|  |  |  | this.syncSegmentLog(); | 
|---|
|  |  |  | this.syncJamLog(); | 
|---|
|  |  |  | this.syncTravelLog(); | 
|---|
|  |  |  | Integer dataExpiredDays = Optional.ofNullable(configService.getVal("dataExpiredDays", Integer.class)).orElse(7); | 
|---|
|  |  |  | if (dataExpiredDays > 0) { | 
|---|
|  |  |  | this.syncTaskLog(dataExpiredDays); | 
|---|
|  |  |  | this.syncActionLog(dataExpiredDays); | 
|---|
|  |  |  | this.syncSegmentLog(dataExpiredDays); | 
|---|
|  |  |  | this.syncJamLog(dataExpiredDays); | 
|---|
|  |  |  | this.syncTravelLog(dataExpiredDays); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void syncTaskLog(){ | 
|---|
|  |  |  | public void syncTaskLog(Integer dataExpiredDays){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String insertSql = "INSERT INTO man_task_log " + | 
|---|
|  |  |  | "SELECT * FROM man_task " + | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "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 "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY"; | 
|---|
|  |  |  | int rowsDeleted = jdbcTemplate.update(deleteSql); | 
|---|
|  |  |  | log.info("Deleted {} rows from man_task", rowsDeleted); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void syncActionLog(){ | 
|---|
|  |  |  | public void syncActionLog(Integer dataExpiredDays){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String insertSql = "INSERT INTO man_action_log " + | 
|---|
|  |  |  | "SELECT * FROM man_action " + | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "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 "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY"; | 
|---|
|  |  |  | int rowsDeleted = jdbcTemplate.update(deleteSql); | 
|---|
|  |  |  | log.info("Deleted {} rows from man_action", rowsDeleted); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void syncSegmentLog(){ | 
|---|
|  |  |  | public void syncSegmentLog(Integer dataExpiredDays){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String insertSql = "INSERT INTO man_segment_log " + | 
|---|
|  |  |  | "SELECT * FROM man_segment " + | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "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 "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY"; | 
|---|
|  |  |  | int rowsDeleted = jdbcTemplate.update(deleteSql); | 
|---|
|  |  |  | log.info("Deleted {} rows from man_segment", rowsDeleted); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void syncJamLog(){ | 
|---|
|  |  |  | public void syncJamLog(Integer dataExpiredDays){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String insertSql = "INSERT INTO man_jam_log " + | 
|---|
|  |  |  | "SELECT * FROM man_jam " + | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "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 "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY"; | 
|---|
|  |  |  | int rowsDeleted = jdbcTemplate.update(deleteSql); | 
|---|
|  |  |  | log.info("Deleted {} rows from man_jam", rowsDeleted); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void syncTravelLog(){ | 
|---|
|  |  |  | public void syncTravelLog(Integer dataExpiredDays){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String insertSql = "INSERT INTO man_travel_log " + | 
|---|
|  |  |  | "SELECT * FROM man_travel " + | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "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 "+ EXPIRED_DAYS +" DAY"; | 
|---|
|  |  |  | "WHERE create_time < NOW() - INTERVAL "+ dataExpiredDays +" DAY"; | 
|---|
|  |  |  | int rowsDeleted = jdbcTemplate.update(deleteSql); | 
|---|
|  |  |  | log.info("Deleted {} rows from man_travel", rowsDeleted); | 
|---|
|  |  |  |  | 
|---|