From e9d0ba14154d623898803a294a25db634a9ceec7 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 23 八月 2019 11:14:30 +0800
Subject: [PATCH] add download so

---
 controllers/fileController.go |   55 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 32 insertions(+), 23 deletions(-)

diff --git a/controllers/fileController.go b/controllers/fileController.go
index b1b1ba4..a4c67ae 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -214,15 +214,15 @@
 	}
 	logger.Debug("comp len(personIds):", len(personIds))
 	logger.Debug("comp len(captureIds):", len(captureIds))
-	esServerIp := config.EsInfo.Masterip
-	esServerPort := config.EsInfo.Httpport
-	index := config.EsInfo.EsIndex.Dbtablepersons.IndexName
+
 	var dbpersons []protomsg.Dbperson
 	if len(personIds) >0 {
-		dbpersons, _ = esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort)
+		var dbpApi dbapi.DbPersonApi
+		dbpersons, _ = dbpApi.Dbpersoninfosbyid(personIds)
 	}
 
 	if len(dbpersons) >0 {
+		var dtApi dbapi.DbTableApi
 		for _,p :=range dbpersons {
 			var dbP = DbPersonVo {
 				PersonId: p.Id,
@@ -236,7 +236,7 @@
 				TableId: p.TableId,
 				Enable: p.Enable,
 			}
-			dbTableInfos, _ := esApi.Dbtablefosbyid([]string{p.TableId}, config.EsInfo.EsIndex.DbTables.IndexName, esServerIp, esServerPort)
+			dbTableInfos, _ := dtApi.DbtablesById([]string{ p.TableId })
 			if dbTableInfos !=nil{
 				dbP.BwType = dbTableInfos[0].BwType
 				dbP.TableName = dbTableInfos[0].TableName
@@ -368,11 +368,12 @@
 		CompareThreshold: searchBody.Threshold,
 	}
 
+	var hasCompEsPerson = false
 	if searchBody.DataBases !=nil {
 		for idx,tableId :=range searchBody.DataBases {
 			if tableId == "esData" {
 				searchBody.DataBases = append(searchBody.DataBases[:idx], searchBody.DataBases[idx+1:]...)
-				searchBody.DataBases = append(searchBody.DataBases,service.CaptureTable)
+				hasCompEsPerson = true
 				break
 			}
 		}
@@ -395,22 +396,38 @@
 	timeStart := time.Now()
 
 	compareService := service.NewFaceCompareService(arg)
-	compareOnce := compareService.Compare()
-	totalData := compareOnce.CompareData
+	var totalData service.CompareList
+	if len(arg.TableIds) >0 {//鏈夋瘮瀵瑰簳搴�
+		dbPersonTargets := compareService.CompareDbPersons()
+		if dbPersonTargets !=nil {
+			totalData = append(totalData,*dbPersonTargets...)
+		}
+	}
+	if hasCompEsPerson {//鏈夋瘮瀵笶s鎶撴媿
+		esPersons := compareService.CompareVideoPersons()
+		if esPersons !=nil {
+			totalData = append(totalData, *esPersons...)
+		}
+	}
 
 	logger.Debug("comp 姣斿缁撴潫锛岀敤鏃讹細",time.Since(timeStart))
+	service.SetCompResultByNum(&service.CompareOnce{
+		CompareNum: compareService.CompareNum,
+		CompareData: &totalData,
+	})
+
 	m := make(map[string]interface{},3)
 	if totalData != nil && totalData.Len() > 0{
 		sort.Sort(totalData)
 		total := totalData.Len()
 
-		m["compareNum"] = compareOnce.CompareNum
+		m["compareNum"] = compareService.CompareNum
 		m["total"] = total
 		var sCompResult protomsg.SdkCompareResult
 		if total <= searchBody.Size {
-			sCompResult.CompareResult = *totalData
+			sCompResult.CompareResult = totalData
 		} else {
-			sCompResult.CompareResult = (*totalData)[0:searchBody.Size]
+			sCompResult.CompareResult = totalData[0:searchBody.Size]
 		}
 		resultList := FillDataToCompareResult(&sCompResult)
 		m["totalList"] = resultList
@@ -418,7 +435,7 @@
 
 	} else {
 		m["total"] = 0
-		m["compareNum"] = searchBody.CompareNum
+		m["compareNum"] = compareService.CompareNum
 		m["totalList"] = []CompareResult{}
 	}
 	util.ResponseFormat(c,code.Success,m)
@@ -548,7 +565,6 @@
 
 func uploadFileReturnAddr(file multipart.File, filename string, tableId string) (string, map[string]interface{}, error) {
 	defer file.Close()
-	field := ""
 	// weedfs 涓婁紶
 	fileBytes, err := ioutil.ReadAll(file)
 	if err !=nil {
@@ -580,29 +596,22 @@
 	cutFaceImgData := util.SubImg(*pI, int(rcFace.Left), int(rcFace.Top), int(rcFace.Right), int(rcFace.Bottom))
 	logger.Debug("SubImg鐢ㄦ椂锛�", time.Since(t1))
 	t1 = time.Now()
-	fileInfo, e := esutil.PostFormData(weedfsUri, filename, "file", cutFaceImgData)
+	weedFilePath, e := WeedFSClient.UploadFile(weedfsUri, filename, cutFaceImgData)
 	logger.Debug("涓婁紶鍒皐eedfs鐢ㄦ椂:", time.Since(t1))
 	t1 = time.Now()
 	if e != nil {
 		fmt.Println(e.Error())
 		return "", nil, e
-	} else {
-		field = fileInfo[picUrlField].(string) // 鏂囦欢璺緞
 	}
-	if strings.Contains(field,"/"){
-		idx := strings.Index(field, "/")
-		field = field[idx+1:]
-	}
+
 	ext := path.Ext(filename)
 	fileNameOnly := strings.TrimSuffix(filename, ext)
 
 	dbperson := new(models.Dbtablepersons)
-	dbperson.PersonPicUrl = field //  鍥剧墖璺粡
+	dbperson.PersonPicUrl = weedFilePath //  鍥剧墖璺粡
 	dbperson.TableId = tableId           //
 	dbperson.PersonName = fileNameOnly       // 鍥剧墖鍚�
 	dbperson.Enable = 1 //榛樿鏈夋晥
-	// 婕旂ずbase64缂栫爜
-
 	dbperson.FaceFeature = faceBase64 // 鐗瑰緛鍊糱ase64 鐮�
 
 	result := addDbPerson(dbperson)

--
Gitblit v1.8.0