package service import ( "dy-admin/internal/pcmserver/bus/model" "dy-admin/internal/pcmserver/global" "dy-admin/pkg/log" "fmt" "go.uber.org/zap" "time" ) type DeleteLogCronJob struct { } func (job *DeleteLogCronJob) Run() { var err error var execRes = "定时任务已执行,执行信息: " now := time.Now() defer func() { // 记录执行日志 err = global.DB.Create(&model.CronLog{ ExecTime: now, CronName: "delete_log", CronRes: execRes, }).Error if err != nil { log.Error("create cron log err", zap.Error(err)) } }() deleteTime := now.AddDate(0, 0, -2) // 删除两天前的设备日志 err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.DeviceLog{}).Error if err != nil { execRes += fmt.Sprintf("删除设备日志失败,err:%s", err) } execRes += fmt.Sprintf("删除设备日志成功。") // 删除两天前的定时任务执行日志 err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.CronLog{}).Error if err != nil { execRes += fmt.Sprintf("删除定时任务日志失败,err:%s", err) } // 删除两天前连接日志 err = global.DB.Where("created_at < ?", deleteTime).Delete(&model.ConnectLog{}).Error if err != nil { execRes += fmt.Sprintf("删除连接日志失败,err:%s", err) } execRes += fmt.Sprintf("删除设备定时任务成功。") }