zhangzengfei
2024-05-28 5cda8b65ccc67f5248509157df5771e90dea4345
修改faceid
3个文件已修改
20 ■■■■■ 已修改文件
config/config.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pkg/floor.go 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
repository/captureRepo.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
config/config.go
@@ -31,6 +31,7 @@
    ChannelNo          string `mapstructure:"channel-number"`     // 通道号, 同id
    HeartbeatInterval  int    `mapstructure:"heartbeat-interval"` // 心跳周期
    HeartbeatFailCount int    `mapstructure:"heartbeat-count"`    // 心跳超时次数
    AddFloorToFaceId   bool   `mapstructure:"add-floor-faceId"`
    Enable             bool   `mapstructure:"enable"`
}
pkg/floor.go
@@ -4,15 +4,14 @@
    "fmt"
    "strconv"
    "strings"
    "gat1400Exchange/pkg/snowflake"
)
// 生成一个包含楼层的人脸id,解析楼层
// 使用48位源id, 其中前41位是imageid, 不可以修改  +99 + 3位楼层(第一位0表示正,1表示负) + 2位随机数
// 使用48位源id, 其中前41位是imageid, 不可以修改 41-43位填 06 代表图像, +99 + 3位楼层(第一位0表示正,1表示负)
func GenerateFaceIdContainFloor(srcId, floorStr string) string {
    floorNum, _ := parseFloor(floorStr)
    newId := srcId[0:41] + "99" + floorNum + snowflake.CreateRandomNumber(2)
    newId := srcId[0:43] + "99" + floorNum
    //newId := srcId[0:43] + "99" + floorNum + snowflake.CreateRandomNumber(1)
    return newId
}
@@ -22,11 +21,11 @@
        return "", fmt.Errorf("invalid id %s", srcId)
    }
    if srcId[41:43] != "99" {
        return "", fmt.Errorf("invalid flag %s", srcId[41:43])
    if srcId[43:45] != "99" {
        return "", fmt.Errorf("invalid flag %s", srcId[43:45])
    }
    return restoreFloor(srcId[43:46])
    return restoreFloor(srcId[45:48])
}
// parseFloor parses the floor string and returns a three-character string
repository/captureRepo.go
@@ -97,7 +97,7 @@
            }
            // 尝试从faceId提取楼层
            if pd.CameraFloor == "" {
            if pd.CameraFloor == "" && config.ClientConf.AddFloorToFaceId {
                pd.CameraFloor, _ = pkg.ParseFloorFromId(face.FaceID)
            }
            //logger.Debug("device %s, CameraFloor:%s", deviceId, pd.CameraFloor)
@@ -182,7 +182,9 @@
    for idx, face := range msg.FaceListObject.FaceObject {
        msg.FaceListObject.FaceObject[idx].OtherFeature = devPos.Pos
        msg.FaceListObject.FaceObject[idx].FaceID = pkg.GenerateFaceIdContainFloor(face.FaceID, devPos.Pos)
        if config.ClientConf.AddFloorToFaceId {
            msg.FaceListObject.FaceObject[idx].FaceID = pkg.GenerateFaceIdContainFloor(face.FaceID, devPos.Pos)
        }
    }
    b, _ := json.Marshal(msg)