frozen_semen_log.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package model
  2. import (
  3. "fmt"
  4. "strings"
  5. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  6. )
  7. type FrozenSemenLog struct {
  8. Id int64 `json:"id"`
  9. PastureId int64 `json:"pastureId"`
  10. BullId string `json:"bullId"`
  11. CowIds string `json:"cowId"`
  12. Quantity int32 `json:"quantity"`
  13. MatingAt int64 `json:"matingAt"`
  14. OperationId int64 `json:"operationId"`
  15. OperationName string `json:"operationName"`
  16. Remarks string `json:"remarks"`
  17. CreatedAt int64 `json:"createdAt"`
  18. UpdatedAt int64 `json:"updatedAt"`
  19. }
  20. func (e *FrozenSemenLog) TableName() string {
  21. return "frozen_semen_log"
  22. }
  23. func NewEventFrozenSemenLog(pastureId int64, req *pasturePb.EventMating) *FrozenSemenLog {
  24. cowIds := ""
  25. for _, v := range req.CowIds {
  26. cowIds += fmt.Sprintf("%d,", v)
  27. }
  28. if len(cowIds) > 0 {
  29. cowIds = strings.TrimRight(cowIds, ",")
  30. }
  31. return &FrozenSemenLog{
  32. PastureId: pastureId,
  33. BullId: req.FrozenSemenNumber,
  34. CowIds: cowIds,
  35. OperationId: int64(req.OperationId),
  36. OperationName: req.OperationName,
  37. Quantity: req.FrozenSemenCount,
  38. MatingAt: int64(req.MatingAt),
  39. Remarks: req.Remarks,
  40. }
  41. }