// package org.xyzh.crontab.task;

// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.stereotype.Component;
// import org.xyzh.crontab.mapper.CrontabLogMapper;

// import java.util.Calendar;
// import java.util.Date;

// /**
//  * @description 清理过期日志任务
//  * @filename LogCleanTask.java
//  * @author yslg
//  * @copyright xyzh
//  * @since 2025-10-25
//  */
// @Component("logCleanTask")
// public class LogCleanTask {

//     private static final Logger logger = LoggerFactory.getLogger(LogCleanTask.class);

//     @Autowired
//     private CrontabLogMapper logMapper;

//     /**
//      * @description 执行日志清理，默认清理30天前的日志
//      * @author yslg
//      * @since 2025-10-25
//      */
//     public void execute() {
//         execute("30");
//     }

//     /**
//      * @description 执行日志清理
//      * @param params 天数参数
//      * @author yslg
//      * @since 2025-10-25
//      */
//     public void execute(String params) {
//         logger.info("开始执行日志清理任务...");
        
//         try {
//             int days = 30; // 默认30天
//             if (params != null && !params.isEmpty()) {
//                 try {
//                     days = Integer.parseInt(params);
//                 } catch (NumberFormatException e) {
//                     logger.warn("参数格式错误，使用默认值30天");
//                 }
//             }

//             Calendar calendar = Calendar.getInstance();
//             calendar.add(Calendar.DAY_OF_MONTH, -days);
//             Date beforeDate = calendar.getTime();

//             int count = logMapper.cleanLogsByDate(beforeDate);
            
//             logger.info("日志清理任务执行完成，共清理{}条日志", count);
//         } catch (Exception e) {
//             logger.error("日志清理任务执行失败: ", e);
//             throw new RuntimeException("日志清理任务执行失败", e);
//         }
//     }
// }

