pasture_sync_service.go 887 B

12345678910111213141516171819202122232425262728293031323334
  1. package backend
  2. import (
  3. "context"
  4. "kpt-tmr-group/model"
  5. "kpt-tmr-group/pkg/xerr"
  6. operationPb "kpt-tmr-group/proto/go/backend/operation"
  7. )
  8. const (
  9. FeedCategory = "feed"
  10. CowCategory = "cow"
  11. )
  12. func (s *StoreEntry) CategoryData(ctx context.Context, req *operationPb.ClassRequest) error {
  13. pastureDateil, err := s.GetGroupPastureListById(ctx, int64(req.PastureId))
  14. if err != nil {
  15. return xerr.WithStack(err)
  16. }
  17. switch req.KeyWord {
  18. case FeedCategory:
  19. newFeedData := model.NewPastureForageCategory(req, pastureDateil)
  20. if err := s.DB.Model(new(model.ForageCategory)).Create(newFeedData).Error; err != nil {
  21. return xerr.WithStack(err)
  22. }
  23. case CowCategory:
  24. newCattleData := model.NewPastureCattleCategory(req, pastureDateil)
  25. if err := s.DB.Model(new(model.CattleCategory)).Create(newCattleData).Error; err != nil {
  26. return xerr.WithStack(err)
  27. }
  28. }
  29. return nil
  30. }