package scheduler import ( "context" "eta/eta_mini_crm/models" "eta/eta_mini_crm/utils" "fmt" "time" "github.com/beego/beego/v2/task" "github.com/rdlucklib/rdluck_tools/paging" ) func InitJob() { fmt.Println("消息推送任务开启。。。") // 每天凌晨1点检测, 发送消息 tk1 := task.NewTask("CheckUserPermission", "0 0 1 * * *", CheckUserTime) task.AddTask("CheckUserPermission", tk1) // 每天凌晨1点检测, 修改用户状态 tk2 := task.NewTask("ModifyUserStatus", "0 0 1 * * *", ModifyUser) task.AddTask("ModifyUserStatus", tk2) task.StartTask() defer task.StopTask() } func CheckUserTime(ctx context.Context) error { var err error defer func() { if err != nil { utils.ApiLog.Warn("userPermission 定时任务出错,Err: %s", err.Error()) } }() err = CheckUserPermissionTime() return err } func ModifyUser(ctx context.Context) error { var err error defer func() { if err != nil { utils.ApiLog.Warn("userPermission 定时任务出错,Err: %s", err.Error()) } }() err = ModifyUserStatus() return err } func ModifyUserStatus() (err error) { curTime := time.Now() condition := ` AND valid_end_time 0 { continue } user, err := models.GetUserById(k) if err != nil { continue } for _, sysUserId := range sysUserIds { messageList = append(messageList, models.SysMessageReport{ UserId: k, ReceiveSysUserId: sysUserId, MessageType: v, IsRead: false, CreateTime: curTime, ModifyTime: curTime, Content: fmt.Sprintf(layout, user.RealName, v), }) } err = models.InsertMultiSysMessageReport(messageList) if err != nil { continue } } return }