package model

import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"

type CowPregnant struct {
	Id           int64                  `json:"id"`
	CowId        int64                  `json:"cowId"`
	Lact         int32                  `json:"lact"`
	DayAge       int32                  `json:"dayAge"`
	PenId        int32                  `json:"penId"`
	AdmissionAge int32                  `json:"admissionAge"`
	CowType      pasturePb.CowType_Kind `json:"cowType"`
	PregnancyAge int32                  `json:"pregnancyAge"`
	CreatedAt    int64                  `json:"createdAt"`
	UpdatedAt    int64                  `json:"updatedAt"`
}

func (c *CowPregnant) TableName() string {
	return "cow_pregnant"
}

func NewCowPregnant(cow *Cow) *CowPregnant {
	return &CowPregnant{
		CowId:        cow.Id,
		Lact:         cow.Lact,
		DayAge:       cow.DayAge,
		PenId:        cow.PenId,
		AdmissionAge: cow.AdmissionAge,
		CowType:      cow.CowType,
		PregnancyAge: cow.PregnancyAge,
	}
}

func NewCowPregnantList(cow []*Cow) []*CowPregnant {
	res := make([]*CowPregnant, len(cow))
	for i, v := range cow {
		res[i] = NewCowPregnant(v)
	}
	return res
}

type CowPregnantMonth struct {
	Month    string `json:"month"`
	CowCount int32  `json:"cowCount"`
}