1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package model
- import (
- "strings"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- )
- type EventAbortion struct {
- Id int64 `json:"id"`
- CowId int64 `json:"cowId"`
- Lact int32 `json:"lact"`
- CowType pasturePb.CowType_Kind `json:"cowType"`
- DayAge int32 `json:"dayAge"`
- PregnantAge int32 `json:"pregnantAge"`
- AbortionAt int64 `json:"abortionAt"`
- IsAfterbirth pasturePb.IsShow_Kind `json:"isAfterbirth"`
- Photos string `json:"photos"`
- AbortionReasons pasturePb.AbortionReasons_Kind `json:"abortionReasons"`
- AbortionReasonsName string `json:"abortionReasonsName"`
- Remarks string `json:"remarks"`
- OperationId int64 `json:"operationId"`
- OperationName string `json:"operationName"`
- CreatedAt int64 `json:"createdAt"`
- UpdatedAt int64 `json:"updatedAt"`
- }
- func (e *EventAbortion) TableName() string {
- return "event_abortion"
- }
- func NewEventAbortion(cow *Cow, req *pasturePb.EventAbortionRequest, abortionReasonMap map[pasturePb.AbortionReasons_Kind]string) *EventAbortion {
- return &EventAbortion{
- CowId: int64(req.CowId),
- Lact: cow.Lact,
- CowType: cow.CowType,
- PregnantAge: cow.GetDaysPregnant(),
- DayAge: cow.DayAge,
- AbortionAt: int64(req.AbortionAt),
- IsAfterbirth: req.IsAfterbirth,
- Photos: strings.Join(req.Photos, ","),
- AbortionReasons: req.AbortionReasons,
- AbortionReasonsName: abortionReasonMap[req.AbortionReasons],
- Remarks: req.Remarks,
- OperationId: int64(req.OperationId),
- OperationName: req.OperationName,
- }
- }
- type AbortionSlice []*EventAbortion
- func (a AbortionSlice) ToPB() []*pasturePb.EventAbortionRequest {
- res := make([]*pasturePb.EventAbortionRequest, len(a))
- for i, v := range a {
- res[i] = &pasturePb.EventAbortionRequest{
- Id: int32(v.Id),
- CowId: int32(v.CowId),
- DayAge: v.DayAge,
- Lact: v.Lact,
- AbortionAt: int32(v.AbortionAt),
- IsAfterbirth: v.IsAfterbirth,
- Photos: strings.Split(v.Photos, ","),
- AbortionReasons: v.AbortionReasons,
- AbortionReasonsName: v.AbortionReasonsName,
- PregnancyAge: v.PregnantAge,
- Remarks: v.Remarks,
- OperationId: int32(v.OperationId),
- OperationName: v.OperationName,
- CreatedAt: int32(v.CreatedAt),
- UpdatedAt: int32(v.UpdatedAt),
- }
- }
- return res
- }
|