feed_template.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package models
  2. import (
  3. "time"
  4. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/pasture"
  5. )
  6. type FeedTemplate struct {
  7. Id int64 `xorm:"id" json:"id"`
  8. PastureId int64 `xorm:"pastureid" json:"pasture_id"`
  9. TCode string `xorm:"tcode" json:"t_code"`
  10. TName string `xorm:"tname" json:"t_name"`
  11. TColor string `xorm:"tcolor" json:"t_color"`
  12. CCid int64 `xorm:"ccid" json:"c_cid"`
  13. CCName string `xorm:"ccname" json:"cc_name"`
  14. FTType string `xorm:"fttype" json:"ft_type"`
  15. FTTypeId int32 `xorm:"fttypeid" json:"ft_type_id"`
  16. Source string `xorm:"source" json:"source"`
  17. Remark string `xorm:"remark" json:"remark"`
  18. Enable int32 `xorm:"enable" json:"enable"`
  19. Sort int64 `xorm:"sort" json:"sort"`
  20. Owner string `xorm:"owner" json:"owner"`
  21. Weight float64 `xorm:"weight" json:"weight"`
  22. DryWeight float64 `xorm:"dryweight" json:"dry_weight"`
  23. IsDelete int32 `xorm:"isdelete" json:"is_delete"`
  24. Version int64 `xorm:"version" json:"version"`
  25. GroupVersion int64 `xorm:"group_version" json:"group_version"`
  26. SaveTime string `xorm:"savetime" json:"save_time"`
  27. IsIssue int32 `xorm:"isissue" json:"is_issue"`
  28. IssueVersion int32 `xorm:"issueversion" json:"issue_version"`
  29. IssueId int64 `xorm:"issueid" json:"issue_id"`
  30. Backup1 string `xorm:"backup1" json:"backup1"`
  31. Backup2 string `xorm:"backup2" json:"backup2"`
  32. IsModify int32 `xorm:"is_modify" json:"is_modify"`
  33. GroupDataId int64 `xorm:"group_data_id" json:"group_data_id"`
  34. }
  35. func (f *FeedTemplate) TableName() string {
  36. return "feedtemplet"
  37. }
  38. func NewFeedTemplateByGroup(req *FeedFormula) *FeedTemplate {
  39. return &FeedTemplate{
  40. PastureId: req.PastureId,
  41. TCode: req.EncodeNumber,
  42. TName: req.Name,
  43. TColor: req.Colour,
  44. CCid: int64(req.CattleCategoryId),
  45. CCName: req.CattleCategoryName,
  46. FTType: req.FormulaTypeName,
  47. FTTypeId: req.FormulaTypeId,
  48. Source: "集团下发",
  49. Remark: req.Remarks,
  50. Enable: 1,
  51. Version: req.Version,
  52. SaveTime: time.Now().Format("2006-01-02 15:04:05"),
  53. IsIssue: 0,
  54. IssueVersion: 0,
  55. IssueId: 0,
  56. IsModify: req.IsModify,
  57. GroupDataId: req.Id,
  58. }
  59. }
  60. type FeedTemplateSlice []*FeedTemplate
  61. func (f FeedTemplateSlice) ToPB(feedDetailVersionLogs []*FeedDetailVersion) []*pasturePb.FeedTemplateDataList {
  62. res := make([]*pasturePb.FeedTemplateDataList, len(f))
  63. for i, v := range f {
  64. var isUpdate int32 = 2
  65. if v.GroupDataId > 0 {
  66. for _, l := range feedDetailVersionLogs {
  67. if l.Belong == 2 && v.GroupDataId == l.FeedTemplateId && int32(v.GroupVersion) < l.GroupVersion {
  68. isUpdate = 1
  69. }
  70. }
  71. } else {
  72. for _, l := range feedDetailVersionLogs {
  73. if l.Belong == 1 && v.Id == l.FeedTemplateId && int32(v.GroupVersion) < l.GroupVersion {
  74. isUpdate = 1
  75. }
  76. }
  77. }
  78. res[i] = &pasturePb.FeedTemplateDataList{
  79. Id: int32(v.Id),
  80. Name: v.TName,
  81. Code: v.TCode,
  82. Color: v.TColor,
  83. CattleCategoryId: int32(v.CCid),
  84. CattleCategoryName: v.CCName,
  85. FormulaTypeId: v.FTTypeId,
  86. FormulaTypeName: v.FTType,
  87. Source: v.Source,
  88. Remark: v.Remark,
  89. Version: int32(v.Version),
  90. Enable: v.Enable,
  91. IsModify: v.IsModify,
  92. IsUpdate: isUpdate,
  93. }
  94. }
  95. return res
  96. }