1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package model
- import (
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- "github.com/nicksnyder/go-i18n/v2/i18n"
- )
- type ConfigCowType struct {
- Id int64 `json:"id"`
- Kind pasturePb.CowType_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 *ConfigCowType) TableName() string {
- return "config_cow_type"
- }
- type ConfigCowTypeSlice []*ConfigCowType
- func (c ConfigCowTypeSlice) ToPB(userModel *UserModel) []*pasturePb.SearchBaseConfigList {
- res := make([]*pasturePb.SearchBaseConfigList, len(c))
- for i, d := range c {
- name, _ := userModel.LanguageContent.Localize(&i18n.LocalizeConfig{
- MessageID: d.I18nFieldTag,
- })
- res[i] = &pasturePb.SearchBaseConfigList{
- Id: int32(d.Id),
- Name: name,
- Remarks: d.Remarks,
- IsShow: d.IsShow,
- CreatedAt: int32(d.CreatedAt),
- UpdatedAt: int32(d.UpdatedAt),
- }
- }
- return res
- }
- func (c ConfigCowTypeSlice) ToPB2(userModel *UserModel, optionName string) []*pasturePb.ConfigOptionsList {
- res := make([]*pasturePb.ConfigOptionsList, 0)
- for _, v := range c {
- label, _ := userModel.LanguageContent.Localize(&i18n.LocalizeConfig{
- MessageID: v.I18nFieldTag,
- })
- if optionName == "breed" && !isBreedingOrReserveCalf(v.Kind) {
- continue
- }
- res = append(res, &pasturePb.ConfigOptionsList{
- Value: int32(v.Kind),
- Label: label,
- Disabled: true,
- })
- }
- return res
- }
- // 辅助函数:判断是否为 Breeding_Calf 或 Reserve_Calf
- func isBreedingOrReserveCalf(kind pasturePb.CowType_Kind) bool {
- return kind == pasturePb.CowType_Breeding_Calf || kind == pasturePb.CowType_Reserve_Calf
- }
|