1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package model
- import (
- "kpt-pasture/util"
- "time"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- )
- type EventItem struct {
- Id int64 `json:"id"`
- CowId int64 `json:"cowId"`
- PenId int32 `json:"penId"`
- Lact int32 `json:"lact"`
- CalendarType pasturePb.CalendarType_Kind `json:"calendarType"`
- PlanDay int64 `json:"planDay"`
- EndDay int64 `json:"endDay"`
- RealityDay int64 `json:"realityDay"`
- IsFinish pasturePb.IsShow_Kind `json:"isFinish"`
- IsExpire pasturePb.IsShow_Kind `json:"isExpire"`
- OperationId int64 `json:"operationId"`
- OperationName string `json:"operationName"`
- Remarks string `json:"remarks"`
- CreatedAt int64 `json:"createdAt"`
- UpdatedAt int64 `json:"updatedAt"`
- }
- func (e *EventItem) TableName() string {
- return "event_item"
- }
- func NewEventItem(cow *Cow, calendarType pasturePb.CalendarType_Kind) *EventItem {
- return &EventItem{
- CowId: cow.Id,
- PenId: cow.PenId,
- Lact: cow.Lact,
- CalendarType: calendarType,
- PlanDay: util.TimeParseLocalUnix(time.Now().Format(LayoutDate2)),
- EndDay: util.TimeParseLocalEndUnix(time.Now().Format(LayoutDate2)),
- IsFinish: pasturePb.IsShow_Ok,
- }
- }
- func NewEventItemList(cowList []*Cow, calendarType pasturePb.CalendarType_Kind) []*EventItem {
- res := make([]*EventItem, len(cowList))
- for i, v := range cowList {
- res[i] = NewEventItem(v, calendarType)
- }
- return res
- }
- type EventItemSlice []*EventItem
- func (e EventItemSlice) ToPB(penMap map[int32]*Pen, calendarType map[pasturePb.CalendarType_Kind]string) []*pasturePb.CalendarToDoList {
- res := make([]*pasturePb.CalendarToDoList, len(e))
- for i, v := range e {
- penName := ""
- if pen, ok := penMap[v.PenId]; ok {
- penName = pen.Name
- }
- res[i] = &pasturePb.CalendarToDoList{
- Id: int32(v.Id),
- Lact: v.Lact,
- CalendarType: v.CalendarType,
- CalendarTypeName: calendarType[v.CalendarType],
- PlanDay: time.Unix(v.PlanDay, 0).Format(LayoutDate2),
- EndDay: time.Unix(v.EndDay, 0).Format(LayoutDate2),
- RealityDay: time.Unix(v.RealityDay, 0).Format(LayoutDate2),
- IsFinish: v.IsFinish,
- IsExpire: v.IsExpire,
- CowId: int32(v.CowId),
- PenName: penName,
- Remarks: v.Remarks,
- }
- }
- return res
- }
|