package model import ( pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" ) type Bran struct { Id int64 `json:"id"` Name string `json:"name"` Remarks string `json:"remarks"` BarnType int32 `json:"barn_type"` Lengths int32 `json:"lengths"` Widths int32 `json:"widths"` DoctrinalCapacity int32 `json:"doctrinal_capacity"` ActualCapacity int32 `json:"actual_capacity"` BedNumber int32 `json:"bed_number"` NeckNumber int32 `json:"neck_number"` IsShow pasturePb.IsShow_Kind `json:"is_show"` IsDelete pasturePb.IsShow_Kind `json:"is_delete"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } func (b *Bran) TableName() string { return "barn" } type BarnSlice []*Bran func (b BarnSlice) ToPB(configBarnTypes []*ConfigBarnType) []*pasturePb.SearchBarnList { res := make([]*pasturePb.SearchBarnList, len(b)) for i, v := range b { barnTypeName := "" for _, c := range configBarnTypes { if c.Id == int64(v.BarnType) { barnTypeName = c.Name break } } res[i] = &pasturePb.SearchBarnList{ Id: v.Id, Name: v.Name, IsShow: v.IsShow, Remarks: v.Remarks, BarnTypeId: int32(v.BarnType), BarnTypeName: barnTypeName, Lengths: v.Lengths, Widths: v.Widths, DoctrinalCapacity: v.DoctrinalCapacity, ActualCapacity: v.ActualCapacity, NeckNumber: v.NeckNumber, BedNumber: v.BedNumber, CreatedAt: int32(v.CreatedAt), UpdatedAt: int32(v.UpdatedAt), } } return res }