package jobs import ( "fmt" "time" ) // 需要将定义的struct 添加到字典中; // 字典 key 可以配置到 自动任务 调用目标 中; func InitJob() { jobList = map[string]JobsExec{ "ExamplesOne": ExamplesOne{}, //"CheckDeptSigned": CheckDeptSigned{}, // ... } } // 新添加的job 必须按照以下格式定义,并实现Exec函数 type ExamplesOne struct { } func (t ExamplesOne) Exec(arg interface{}) error { str := time.Now().Format(timeFormat) + " [INFO] JobCore ExamplesOne exec success" // TODO: 这里需要注意 Examples 传入参数是 string 所以 arg.(string);请根据对应的类型进行转化; switch arg.(type) { case string: if arg.(string) != "" { fmt.Println("string", arg.(string)) fmt.Println(str, arg.(string)) } else { fmt.Println("arg is nil") fmt.Println(str, "arg is nil") } break } return nil } type CheckDeptSigned struct { } //// 检查机构签约是否过期 //func (t CheckDeptSigned) Exec(arg interface{}) error { // // organList := make([]sysModel.SysDept, 0) // // GetOrm 获取orm连接 // orm, _ := db.GetOrm(&gin.Context{}) // // err := orm.Find(&organList).Error // if err != nil { // log.Errorf("db error: %s", err) // return global.GetFailedErr // } // // for _, organ := range organList { // // 未签约或已过期不处理 // if organ.IsSigned == cmodel.DeptNotSigned || organ.IsSigned == cmodel.DeptExpired { // continue // } // expiredDate, _ := time.Parse("2006-01-02 15:04:05", organ.ExpiredDate+" 23:59:59") // // 已过期 // if time.Now().After(expiredDate) { // organ.IsSigned = cmodel.DeptExpired // if err := orm.Save(&organ).Error; err != nil { // log.Errorf("db error: %s", err) // return global.UpdateFailedErr // } // } // } // // return nil // //}