| | |
| | | |
| | | // 处理梯控填写的楼层信息 暂时使用otherFeature字段 |
| | | if face.OtherFeature != "" && pd.CameraFloor == "" { |
| | | pd.CameraFloor, _ = pkg.RestoreFloor(face.OtherFeature) |
| | | pd.Direction, pd.CameraFloor, _ = pkg.RestoreFloor(face.OtherFeature) |
| | | } |
| | | |
| | | // 尝试从faceId提取楼层 |
| | | 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 { |
| | |
| | | pd.CameraFloor = v.BehaviorDescription |
| | | } |
| | | |
| | | // 尝试从faceId提取楼层 |
| | | if pd.CameraFloor == "" && config.ClientConf.AddFloorToFaceId { |
| | | pd.CameraFloor, _ = pkg.ParseFloorFromId(v.PersonID) |
| | | } |
| | | //// 尝试从faceId提取楼层 |
| | | //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) |
| | |
| | | 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) |
| | | //} |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | 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) |