From d3ea6799865812baaa1439922d6123e70a0cccdc Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 23 八月 2024 17:39:04 +0800 Subject: [PATCH] 修复otherFeature字段传送楼层信息 --- repository/captureRepo.go | 51 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 33 insertions(+), 18 deletions(-) diff --git a/repository/captureRepo.go b/repository/captureRepo.go index 9e6af55..f2d9f9b 100644 --- a/repository/captureRepo.go +++ b/repository/captureRepo.go @@ -94,14 +94,8 @@ // 澶勭悊姊帶濉啓鐨勬ゼ灞備俊鎭� 鏆傛椂浣跨敤otherFeature瀛楁 if face.OtherFeature != "" && pd.CameraFloor == "" { - pd.CameraFloor, _ = pkg.RestoreFloor(face.OtherFeature) + pd.Direction, pd.CameraFloor, _ = pkg.RestoreFloor(face.OtherFeature) } - - // 灏濊瘯浠巉aceId鎻愬彇妤煎眰 - if pd.CameraFloor == "" && config.ClientConf.AddFloorToFaceId { - pd.CameraFloor, _ = pkg.ParseFloorFromId(face.FaceID) - } - //logger.Debug("device %s, CameraFloor:%s", deviceId, pd.CameraFloor) payload, err := json.Marshal(pd) if err != nil { @@ -182,10 +176,10 @@ pd.CameraFloor = v.BehaviorDescription } - // 灏濊瘯浠巉aceId鎻愬彇妤煎眰 - if pd.CameraFloor == "" && config.ClientConf.AddFloorToFaceId { - pd.CameraFloor, _ = pkg.ParseFloorFromId(v.PersonID) - } + //// 灏濊瘯浠巉aceId鎻愬彇妤煎眰 + //if pd.CameraFloor == "" && config.ClientConf.AddFloorToFaceId { + // pd.CameraFloor, _ = pkg.ParseFloorFromId(v.PersonID) + //} //logger.Debug("device %s, CameraFloor:%s", deviceId, pd.CameraFloor) payload, err := json.Marshal(pd) @@ -284,17 +278,38 @@ faceAppearTime = time.Now() } + var floor, runDir string var devPos models.Positions _ = devPos.FindPositionByTime(faceAppearTime.Unix() + 5) // 鍔�5绉掔數姊叧闂ㄧ殑鏃堕棿 if devPos.Pos == "" { devPos.Pos = "1F" } - for idx, face := range msg.FaceListObject.FaceObject { - msg.FaceListObject.FaceObject[idx].OtherFeature, _ = pkg.ParseFloor(devPos.Pos) - if config.ClientConf.AddFloorToFaceId { - msg.FaceListObject.FaceObject[idx].FaceID = pkg.GenerateFaceIdContainFloor(face.FaceID, devPos.Pos) + floor = devPos.Pos + + for i := 0; i < config.NVCSConf.WaitRunTime; i++ { + var dbPos models.Positions + if err := dbPos.FindMovePosition(faceAppearTime.Unix()+5, floor); err == nil { + switch dbPos.RunDir { + case service.RunUp: + runDir = "1" + case service.RunDown: + runDir = "2" + case service.RunStop: + runDir = "0" + } + + break } + + time.Sleep(1 * time.Second) + } + + for idx, _ := range msg.FaceListObject.FaceObject { + msg.FaceListObject.FaceObject[idx].OtherFeature, _ = pkg.ParseFloor(runDir, floor) + //if config.ClientConf.AddFloorToFaceId { + // msg.FaceListObject.FaceObject[idx].FaceID = pkg.GenerateFaceIdContainFloor(face.FaceID, devPos.Pos) + //} } } @@ -326,9 +341,9 @@ for idx, v := range msg.PersonListObject.PersonObject { msg.PersonListObject.PersonObject[idx].BehaviorDescription = devPos.Pos - if config.ClientConf.AddFloorToFaceId { - msg.PersonListObject.PersonObject[idx].PersonID = pkg.GenerateFaceIdContainFloor(v.PersonID, devPos.Pos) - } + //if config.ClientConf.AddFloorToFaceId { + // msg.PersonListObject.PersonObject[idx].PersonID = pkg.GenerateFaceIdContainFloor(v.PersonID, devPos.Pos) + //} } b, _ := json.Marshal(msg) -- Gitblit v1.8.0