job.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package job
  2. import (
  3. "context"
  4. "doFreeClueSign/public"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "github.com/gogf/gf/v2/util/gconv"
  7. "time"
  8. )
  9. // LoadActivityUser 加载新活跃用户
  10. func (jm *JobManager) LoadActivityUser() {
  11. var (
  12. runNow = time.Now()
  13. ctx = context.TODO()
  14. )
  15. start, _ := time.Parse(time.DateTime, jm.lastRun.NewActivity)
  16. val := public.GetNewActiveUser(start, runNow)
  17. if len(val) > 0 {
  18. for i, msg := range val {
  19. if i%10 == 0 {
  20. g.Log().Infof(ctx, "JobManager.LoadActivityUser %d/%d", i, len(val))
  21. }
  22. if err := jm.FilterPayUserAndSaveDb(ctx, msg); err != nil {
  23. g.Log().Errorf(ctx, "JobManager.LoadActivityUser.FilterPayUserAndSaveDb %v", gconv.String(msg))
  24. }
  25. }
  26. }
  27. //更新
  28. jm.lastRun.NewActivity = start.Format(time.DateTime)
  29. if err := jm.SaveLastRun(); err != nil {
  30. g.Log().Errorf(ctx, "LoadActivityUser error %v", err)
  31. }
  32. }
  33. // LoadBindPhoneUser 加载绑定手机号用户
  34. func (jm *JobManager) LoadBindPhoneUser() {
  35. var (
  36. runNow = time.Now()
  37. ctx = context.TODO()
  38. )
  39. start, _ := time.Parse(time.DateTime, jm.lastRun.BindPhone)
  40. val := public.GetBidPhoneUser(start, runNow)
  41. if len(val) > 0 {
  42. for i, msg := range val {
  43. if i%10 == 0 {
  44. g.Log().Infof(ctx, "JobManager.LoadBindPhoneUser %d/%d", i, len(val))
  45. }
  46. if err := jm.FilterPayUserAndSaveDb(ctx, msg); err != nil {
  47. g.Log().Errorf(ctx, "JobManager.LoadBindPhoneUser.FilterPayUserAndSaveDb %v", gconv.String(msg))
  48. }
  49. }
  50. }
  51. //更新
  52. jm.lastRun.BindPhone = start.Format(time.DateTime)
  53. if err := jm.SaveLastRun(); err != nil {
  54. g.Log().Errorf(ctx, "LoadBindPhoneUser error %v", err)
  55. }
  56. }
  57. // LoadAgainSubUser 加载再次关注用户
  58. func (jm *JobManager) LoadAgainSubUser() {
  59. var (
  60. runNow = time.Now()
  61. ctx = context.TODO()
  62. )
  63. start, _ := time.Parse(time.DateTime, jm.lastRun.AgainSub)
  64. val := public.GetAgainSubUser(start, runNow)
  65. if len(val) > 0 {
  66. for i, msg := range val {
  67. if i%10 == 0 {
  68. g.Log().Infof(ctx, "JobManager.LoadAgainSubUser %d/%d", i, len(val))
  69. }
  70. if err := jm.FilterPayUserAndSaveDb(ctx, msg); err != nil {
  71. g.Log().Errorf(ctx, "JobManager.LoadAgainSubUser.FilterPayUserAndSaveDb %v", gconv.String(msg))
  72. }
  73. }
  74. }
  75. //更新
  76. jm.lastRun.AgainSub = start.Format(time.DateTime)
  77. if err := jm.SaveLastRun(); err != nil {
  78. g.Log().Errorf(ctx, "LoadAgainSubUser error %v", err)
  79. }
  80. }