package backend import ( "context" "encoding/json" "fmt" "kpt-pasture/model" feedingPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" "gitee.com/xuyiping_admin/pkg/xerr" ) func (s *StoreEntry) GetFeedingHomepage(ctx context.Context, req *feedingPb.FeedingHomepageRequest) (*feedingPb.FeedingHomepageResponse, error) { userModel, err := s.GetUserModel(ctx) if err != nil { return nil, xerr.WithStack(err) } pasture := userModel.AppPasture if pasture.FeedPastureId == 0 { return nil, xerr.Customf("饲喂数据未配置") } url := fmt.Sprintf("%d/feeding/tmrdata", pasture.FeedPastureId) response := &model.FeedingHomepageResponse{Data: []*model.FeedingHomepageData{}} result, err := s.HttpClient.DoGet(url, model.FeedingHeaders) if err != nil { return nil, xerr.WithStack(err) } if err = json.Unmarshal(result, response); err != nil { return nil, xerr.WithStack(err) } res := &feedingPb.FeedingHomepageResponse{ Code: response.Code, Msg: response.Msg, Data: &feedingPb.FeedingHomepageData{}, } for _, v := range response.Data { res.Data = &feedingPb.FeedingHomepageData{ Cost: v.Cost, DoneTimes: v.DoneTimes, DoneWeight: v.DoneWeight, MonRateHL: v.MonRateHL, MonRateSL: v.MonRateSL, MonRateSLR: v.MonRateSLR, Montime: v.Montime, PlanTimes: v.PlanTimes, PlanWeight: v.PlanWeight, Temtime: v.Temtime, TotalCost: v.TotalCost, YesRateHL: v.YesRateHL, YesRateSL: v.YesRateSL, YesRateSLR: v.YesRateSLR, } } return res, nil } func (s *StoreEntry) GetFeedingManagement(ctx context.Context, req *feedingPb.FeedingManagementRequest) (*feedingPb.FeedingManagementResponse, error) { userModel, err := s.GetUserModel(ctx) if err != nil { return nil, xerr.WithStack(err) } pasture := userModel.AppPasture if pasture.FeedPastureId == 0 { return nil, xerr.Customf("饲喂数据未配置") } url := fmt.Sprintf("%d/feeding/management?typea=%s&startdate=%s&enddate=%s", pasture.FeedPastureId, req.Typea, req.Startdate, req.Enddate) response := &model.FeedingManagementResponse{Data: []*model.FeedingManagementData{}} result, err := s.HttpClient.DoGet(url, model.FeedingHeaders) if err != nil { return nil, xerr.WithStack(err) } if err = json.Unmarshal(result, response); err != nil { return nil, xerr.WithStack(err) } res := &feedingPb.FeedingManagementResponse{ Code: response.Code, Msg: response.Msg, Data: []*feedingPb.FeedingManagementData{}, } for _, v := range response.Data { res.Data = append(res.Data, &feedingPb.FeedingManagementData{ Actualweightminus: v.ActualWeightMinus, Ccount: v.CCount, Cost: v.Cost, Dryweight: v.DryWeight, Totalcost: v.TotalCost, Typea: v.TypeA, }) } return res, nil }