From 2ad0fadf97e433bf76eea2b90edec03de84d64e6 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 08 一月 2020 10:52:17 +0800
Subject: [PATCH] personPicUrl submit add ?collection=persistent

---
 controllers/fileController.go |    8 ++--
 service/CamraUpdatesnashot.go |    2 
 extend/util/util.go           |   40 ++++++++++++++++++++
 controllers/dbtableperson.go  |   27 +++++++++----
 4 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/controllers/dbtableperson.go b/controllers/dbtableperson.go
index dbc6149..6112be3 100644
--- a/controllers/dbtableperson.go
+++ b/controllers/dbtableperson.go
@@ -295,7 +295,7 @@
 		logger.Debug("localConfig is wrong!!!")
 		return
 	}
-	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 	//鏍规嵁浜鸿劯鍧愭爣鎵e嚭浜鸿劯灏忓浘
 	t1 := time.Now()
 	cutFaceImgData := util.SubImg(*pI, int(rcFace.Left), int(rcFace.Top), int(rcFace.Right), int(rcFace.Bottom))
@@ -485,15 +485,24 @@
 			feature = fea
 		}
 		if personPicUrl != "" && feature != "" {
-			var dbpApi dbapi.DbPersonApi
-			b,d := dbpApi.JoinDbTable(reqBody.TableIds, feature, personPicUrl)
-			if b {
-				util.ResponseFormat(c,code.Success,d)
-				return
-			} else {
-				util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
-				return
+			//灏嗚繖寮犳姄鎷嶇殑鐓х墖涓嬭浇涓嬫潵涓婁紶鍒癱ollection=persistent鐨勯泦鍚堜腑锛岄槻姝㈣娓呯悊鎺�
+			picB, e3 := util.DownLoad("http://" + personPicUrl)
+			if e3 == nil {
+				var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
+				newPersonPicUrl, e4 := WeedFSClient.UploadFile(weedfsUri, "capturePerson", picB)
+				if e4 == nil {
+					var dbpApi dbapi.DbPersonApi
+					b,d := dbpApi.JoinDbTable(reqBody.TableIds, feature, newPersonPicUrl)
+					if b {
+						util.ResponseFormat(c,code.Success,d)
+						return
+					} else {
+						util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
+						return
+					}
+				}
 			}
+
 		}
 	}
 	util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
diff --git a/controllers/fileController.go b/controllers/fileController.go
index 80c6b99..7ac8606 100644
--- a/controllers/fileController.go
+++ b/controllers/fileController.go
@@ -132,7 +132,7 @@
 		logger.Debug("localConfig is wrong!!!")
 		return
 	}
-	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 	logger.Debug("weedfsUri:",weedfsUri)
 	resultMap :=make(map[string]interface{},0)
 	//灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰�
@@ -403,7 +403,7 @@
 		logger.Debug("localConfig is wrong!!!")
 		return nil,"",nil,errors.New("localConf err")
 	}
-	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 	logger.Debug("weedfsUri:",weedfsUri)
 	faceArr, err, pI := service.GetFaceFeaFromSdk(fileBytes, time.Second*60)
 	if err ==nil && len(faceArr) ==1 {
@@ -742,7 +742,7 @@
 		logger.Debug("localConfig is wrong!!!")
 		return
 	}
-	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 
 	//灏嗕笂浼犵殑鍥剧墖浜や汉鑴告娴嬪拰浜鸿劯鎻愬彇锛岃幏寰楃壒寰�
 	fileBytes, _ := ioutil.ReadAll(file)
@@ -966,7 +966,7 @@
 		logger.Debug("localConfig is wrong!!!")
 		return
 	}
-	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+	var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 	{
 		uri := weedfsUri
 		fileInfo, e := esutil.PostFormBufferData(uri, filename, "file", uploadData)
diff --git a/extend/util/util.go b/extend/util/util.go
index 555bc37..38017e1 100644
--- a/extend/util/util.go
+++ b/extend/util/util.go
@@ -2,13 +2,16 @@
 
 import (
 	"archive/zip"
+	"basic.com/valib/logger.git"
 	"bytes"
 	"crypto/md5"
+	"crypto/tls"
 	"encoding/hex"
 	"encoding/json"
 	"image"
 	"io"
 	"io/ioutil"
+	"net"
 	"net/http"
 	"os"
 	"path/filepath"
@@ -325,4 +328,41 @@
 	}
 
 	return hex.EncodeToString(_md5.Sum(nil)),nil
+}
+
+func DownLoad(url string)([]byte,error){
+	connectTimeout := 5 * time.Second
+	readWriteTimeout := 10000 * time.Millisecond
+	c := &http.Client{
+		Transport: &http.Transport{
+			TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
+			Dial:            TimeoutDialer(connectTimeout, readWriteTimeout),
+		},
+	}
+	req, err := http.NewRequest("GET",url,nil)
+	if err != nil {
+		return nil,err
+	}
+	resp,err := c.Do(req)
+
+	body, err1 := ioutil.ReadAll(resp.Body)
+	if err1 != nil {
+		resp.Body.Close()
+		return nil,err
+	}else {
+		logger.Debug("Download success")
+	}
+	resp.Body.Close()
+	return body,nil
+}
+
+func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string) (c net.Conn, err error) {
+	return func(netw, addr string) (net.Conn, error) {
+		conn, err := net.DialTimeout(netw, addr, cTimeout)
+		if err != nil {
+			return nil, err
+		}
+		conn.SetDeadline(time.Now().Add(rwTimeout))
+		return conn, nil
+	}
 }
\ No newline at end of file
diff --git a/service/CamraUpdatesnashot.go b/service/CamraUpdatesnashot.go
index 6e68767..d156ef1 100644
--- a/service/CamraUpdatesnashot.go
+++ b/service/CamraUpdatesnashot.go
@@ -151,7 +151,7 @@
 			logger.Debug("localConfig is wrong!!!")
 			return "",err2
 		}
-		var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit"
+		var weedfsUri = "http://"+localConf.WebPicIp+":"+strconv.Itoa(int(localConf.WebPicPort))+"/submit?collection=persistent"
 		weedFilePath, err := WeedFSClient.UploadFile(weedfsUri, camera.Name+".jpg", b)
 		if err != nil {
 			return "",err

--
Gitblit v1.8.0