config_breed_status.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package model
  2. import (
  3. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  4. "github.com/nicksnyder/go-i18n/v2/i18n"
  5. )
  6. type ConfigBreedStatus struct {
  7. Id int64 `json:"id"`
  8. PastureId int64 `json:"pastureId"`
  9. Kind pasturePb.BreedStatus_Kind `json:"kind"`
  10. I18NFieldTag string `json:"i18NFieldTag"`
  11. Remarks string `json:"remarks"`
  12. IsShow pasturePb.IsShow_Kind `json:"isShow"`
  13. CreatedAt int64 `json:"createdAt"`
  14. UpdatedAt int64 `json:"updatedAt"`
  15. }
  16. func (c *ConfigBreedStatus) TableName() string {
  17. return "config_breed_status"
  18. }
  19. type ConfigBreedStatusSlice []*ConfigBreedStatus
  20. func (c ConfigBreedStatusSlice) ToPB(userModel *UserModel) []*pasturePb.SearchBaseConfigList {
  21. res := make([]*pasturePb.SearchBaseConfigList, len(c))
  22. for i, d := range c {
  23. name, _ := userModel.LanguageContent.Localize(&i18n.LocalizeConfig{
  24. MessageID: d.I18NFieldTag,
  25. })
  26. res[i] = &pasturePb.SearchBaseConfigList{
  27. Id: int32(d.Id),
  28. Name: name,
  29. Remarks: d.Remarks,
  30. IsShow: d.IsShow,
  31. CreatedAt: int32(d.CreatedAt),
  32. UpdatedAt: int32(d.UpdatedAt),
  33. }
  34. }
  35. return res
  36. }
  37. func (c ConfigBreedStatusSlice) ToPB2(userModel *UserModel) []*pasturePb.ConfigOptionsList {
  38. res := make([]*pasturePb.ConfigOptionsList, 0)
  39. for _, v := range c {
  40. label, _ := userModel.LanguageContent.Localize(&i18n.LocalizeConfig{
  41. MessageID: v.I18NFieldTag,
  42. })
  43. res = append(res, &pasturePb.ConfigOptionsList{
  44. Value: int32(v.Kind),
  45. Label: label,
  46. Disabled: true,
  47. })
  48. }
  49. return res
  50. }