interface.go 695 B

1234567891011121314151617181920212223242526272829303132333435363738
  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(
  11. di.Provide(NewCrontab),
  12. )
  13. type Entry struct {
  14. dig.In
  15. Cfg *config.AppConfig
  16. DB *kptstore.DB
  17. AsynqClient asynqsvc.Client
  18. Redis *redis.CacheStoreRedisEntry
  19. }
  20. func NewCrontab(entry Entry) Crontab {
  21. return &entry
  22. }
  23. type Crontab interface {
  24. UpdateCowInfo() error
  25. GenerateAsynqWorkOrder() error
  26. ImmunizationPlan() error
  27. SameTimePlan() error
  28. UpdateSameTime() error
  29. SystemBasicCrontab() error
  30. CowPregnant() error
  31. NeckRingMergeData() error
  32. }