disease.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package model
  2. import (
  3. "strings"
  4. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  5. )
  6. type Disease struct {
  7. Id int64 `json:"id"`
  8. PastureId int64 `json:"pastureId"`
  9. Name string `json:"name"`
  10. Symptoms string `json:"symptoms"`
  11. DiseaseType int32 `json:"diseaseType"`
  12. DiseaseTypeName string `json:"diseaseTypeName"`
  13. IsShow pasturePb.IsShow_Kind `json:"isShow"`
  14. Remarks string `json:"remarks"`
  15. OperationId int64 `json:"operationId"`
  16. CreatedAt int64 `json:"createdAt"`
  17. UpdatedAt int64 `json:"updatedAt"`
  18. }
  19. func (d *Disease) TableName() string {
  20. return "disease"
  21. }
  22. type DiseaseSlice []*Disease
  23. func (d DiseaseSlice) ToPB(user []*SystemUser, diseaseTypeList []*ConfigDiseaseType) []*pasturePb.SearchDiseaseList {
  24. res := make([]*pasturePb.SearchDiseaseList, len(d))
  25. for i, dl := range d {
  26. operationName, diseaseTypeName := "", ""
  27. for _, u := range user {
  28. if u.Id == dl.OperationId {
  29. operationName = u.NickName
  30. break
  31. }
  32. }
  33. for _, dt := range diseaseTypeList {
  34. if dt.Id == int64(dl.DiseaseType) {
  35. diseaseTypeName = dt.Name
  36. break
  37. }
  38. }
  39. res[i] = &pasturePb.SearchDiseaseList{
  40. Id: int32(dl.Id),
  41. Remarks: dl.Remarks,
  42. OperationId: int32(dl.OperationId),
  43. OperationName: operationName,
  44. Name: dl.Name,
  45. DiseaseTypeId: dl.DiseaseType,
  46. DiseaseTypeName: diseaseTypeName,
  47. Symptoms: strings.Split(dl.Symptoms, "|"),
  48. IsShow: dl.IsShow,
  49. CreatedAt: int32(dl.CreatedAt),
  50. UpdatedAt: int32(dl.UpdatedAt),
  51. }
  52. }
  53. return res
  54. }
  55. func (d DiseaseSlice) ToPB2() []*pasturePb.ConfigOptionsList {
  56. res := make([]*pasturePb.ConfigOptionsList, len(d))
  57. for i, d := range d {
  58. res[i] = &pasturePb.ConfigOptionsList{
  59. Value: int32(d.Id),
  60. Label: d.Name,
  61. Disabled: true,
  62. }
  63. }
  64. return res
  65. }