interface.go 874 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package crontab
  2. import (
  3. "kpt-pasture/config"
  4. "kpt-pasture/service/asynqsvc"
  5. "kpt-pasture/service/redis"
  6. "kpt-pasture/store/kptstore"
  7. "gitee.com/xuyiping_admin/pkg/di"
  8. "go.uber.org/dig"
  9. )
  10. var Module = di.Options(di.Provide(NewCrontab))
  11. type Entry struct {
  12. dig.In
  13. Cfg *config.AppConfig
  14. DB *kptstore.DB
  15. AsynqClient asynqsvc.Client
  16. Redis *redis.CacheStoreRedisEntry
  17. }
  18. func NewCrontab(entry Entry) Crontab {
  19. return &entry
  20. }
  21. type Crontab interface {
  22. UpdateCowInfo() error
  23. GenerateAsynqWorkOrder() error
  24. ImmunizationPlan() error
  25. SameTimePlan() error
  26. UpdateSameTime() error
  27. SystemBasicCrontab() error
  28. // UpdateCowEstrus 脖环数据
  29. UpdateCowEstrus() error // 获取牛只发情数据 2小时执行一下
  30. NeckRingOriginalMergeData() error // 合并脖环数据
  31. NeckRingCalculate() error // 更新脖环数据
  32. }