data_warning_items.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package model
  2. import (
  3. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  4. )
  5. type DataWarningItems struct {
  6. Id int64 `json:"id"`
  7. PastureId int64 `json:"pastureId"`
  8. UserId int64 `json:"userId"`
  9. WarningId int64 `json:"warningId"`
  10. GroupId int32 `json:"groupId"`
  11. FieldName string `json:"fieldName"`
  12. FieldDesc string `json:"fieldDesc"`
  13. Operator string `json:"operator"`
  14. Value string `json:"value"`
  15. IsShow pasturePb.IsShow_Kind `json:"isShow"`
  16. CreatedAt int64 `json:"createdAt"`
  17. UpdatedAt int64 `json:"updatedAt"`
  18. }
  19. func (d *DataWarningItems) TableName() string {
  20. return "data_warning_items"
  21. }
  22. func NewDataWarningItems(pastureId, userId int64, dataWarning *DataWarning, req *pasturePb.WarningDataSet) *DataWarningItems {
  23. return &DataWarningItems{
  24. PastureId: pastureId,
  25. UserId: userId,
  26. WarningId: dataWarning.Id,
  27. GroupId: req.GroupId,
  28. FieldName: req.FieldName,
  29. FieldDesc: req.FieldDesc,
  30. Operator: req.Operator,
  31. Value: req.Value,
  32. IsShow: req.IsShow,
  33. }
  34. }
  35. type DataWarningItemsSlice []*DataWarningItems
  36. func (d DataWarningItemsSlice) ToPB(dataWarning []*DataWarning) []*pasturePb.WarningDataSet {
  37. res := make([]*pasturePb.WarningDataSet, len(d))
  38. for i, v := range d {
  39. name, kind := "", ""
  40. for _, w := range dataWarning {
  41. if w.Id == v.WarningId {
  42. name = w.Name
  43. kind = w.Kind
  44. }
  45. }
  46. if name == "" || v.Id <= 0 {
  47. continue
  48. }
  49. res[i] = &pasturePb.WarningDataSet{
  50. Id: int32(v.Id),
  51. WarningId: int32(v.WarningId),
  52. GroupId: v.GroupId,
  53. Name: name,
  54. Kind: kind,
  55. FieldDesc: v.FieldDesc,
  56. FieldName: v.FieldName,
  57. Operator: v.Operator,
  58. Value: v.Value,
  59. IsShow: v.IsShow,
  60. }
  61. }
  62. return res
  63. }