sql.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package mqtt
  2. import (
  3. "kpt-pasture/model"
  4. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  5. )
  6. // NeckRingIsBind 脖环是否绑定
  7. func (e *Entry) NeckRingIsBind(number string) bool {
  8. var count int64 = 0
  9. if err := e.DB.Model(new(model.NeckRing)).Where("number = ?", number).
  10. Where("status != ?", pasturePb.NeckRingStatus_Unbind).
  11. Count(&count).Error; err != nil {
  12. return false
  13. }
  14. if count > 0 {
  15. return true
  16. }
  17. return false
  18. }
  19. func (e *Entry) GetCowInfoByImei(imei string) *model.Cow {
  20. res := &model.Cow{}
  21. if err := e.DB.Model(new(model.Cow)).Where("neck_ring_number = ?", imei).First(res).Error; err != nil {
  22. return nil
  23. }
  24. return res
  25. }
  26. func (e *Entry) GetSystemConfigure(name string) *model.SystemConfigure {
  27. res := &model.SystemConfigure{}
  28. if err := e.DB.Model(new(model.SystemConfigure)).
  29. Where("name = ?", name).
  30. Where("is_show = ?", pasturePb.IsShow_Ok).
  31. First(res).Error; err != nil {
  32. return nil
  33. }
  34. return res
  35. }
  36. func (e *Entry) IsExistNeckActiveHabit(neckRingNumber, heatDate string, frameId int32) (*model.NeckActiveHabit, int64) {
  37. count := int64(0)
  38. res := &model.NeckActiveHabit{}
  39. if err := e.DB.Model(new(model.NeckActiveHabit)).
  40. Where("neck_ring_number = ?", neckRingNumber).
  41. Where("heat_date = ?", heatDate).
  42. Where("frameid = ?", frameId).
  43. Count(&count).
  44. First(res).
  45. Error; err != nil {
  46. return nil, 0
  47. }
  48. return res, count
  49. }