kbTask.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package timeTask
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. . "biBackService/config"
  5. "biBackService/public"
  6. "fmt"
  7. "github.com/robfig/cron"
  8. "log"
  9. "time"
  10. )
  11. func Task() {
  12. cr := cron.New()
  13. cr.AddFunc(SysConfig.TimeTaskCron, kbTaskWechatPrivateMsg)
  14. cr.Start()
  15. //select {}
  16. }
  17. func kbTaskWechatPrivateMsg() {
  18. log.Println("start cron ......")
  19. //查询已完成工单
  20. fiveMinutesAgo := time.Now().Local().Add(-5 * time.Minute).Unix()
  21. data := KbDb.SelectBySql("SELECT t.id,t.title,u.name,u.username FROM `tasks` t LEFT JOIN users u ON t.creator_id = u.id WHERE date_moved > ? AND date_moved <= NOW() AND t.column_id = ? AND t.project_id = ?", fiveMinutesAgo, SysConfig.Project.FinishColumnId, SysConfig.Project.ProjectId)
  22. if data != nil && len(*data) > 0 {
  23. for _, v := range *data {
  24. log.Println("task id ", v["id"])
  25. createUser := common.InterfaceToStr(v["username"])
  26. title := common.InterfaceToStr(v["title"])
  27. msg := fmt.Sprintf("您反馈的“%s”的问题已解决", title)
  28. userId := SysConfig.UserIdMap[createUser]
  29. //发送企业微信
  30. ok, err := public.SendMsg(userId, msg)
  31. if !ok && err != nil {
  32. log.Printf("工单id:%v发送企业微信消息出错:%s", common.IntAll(v["id"]), err)
  33. }
  34. }
  35. }
  36. log.Println("定时任务完成.....")
  37. }