From c06ac05c6e52dd5bf818c9add39db5eed557ccac Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 07 十一月 2024 16:57:21 +0800 Subject: [PATCH] 调整实名比对 --- /dev/null | 18 --------- compare/compare.go | 4 -- cache/cache.go | 21 ---------- db/realPersons.go | 73 ++++++++++++++---------------------- 4 files changed, 29 insertions(+), 87 deletions(-) diff --git a/cache/cache.go b/cache/cache.go index 72c8d62..7c440e3 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -7,9 +7,6 @@ "sdkCompare/cache/shardmap" "sdkCompare/db" - - "basic.com/pubsub/protomsg.git" - "basic.com/valib/logger.git" ) var peerSizeNum = flag.Int("peerSize", 3000, "the query number from database") @@ -27,7 +24,6 @@ var CaptureDbMap *AreaMapItem var RealNameDbMap = shardmap.New(uint8(*threadNum)) -var KeyPersonDbMap = shardmap.New(uint8(*threadNum)) var doOnce sync.Once @@ -45,7 +41,6 @@ initDbTablePersonsCache() initRealNamePersonsCache() - initKeyPersonsCache() } func ReInitDbTablePersonsCache() { @@ -137,7 +132,7 @@ } func initRealNamePersonsCache() { - var dbApi db.Layouts + var dbApi db.RealNamePerson dbPersons, err := dbApi.GetRealNamePersonList() if err != nil { logger.Error("init real-name persons error,", err.Error()) @@ -148,20 +143,6 @@ } logger.Debugf("甯镐綇浜哄彛鍏辨湁%d鏉¤褰�", len(dbPersons)) -} - -func initKeyPersonsCache() { - var dbApi db.Layouts - dbPersons, err := dbApi.GetKeyPersonList() - if err != nil { - logger.Error("init real-name persons error,", err.Error()) - } - - for _, value := range dbPersons { - KeyPersonDbMap.Set(value.Id, value) - } - - logger.Debugf("閲嶇偣浜哄憳鍏辨湁%d鏉¤褰�", len(dbPersons)) } // UpdateDbPersonsCacheById 鏇存柊缂撳瓨涓殑鍏ㄩ儴浜哄憳淇℃伅 diff --git a/compare/compare.go b/compare/compare.go index e4af573..396a651 100644 --- a/compare/compare.go +++ b/compare/compare.go @@ -6,8 +6,6 @@ "sdkCompare/util" - "basic.com/pubsub/protomsg.git" - "basic.com/valib/logger.git" "github.com/golang/protobuf/proto" ) @@ -38,8 +36,6 @@ switch args.CompareTarget { case "realName": response = realNamePersonsCompere(args, fFeature, baseScore) - case "keyPerson": - response = keyPersonsCompere(args, fFeature, baseScore) default: response = capturePersonsCompere(args, fFeature, baseScore) } diff --git a/compare/keyPerson.go b/compare/keyPerson.go deleted file mode 100644 index 00c761c..0000000 --- a/compare/keyPerson.go +++ /dev/null @@ -1,18 +0,0 @@ -package compare - -import ( - "basic.com/pubsub/protomsg.git" - "sdkCompare/cache" -) - -func keyPersonsCompere(args protomsg.CompareArgs, fFeature []float32, baseScore float32) protomsg.SdkCompareResult { - var scr protomsg.SdkCompareResult - targets := cache.KeyPersonDbMap.Walk(DoSdkCompare, fFeature, baseScore) - if len(targets) > 0 { - for idx, _ := range targets { - scr.CompareResult = append(scr.CompareResult, targets[idx]) - } - } - - return scr -} diff --git a/db/realPersons.go b/db/realPersons.go index 2f5a803..8b79251 100644 --- a/db/realPersons.go +++ b/db/realPersons.go @@ -3,69 +3,52 @@ import ( "encoding/base64" "sdkCompare/util" + "time" ) -type Layouts struct { - Id string `gorm:"column:id"` - TableId string `gorm:"column:tableId"` - Name string `gorm:"column:name"` - Phone string `gorm:"column:phone"` - Address string `gorm:"column:address"` - Age string `gorm:"column:age"` - Gender string `gorm:"column:gender"` - IdCard string `gorm:"column:id_card"` - PersonType string `gorm:"column:person_type"` //'1锛氬父椹讳汉鍙o紝2锛氬墠绉戜汉鍛橈紝3锛氭秹姣掍汉鍛橈紝4锛氭秹绋充汉鍛橈紱5锛氬湪閫冧汉鍛橈紝6:娴佸姩浜哄彛锛�7:瀵勪綇浜哄彛锛�', - Feature string `gorm:"column:feature"` +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)"` // 娉ㄥ唽鎬у埆锛坢ale-鐢�, female-濂�,unknown-鏈煡 + CertType int `gorm:"column:cert_type;"` // 璇佷欢绫诲瀷 璇佷欢绫诲瀷锛�111-灞呮皯韬唤璇侊紝113-鎴峰彛绨匡紝114-涓浗浜烘皯瑙f斁鍐涘啗瀹樿瘉锛�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)"` // 鍚嶅崟搴搃d + 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 *Layouts) TableName() string { - return "layouts" +func (l *RealNamePerson) TableName() string { + return "real_name_persons" } -func (l *Layouts) GetRealNamePersonList() (arr []*FeatureCacheBase, err error) { - var persons []Layouts - sql := "select id, tableId, person_type, feature from layouts" +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.Feature != "" { - byteFeat, err := base64.StdEncoding.DecodeString(p.Feature) + if p.FaceFeature != "" { + byteFeat, err := base64.StdEncoding.DecodeString(p.FaceFeature) if err != nil { continue } arr = append(arr, &FeatureCacheBase{ Id: p.Id, - TableId: p.TableId, - FaceFeature: util.ByteSlice2float32Slice(byteFeat), - }) - } - } - - return -} - -func (l *Layouts) GetKeyPersonList() (arr []*FeatureCacheBase, err error) { - var persons []Layouts - sql := "select id, id_card, person_type, feature from layouts where person_type != '1'" - err = db.Raw(sql).Find(&persons).Error - if err != nil { - return nil, nil - } - - for _, p := range persons { - if p.Feature != "" { - byteFeat, err := base64.StdEncoding.DecodeString(p.Feature) - if err != nil { - continue - } - - arr = append(arr, &FeatureCacheBase{ - Id: p.Id, - TableId: p.IdCard, + TableId: p.CertNumber, FaceFeature: util.ByteSlice2float32Slice(byteFeat), }) } -- Gitblit v1.8.0