package backend import ( "context" "fmt" "kpt-pasture/model" "net/http" "time" "gitee.com/xuyiping_admin/pkg/xerr" pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" ) func (s *StoreEntry) PenBehavior(ctx context.Context, req *pasturePb.BarnBehaviorCurveRequest) (*pasturePb.BarnBehaviorCurveResponse, error) { userModel, err := s.GetUserModel(ctx) if err != nil { return nil, err } if req.StartAt == 0 || req.EndAt == 0 || req.EndAt < req.StartAt { return nil, xerr.Customf("时间范围错误") } startTime := time.Unix(int64(req.StartAt), 0).Format(model.LayoutDate2) endTime := time.Unix(int64(req.EndAt), 0).Format(model.LayoutDate2) penBehaviorList := make([]*model.PenBehavior, 0) if err = s.DB.Model(new(model.PenBehavior)). Where("pasture_id = ?", userModel.AppPasture.Id). Where("pen_id = ?", req.BarnId). Where("heat_date BETWEEN ? AND ?", startTime, endTime). Find(&penBehaviorList).Error; err != nil { return nil, err } return &pasturePb.BarnBehaviorCurveResponse{ Code: http.StatusOK, Msg: "ok", Data: model.PenBehaviorSlice(penBehaviorList).ToPB(), }, nil } func (s *StoreEntry) PenBehaviorDaily(ctx context.Context, req *pasturePb.BarnMonitorRequest) (*pasturePb.BarnMonitorResponse, error) { userModel, err := s.GetUserModel(ctx) if err != nil { return nil, xerr.WithStack(err) } fmt.Println("userModel", userModel) return nil, err }