Bladeren bron

cow: updated

Yi 3 maanden geleden
bovenliggende
commit
4007d17114
4 gewijzigde bestanden met toevoegingen van 23 en 5 verwijderingen
  1. 1 1
      go.mod
  2. 2 0
      go.sum
  3. 13 1
      model/cow.go
  4. 7 3
      module/crontab/neck_ring_handle.go

+ 1 - 1
go.mod

@@ -3,7 +3,7 @@ module kpt-pasture
 go 1.17
 
 require (
-	gitee.com/xuyiping_admin/go_proto v0.0.0-20250120024815-cc7c8bda185b
+	gitee.com/xuyiping_admin/go_proto v0.0.0-20250123060356-74f483993d26
 	gitee.com/xuyiping_admin/pkg v0.0.0-20241108060137-caea58c59f5b
 	github.com/dgrijalva/jwt-go v3.2.0+incompatible
 	github.com/eclipse/paho.mqtt.golang v1.4.3

+ 2 - 0
go.sum

@@ -124,6 +124,8 @@ gitee.com/xuyiping_admin/go_proto v0.0.0-20250120023506-4fdfb4191bff h1:YwLd4Zpv
 gitee.com/xuyiping_admin/go_proto v0.0.0-20250120023506-4fdfb4191bff/go.mod h1:BKrFW6YLDectlQcQk3FYKBeXvjEiodAKJ5rq7O/QiPE=
 gitee.com/xuyiping_admin/go_proto v0.0.0-20250120024815-cc7c8bda185b h1:iMNohD0Qg7balckYvv3FFhKaxpjaH6UkSSqzpjpqYeo=
 gitee.com/xuyiping_admin/go_proto v0.0.0-20250120024815-cc7c8bda185b/go.mod h1:BKrFW6YLDectlQcQk3FYKBeXvjEiodAKJ5rq7O/QiPE=
+gitee.com/xuyiping_admin/go_proto v0.0.0-20250123060356-74f483993d26 h1:bUdNYFdlCUaAT6x6wIi6i4jLj1K3SyonTW8a0IiSGdU=
+gitee.com/xuyiping_admin/go_proto v0.0.0-20250123060356-74f483993d26/go.mod h1:BKrFW6YLDectlQcQk3FYKBeXvjEiodAKJ5rq7O/QiPE=
 gitee.com/xuyiping_admin/pkg v0.0.0-20241108060137-caea58c59f5b h1:w05MxH7yqveRlaRbxHhbif5YjPrJFodRPfOjYhXn7Zk=
 gitee.com/xuyiping_admin/pkg v0.0.0-20241108060137-caea58c59f5b/go.mod h1:8tF25X6pE9WkFCczlNAC0K2mrjwKvhhp02I7o0HtDxY=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=

+ 13 - 1
model/cow.go

@@ -227,6 +227,16 @@ func (c CowSlice) ToPB(
 			lastCalvingAtFormat = time.Unix(v.LastCalvingAt, 0).Format(LayoutDate2)
 		}
 
+		lastAbortionAtFormat := ""
+		if v.LastAbortionAt > 0 {
+			lastAbortionAtFormat = time.Unix(v.LastAbortionAt, 0).Format(LayoutDate2)
+		}
+
+		lastSecondWeightAtFormat := ""
+		if v.LastSecondWeightAt > 0 {
+			lastSecondWeightAtFormat = time.Unix(v.LastSecondWeightAt, 0).Format(LayoutDate2)
+		}
+
 		res[i] = &pasturePb.CowDetails{
 			CowId:                     int32(v.Id),
 			Sex:                       sex,
@@ -258,7 +268,9 @@ func (c CowSlice) ToPB(
 			LastPregnantCheckAtFormat: lastPregnantCheckAtFormat,
 			LastWeightAtFormat:        lastWeightAtFormat,
 			LastCalvingAtFormat:       lastCalvingAtFormat,
-			//PregnancyAge:              v.PregnancyAge,
+			LastAbortionAtFormat:      lastAbortionAtFormat,
+			LastSecondWeight:          float32(v.LastSecondWeight) / 100,
+			LastSecondWeightAtFormat:  lastSecondWeightAtFormat,
 		}
 	}
 	return res

+ 7 - 3
module/crontab/neck_ring_handle.go

@@ -156,6 +156,7 @@ func (e *Entry) recalculate(neckRingList []*model.NeckRingOriginal) []*model.Nec
 	}
 
 	currTime := time.Now()
+	res := make([]*model.NeckActiveHabit, 0)
 	// 算平均值
 	for k, v := range originalMapData {
 		// 过滤掉合并后不满6条数据
@@ -173,9 +174,12 @@ func (e *Entry) recalculate(neckRingList []*model.NeckRingOriginal) []*model.Nec
 		}
 		v.SumAvg()
 	}
-	dataList := model.NeckRingOriginalMap(originalMapData).ForMatData()
-	sort.Sort(model.NeckActiveHabitSlice(dataList))
-	return dataList
+	if len(originalMapData) <= 0 {
+		return res
+	}
+	res = model.NeckRingOriginalMap(originalMapData).ForMatData()
+	sort.Sort(model.NeckActiveHabitSlice(res))
+	return res
 }
 
 func (e *Entry) againRecalculate(data *model.NeckActiveHabit) *model.NeckActiveHabit {