package crontab import ( "kpt-pasture/model" pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" "gitee.com/xuyiping_admin/pkg/xerr" ) func (e *Entry) GetPenMapList() (map[int32]*model.Pen, error) { penList := make([]*model.Pen, 0) if err := e.DB.Where("is_delete = ?", pasturePb.IsShow_Ok).Find(&penList).Error; err != nil { return nil, xerr.WithStack(err) } penMap := make(map[int32]*model.Pen) for _, v := range penList { penMap[v.Id] = v } return penMap, nil } func (e *Entry) GetCowInfoByImei(imei string) *model.Cow { res := &model.Cow{} if err := e.DB.Model(new(model.Cow)).Where("neck_ring_number = ?", imei).First(res).Error; err != nil { return nil } return res } func (e *Entry) IsExistNeckActiveHabit(neckRingNumber string, frameId int32) int64 { count := int64(0) if err := e.DB.Model(new(model.NeckActiveHabit)). Where("neck_ring_number = ? and frameid = ?", neckRingNumber, frameId).Count(&count).Error; err != nil { return 0 } return count } func (e *Entry) GetNeckActiveHabit(neckRingNumber string, frameId int32) *model.NeckActiveHabit { res := &model.NeckActiveHabit{} if err := e.DB.Model(new(model.NeckActiveHabit)). Where("neck_ring_number = ? and frameid = ?", neckRingNumber, frameId). First(res).Error; err != nil { return nil } return res } func (e *Entry) GetSystemConfigure(name string) *model.SystemConfigure { res := &model.SystemConfigure{} if err := e.DB.Model(new(model.SystemConfigure)). Where("name = ?", name). Where("is_show = ?", pasturePb.IsShow_Ok). First(res).Error; err != nil { return nil } return res }