event_calving_calf.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package model
  2. import pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  3. type EventCalvingCalf struct {
  4. Id int64 `json:"id"`
  5. CalvingId int64 `json:"calving_id"`
  6. CowId int64 `json:"cow_id"`
  7. MotherId int64 `json:"mother_id"`
  8. EarNumber string `json:"ear_number"`
  9. Sex pasturePb.Genders_Kind `json:"sex"`
  10. CowKind pasturePb.CowKind_Kind `json:"cow_kind"`
  11. Weight int64 `json:"weight"`
  12. IsLive pasturePb.IsShow_Kind `json:"is_live"`
  13. IsAdoption pasturePb.IsShow_Kind `json:"is_adoption"`
  14. PenId int32 `json:"pen_id"`
  15. Remarks string `json:"remarks"`
  16. CreatedAt int64 `json:"created_at"`
  17. UpdatedAt int64 `json:"updated_at"`
  18. }
  19. func (e *EventCalvingCalf) TableName() string {
  20. return "event_calving_calf"
  21. }
  22. func NewEventCalvingCalf(motherId, calvingId int64, req *pasturePb.CalvingEventRequest) []*EventCalvingCalf {
  23. calvingCalfList := make([]*EventCalvingCalf, 0)
  24. for _, v := range req.CalfItemList {
  25. isAdoption := v.IsAdoption
  26. if v.IsLive == pasturePb.IsShow_No {
  27. isAdoption = pasturePb.IsShow_No
  28. }
  29. calvingCalfList = append(calvingCalfList, &EventCalvingCalf{
  30. EarNumber: v.EarNumber,
  31. CalvingId: calvingId,
  32. PenId: v.PenId,
  33. Weight: int64(v.Weight * 100),
  34. Sex: v.Sex,
  35. MotherId: motherId,
  36. Remarks: v.Remarks,
  37. IsAdoption: isAdoption,
  38. IsLive: v.IsLive,
  39. })
  40. }
  41. return calvingCalfList
  42. }