package model

type FrozenSemenLog struct {
	Id            int64  `json:"id"`
	PastureId     int64  `json:"pastureId"`
	BullId        string `json:"bullId"`
	CowId         int64  `json:"cowId"`
	EarNumber     string `json:"earNumber"`
	Quantity      int32  `json:"quantity"`
	MatingAt      int64  `json:"matingAt"`
	OperationId   int64  `json:"operationId"`
	OperationName string `json:"operationName"`
	Remarks       string `json:"remarks"`
	CreatedAt     int64  `json:"createdAt"`
	UpdatedAt     int64  `json:"updatedAt"`
}

func (e *FrozenSemenLog) TableName() string {
	return "frozen_semen_log"
}

func NewEventFrozenSemenLog(pastureId int64, item *EventMatingCheckBatchModel) *FrozenSemenLog {
	return &FrozenSemenLog{
		PastureId:     pastureId,
		BullId:        item.FrozenSemen.BullId,
		CowId:         item.Cow.Id,
		EarNumber:     item.Cow.EarNumber,
		OperationId:   item.OperationUser.Id,
		OperationName: item.OperationUser.Name,
		Quantity:      item.FrozenSemenCount,
		MatingAt:      item.MatingAt,
		Remarks:       item.Remarks,
	}
}