feeding.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package backend
  2. import (
  3. "context"
  4. "encoding/json"
  5. "fmt"
  6. "kpt-pasture/service/httpclient"
  7. feedingPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  8. "gitee.com/xuyiping_admin/pkg/xerr"
  9. )
  10. var FeedingHeaders = []*httpclient.Header{
  11. {
  12. Key: "Content-Type",
  13. Value: "application/json",
  14. }, {
  15. Key: "Accept",
  16. Value: "application/json",
  17. },
  18. }
  19. func (s *StoreEntry) GetFeedingHomepage(ctx context.Context, req *feedingPb.FeedingHomepageRequest) (*feedingPb.FeedingHomepageResponse, error) {
  20. userModel, err := s.GetUserModel(ctx)
  21. if err != nil {
  22. return nil, xerr.WithStack(err)
  23. }
  24. pasture := userModel.AppPasture
  25. if pasture.FeedPastureId == 0 {
  26. return nil, xerr.Customf("饲喂数据未配置")
  27. }
  28. url := fmt.Sprintf("%d/feeding/tmrdata", pasture.FeedPastureId)
  29. res := &feedingPb.FeedingHomepageResponse{
  30. Code: 0,
  31. Msg: "",
  32. Data: make([]*feedingPb.FeedingHomepageData, 0),
  33. }
  34. result, err := s.HttpClient.DoGet(url, FeedingHeaders)
  35. if err != nil {
  36. return nil, xerr.WithStack(err)
  37. }
  38. if err = json.Unmarshal(result, res); err != nil {
  39. return nil, xerr.WithStack(err)
  40. }
  41. return res, nil
  42. }
  43. func (s *StoreEntry) GetFeedingManagement(ctx context.Context, req *feedingPb.FeedingManagementRequest) (*feedingPb.FeedingManagementResponse, error) {
  44. userModel, err := s.GetUserModel(ctx)
  45. if err != nil {
  46. return nil, xerr.WithStack(err)
  47. }
  48. pasture := userModel.AppPasture
  49. if pasture.FeedPastureId == 0 {
  50. return nil, xerr.Customf("饲喂数据未配置")
  51. }
  52. url := fmt.Sprintf("%d/feeding/management?typea=%s&startdate=%s&enddate=%s", pasture.FeedPastureId, req.Typea, req.Startdate, req.Enddate)
  53. res := &feedingPb.FeedingManagementResponse{
  54. Code: 0,
  55. Msg: "",
  56. Data: []*feedingPb.FeedingManagementData{},
  57. }
  58. result, err := s.HttpClient.DoGet(url, FeedingHeaders)
  59. if err != nil {
  60. return nil, xerr.WithStack(err)
  61. }
  62. if err = json.Unmarshal(result, res); err != nil {
  63. return nil, xerr.WithStack(err)
  64. }
  65. return res, nil
  66. }