forage_category.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package model
  2. import (
  3. operationPb "kpt-tmr-group/proto/go/backend/operation"
  4. "time"
  5. )
  6. type ForageCategory struct {
  7. Id int64 `json:"id"`
  8. ParentId operationPb.ForageCategoryParent_Kind `json:"parent_id"`
  9. ParentName string `json:"parent_name"`
  10. PastureId int64 `json:"pasture_id"`
  11. PastureName string `json:"pasture_name"`
  12. DataId int64 `json:"data_id"`
  13. Name string `json:"name"`
  14. Number string `json:"number"`
  15. IsShow operationPb.IsShow_Kind `json:"is_show"`
  16. IsDelete operationPb.IsShow_Kind `json:"is_delete"`
  17. DataSource operationPb.DataSource_Kind `json:"data_source"`
  18. Remarks string `json:"remarks"`
  19. CreatedAt int64 `json:"created_at"`
  20. UpdatedAt int64 `json:"updated_at"`
  21. }
  22. func (s *ForageCategory) TableName() string {
  23. return "forage_category"
  24. }
  25. func NewForageCategory(req *operationPb.AddForageCategoryRequest) *ForageCategory {
  26. return &ForageCategory{
  27. ParentId: req.ParentId,
  28. ParentName: req.ParentName,
  29. Name: req.Name,
  30. Number: req.Number,
  31. IsShow: operationPb.IsShow_OK,
  32. IsDelete: operationPb.IsShow_OK,
  33. DataSource: operationPb.DataSource_BACKGROUND_ADD,
  34. Remarks: "集团新增数据",
  35. }
  36. }
  37. type ForageCategorySlice []*ForageCategory
  38. func (f ForageCategorySlice) ToPB() []*operationPb.AddForageCategoryRequest {
  39. res := make([]*operationPb.AddForageCategoryRequest, len(f))
  40. for i, v := range f {
  41. res[i] = &operationPb.AddForageCategoryRequest{
  42. Id: uint32(v.Id),
  43. Name: v.Name,
  44. ParentId: v.ParentId,
  45. ParentName: v.ParentName,
  46. Number: v.Number,
  47. IsShow: v.IsShow,
  48. CreatedAt: uint32(v.CreatedAt),
  49. CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime),
  50. DataSource: v.PastureName,
  51. }
  52. }
  53. return res
  54. }
  55. func (f *ForageCategory) ToPb() *operationPb.AddForageCategoryRequest {
  56. return &operationPb.AddForageCategoryRequest{
  57. Id: uint32(f.Id),
  58. Name: f.Name,
  59. Number: f.Number,
  60. ParentId: f.ParentId,
  61. ParentName: f.ParentName,
  62. IsShow: f.IsShow,
  63. CreatedAt: uint32(f.CreatedAt),
  64. }
  65. }
  66. func NewPastureForageCategory(req *operationPb.CategorySyncRequest, pastureDetail *GroupPasture) *ForageCategory {
  67. return &ForageCategory{
  68. ParentId: operationPb.ForageCategoryParent_Kind(req.ParentId),
  69. ParentName: req.ParentName,
  70. PastureId: int64(req.PastureId),
  71. PastureName: pastureDetail.Name,
  72. Name: req.Name,
  73. Number: req.Number,
  74. IsShow: req.IsShow,
  75. IsDelete: operationPb.IsShow_NO,
  76. DataSource: operationPb.DataSource_FROM_PASTURE,
  77. Remarks: "牧场端数据同步",
  78. }
  79. }