cow_indicators_breed.go 784 B

123456789101112131415161718192021222324252627
  1. package crontab
  2. import (
  3. "fmt"
  4. "kpt-pasture/model"
  5. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  6. "gitee.com/xuyiping_admin/pkg/logger/zaplog"
  7. "go.uber.org/zap"
  8. )
  9. func (e *Entry) FindCalvingNumber(pastureList []*model.AppPastureList, startTime, endTime int64) map[int64]string {
  10. res := make(map[int64]string)
  11. for _, pasture := range pastureList {
  12. var count int64
  13. if err := e.DB.Model(new(model.EventSale)).
  14. Where("pasture_id = ?", pasture.Id).
  15. Where("status = ?", pasturePb.IsShow_Ok).
  16. Where("reality_day BETWEEN ? AND ?", startTime, endTime).
  17. Count(&count).Error; err != nil {
  18. zaplog.Error("FindCalvingNumber", zap.Any("pasture_id", pasture.Id), zap.Any("err", err))
  19. }
  20. res[pasture.Id] = fmt.Sprintf("%d", count)
  21. }
  22. return res
  23. }