package crontab import ( "knowledge/api/dao" "knowledge/global" "knowledge/utils" "time" ) // HandleQuestionQaExpire 题目题库过期处理 func HandleQuestionQaExpire() { // 获取过期题目 questionQaDao := dao.QuestionQaDao{} // 验证数量 maps := make(map[string]interface{}) maps["qa_status"] = 1 // 当前时间 now := time.Now() endTime := now.Format("2006-01-02 15:04") // 今天开始时间 year, month, day := now.Date() location := now.Location() startTime := time.Date(year, month, day, 00, 00, 00, 0, location).Format("2006-01-02 15:04") questionQas, err := questionQaDao.GetQuestionQaListByQaExpireTime(maps, startTime, endTime) if err == nil && len(questionQas) > 0 { for _, qa := range questionQas { // 检测状态 if qa.QaStatus == 2 { continue } // 修改为失效 questionQaData := make(map[string]interface{}) questionQaData["qa_status"] = 2 err := questionQaDao.EditQuestionQaById(global.Db, qa.QaId, questionQaData) if err != nil { utils.LogJsonErr("处理题目题库过期失败:", err) } } } }