interface.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. Indicators() error
  24. GenerateAsynqWorkOrder() error
  25. ImmunizationPlan() error
  26. SameTimePlan() error
  27. UpdateSameTime() error
  28. SystemBasicCrontab() error
  29. DeleteOldOriginal() error
  30. UpdateDiseaseToCalendar() error
  31. // NeckRingOriginalMerge 脖环数据
  32. NeckRingOriginalMerge() error // 合并脖环数据
  33. NeckRingCalculate() error // 更新脖环数据
  34. UpdateCowEstrus() error // 获取牛只疑似发情数据
  35. NeckRingEstrusWarning() error // 发情预警
  36. NeckRingHealthWarning() error // 健康预警
  37. UpdatePenBehavior() error // 栏舍行为数据
  38. UpdatePenBehaviorDaily() error // 栏舍饲养监测
  39. }