From 4860c7b312cdce2d948ee417b0bb1fed60fd9dc7 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 20 二月 2024 17:09:37 +0800
Subject: [PATCH] 更新与对比修改

---
 main.go |  131 +++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 54 deletions(-)

diff --git a/main.go b/main.go
index f8800b5..2839a57 100644
--- a/main.go
+++ b/main.go
@@ -6,6 +6,7 @@
 	"os"
 	"path"
 	"path/filepath"
+	"sdkCompare/proto/facecompare"
 	"strconv"
 	"time"
 
@@ -51,32 +52,44 @@
 	logger.Debug("This is a new server about sdk compare, proc name ", procName)
 
 	serveUrl := "tcp://0.0.0.0:"
-	if procName == "dbCompare" {
-		if err := cache.ConnectDB(); err != nil {
-			logger.Error(err.Error())
-			return
-		}
-
-		cache.InitDbTablePersons()
-		if !cache.InitCompare() {
-			logger.Debug("init SDKFace return false,panic")
-			return
-		}
-		serveUrl = serveUrl + strconv.Itoa(config.DbPersonCompInfo.ServePort)
-	} else {
-		if err := cache.Init(config.EsInfo.EsIndex.AiOcean.IndexName, targetType1); err != nil {
-			logger.Info("init capture cache err:", err)
-			return
-		}
-
-		if !cache.InitCompare() {
-			logger.Debug("init SDKFace return false,panic")
-			return
-		}
-
-		go cache.IncreVideoPersonsCache(time.Now(), targetType1)
-		serveUrl = serveUrl + strconv.Itoa(config.EsCompServerInfo.ServePort)
+	if err := cache.ConnectDB(); err != nil {
+		logger.Error(err.Error())
+		return
 	}
+
+	cache.InitDbTablePersons()
+	if !cache.InitCompare() {
+		logger.Debug("init SDKFace return false,panic")
+		return
+	}
+	serveUrl = serveUrl + strconv.Itoa(config.DbPersonCompInfo.ServePort)
+
+	//if procName == "dbCompare" {
+	//	if err := cache.ConnectDB(); err != nil {
+	//		logger.Error(err.Error())
+	//		return
+	//	}
+	//
+	//	cache.InitDbTablePersons()
+	//	if !cache.InitCompare() {
+	//		logger.Debug("init SDKFace return false,panic")
+	//		return
+	//	}
+	//	serveUrl = serveUrl + strconv.Itoa(config.DbPersonCompInfo.ServePort)
+	//} else {
+	//	if err := cache.Init(config.EsInfo.EsIndex.AiOcean.IndexName, targetType1); err != nil {
+	//		logger.Info("init capture cache err:", err)
+	//		return
+	//	}
+	//
+	//	if !cache.InitCompare() {
+	//		logger.Debug("init SDKFace return false,panic")
+	//		return
+	//	}
+	//
+	//	go cache.IncreVideoPersonsCache(time.Now(), targetType1)
+	//	serveUrl = serveUrl + strconv.Itoa(config.EsCompServerInfo.ServePort)
+	//}
 
 	logger.Debugf("%s serve url:%s", procName, serveUrl)
 
@@ -89,12 +102,12 @@
 	var msg []byte
 	var ctx, _ = context.WithCancel(context.Background())
 	if sock, err = rep.NewSocket(); err != nil {
-		logger.Debug("new rep socket err:", err)
+		logger.Error("new rep socket err:", err)
 	}
 	sock.AddTransport(ipc.NewTransport())
 	sock.AddTransport(tcp.NewTransport())
 	if err = sock.Listen(url); err != nil {
-		logger.Debug("listen on rep socket err:", err)
+		logger.Error("listen on rep socket err:", err)
 	}
 
 	for {
@@ -109,35 +122,45 @@
 			}
 
 			if len(msg) > 0 {
-				var compareArgInfo protomsg.CompareArgs
-				var cacheChangeInfo protomsg.EsPersonCacheChange
-				var compareEvent protomsg.CompareEvent
-				if err = proto.Unmarshal(msg, &compareArgInfo); err == nil {
-					timeStart := time.Now()
-					result := cache.GetComparePersonBaseInfo(compareArgInfo)
-					logger.Debug("鐢ㄦ椂锛�", time.Since(timeStart))
-					err = sock.Send(result)
-					if err != nil {
-						logger.Debug("send reply err:", err.Error())
-					}
-
-				} else if err = proto.Unmarshal(msg, &cacheChangeInfo); err == nil {
-					cache.UpdateCache(&cacheChangeInfo)
-					err = sock.Send([]byte(""))
-					if err != nil {
-						logger.Debug("send reply err:", err.Error())
-					}
-				} else if err = proto.Unmarshal(msg, &compareEvent); err == nil {
-					if compareEvent.EventType == protomsg.CompareEventType_ReInitCache { //鍔犲叆闆嗙兢鍚庨噸鏂板垵濮嬪寲缂撳瓨
-						cache.ReInitDbTablePersonsCache()
-					} else if compareEvent.EventType == protomsg.CompareEventType_UpdateCache { //搴撲腑鏂板鏇存柊缂撳瓨
-						cache.UpdateDbPersonsCacheById(string(compareEvent.Payload))
-					}
-				} else {
-					logger.Debug("json unmarshal error")
+				var compareType facecompare.CompareRequest
+				err = proto.Unmarshal(msg, &compareType)
+				if err != nil {
+					logger.Error("compareType json unmarshal error")
 					continue
 				}
-
+				var result []byte
+				if compareType.CompareType == facecompare.CompareType_Compare {
+					var compareArgInfo protomsg.CompareArgs
+					var cacheChangeInfo protomsg.EsPersonCacheChange
+					if err = proto.Unmarshal(compareType.Payload, &compareArgInfo); err == nil {
+						timeStart := time.Now()
+						result = cache.GetComparePersonBaseInfo(compareArgInfo)
+						logger.Debug("鐢ㄦ椂锛�", time.Since(timeStart))
+					} else if err = proto.Unmarshal(compareType.Payload, &cacheChangeInfo); err == nil {
+						cache.UpdateCache(&cacheChangeInfo)
+					} else {
+						logger.Error("CompareArgs or EsPersonCacheChange json unmarshal error")
+						continue
+					}
+				} else if compareType.CompareType == facecompare.CompareType_UpdateCache {
+					var compareEvent protomsg.CompareEvent
+					if err = proto.Unmarshal(compareType.Payload, &compareEvent); err == nil {
+						if compareEvent.EventType == protomsg.CompareEventType_ReInitCache { //鍔犲叆闆嗙兢鍚庨噸鏂板垵濮嬪寲缂撳瓨
+							cache.ReInitDbTablePersonsCache()
+						} else if compareEvent.EventType == protomsg.CompareEventType_UpdateCache { //搴撲腑鏂板鏇存柊缂撳瓨
+							id := string(compareEvent.Payload)
+							cache.UpdateDbPersonsCacheById(id)
+							logger.Debug("--------------鏇存柊浜哄憳缂撳瓨, id: ", id)
+						}
+					} else {
+						logger.Error("CompareEvent json unmarshal error")
+						continue
+					}
+				}
+				err = sock.Send(result)
+				if err != nil {
+					logger.Error("send reply err:", err.Error())
+				}
 			}
 		}
 	}

--
Gitblit v1.8.0