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
|
}
|