zhangzengfei
2024-11-07 c06ac05c6e52dd5bf818c9add39db5eed557ccac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package db
 
import (
    "encoding/base64"
    "sdkCompare/util"
    "time"
)
 
type RealNamePerson struct {
    Id                  string    `gorm:"column:id;type:varchar(191);primary_key;"`
    PersonId            string    `gorm:"column:person_id;type:varchar(191)"`            // 第三方名单库人员id
    Name                string    `gorm:"column:name;type:varchar(32)"`                  // 姓名
    Gender              string    `gorm:"column:gender; type:varchar(16)"`               // 注册性别(male-男, female-女,unknown-未知
    CertType            int       `gorm:"column:cert_type;"`                             // 证件类型 证件类型(111-居民身份证,113-户口簿,114-中国人民解放军军官证,131-工作证,123警官证,133-学生证,335-机动车驾驶证,,337-机动车行驶证,414-护照,782-市名卡,990-其他证件。取值参考数据字典
    CertName            string    `gorm:"column:cert_name;type:varchar(32)"`             // 证件类型名称
    CertNumber          string    `gorm:"column:cert_number;type:varchar(32);index"`     // 证件号码
    FacePicUrl          string    `gorm:"column:face_pic_url"`                           // 人脸图
    FacePicBase64       string    `gorm:"column:face_pic_base64"`                        // 人脸图
    FaceFeature         string    `gorm:"column:face_feature"`                           // 人脸特征值
    BornTime            string    `gorm:"column:born_time;type:varchar(32)"`             // 出生年月日
    NativeCountyCode    string    `gorm:"column:native_county_code;type:varchar(32)"`    // 籍贯区县编号
    ResidenceCountyCode string    `gorm:"column:residence_county_code;type:varchar(32)"` // 居住地区县编号
    Vendor              string    `gorm:"column:vendor;type:varchar(32)"`                // 数据来源
    PersonLibId         string    `gorm:"column:person_lib_id;type:varchar(191)"`        // 名单库id
    PersonLibName       string    `gorm:"column:person_lib_name;type:varchar(191)"`      // 名单库名称
    CreatedAt           time.Time `gorm:"column:created_at;autoCreateTime"`
    UpdatedAt           time.Time `gorm:"column:updated_at;autoUpdateTime"`
}
 
func (l *RealNamePerson) TableName() string {
    return "real_name_persons"
}
 
func (l *RealNamePerson) GetRealNamePersonList() (arr []*FeatureCacheBase, err error) {
    var persons []RealNamePerson
    sql := "select id, cert_number, face_feature from real_name_persons where face_feature != ''"
    err = db.Raw(sql).Find(&persons).Error
    if err != nil {
        return nil, nil
    }
 
    for _, p := range persons {
        if p.FaceFeature != "" {
            byteFeat, err := base64.StdEncoding.DecodeString(p.FaceFeature)
            if err != nil {
                continue
            }
 
            arr = append(arr, &FeatureCacheBase{
                Id:          p.Id,
                TableId:     p.CertNumber,
                FaceFeature: util.ByteSlice2float32Slice(byteFeat),
            })
        }
    }
 
    return
}