package model import ( pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" "github.com/nicksnyder/go-i18n/v2/i18n" ) type ConfigCalvingLevel struct { Id int32 `json:"id"` PastureId int64 `json:"pastureId"` Kind pasturePb.CalvingLevel_Kind `json:"kind"` I18nFieldTag string `json:"i18nFieldTag"` Remarks string `json:"remarks"` IsShow pasturePb.IsShow_Kind `json:"isShow"` CreatedAt int64 `json:"createdAt"` UpdatedAt int64 `json:"updatedAt"` } func (c *ConfigCalvingLevel) TableName() string { return "config_calving_level" } type ConfigCalvingLevelSlice []*ConfigCalvingLevel func (c ConfigCalvingLevelSlice) ToPB(userModel *UserModel) []*pasturePb.ConfigOptionsList { res := make([]*pasturePb.ConfigOptionsList, 0) for _, v := range c { label, _ := userModel.LanguageContent.Localize(&i18n.LocalizeConfig{ MessageID: v.I18nFieldTag, }) res = append(res, &pasturePb.ConfigOptionsList{ Value: int32(v.Kind), Label: label, Disabled: true, }) } return res }