interface.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package crontab
  2. import (
  3. "kpt-pasture/config"
  4. "kpt-pasture/service/alert"
  5. "kpt-pasture/service/asynqsvc"
  6. "kpt-pasture/service/redis"
  7. "kpt-pasture/store/kptstore"
  8. "gitee.com/xuyiping_admin/pkg/di"
  9. "go.uber.org/dig"
  10. )
  11. var Module = di.Options(di.Provide(NewCrontab))
  12. type Entry struct {
  13. dig.In
  14. Cfg *config.AppConfig
  15. DB *kptstore.DB
  16. AsynqClient asynqsvc.Client
  17. Redis *redis.CacheStoreRedisEntry
  18. Alert *alert.Alert
  19. }
  20. func NewCrontab(entry Entry) Crontab {
  21. return &entry
  22. }
  23. type Crontab interface {
  24. UpdateCowInfo() error
  25. Indicators() error
  26. GenerateAsynqWorkOrder() error
  27. ImmunizationPlan() error
  28. SameTimePlan() error
  29. UpdateSameTime() error
  30. SystemBasicCrontab() error
  31. DeleteOldOriginal() error
  32. UpdateDiseaseToCalendar() error
  33. TwentyOnePregnantRate() error
  34. // NeckRingOriginalMerge 脖环数据
  35. NeckRingOriginalMerge() error // 合并脖环数据
  36. NeckRingCalculate() error // 更新脖环数据
  37. UpdateCowEstrus() error // 获取牛只疑似发情数据
  38. NeckRingEstrusWarning() error // 发情预警
  39. NeckRingHealthWarning() error // 健康预警
  40. UpdatePenBehavior() error // 栏舍行为数据
  41. UpdatePenBehaviorDaily() error // 栏舍饲养监测
  42. UpdateMilkOriginal() error
  43. InsertMilkDaily() error
  44. }