From 0222e79afe45d9fc55aed9a7e62ca239c228ab73 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期一, 23 十二月 2019 10:24:12 +0800 Subject: [PATCH] add sys comeback sh --- controllers/fileController.go | 150 ++++++++++++++++++++++++++++++------------------- 1 files changed, 92 insertions(+), 58 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index 643ccc4..32fefb3 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -53,7 +53,7 @@ // @Security ApiKeyAuth // @Summary 渚濇嵁鍥剧墖娣诲姞搴曞簱浜哄憳 // @Description 渚濇嵁鍥剧墖娣诲姞搴曞簱杩斿洖鏁版嵁浜哄憳 -// @Accept mpfd +// @Accept multipart/form-data // @Produce json // @Tags dbperson 搴曞簱浜哄憳 // @Param file formData file true "搴曞簱浜哄憳鍥剧墖" @@ -114,6 +114,7 @@ // @Security ApiKeyAuth // @Summary 浜鸿劯鎻愬彇 // @Description 浜鸿劯鎻愬彇 +// @Accept multipart/form-data // @Produce json // @Tags 浠ュ浘鎼滃浘 // @Param file formData file true "浜哄憳鍥剧墖" @@ -182,17 +183,15 @@ type CompareResult struct { Id string `json:"id"` - CompareScore float32 `json:"compareScore"` + CompareScore float64 `json:"compareScore"` CameraId string `json:"cameraId"` + CameraName string `json:"cameraName"` CameraAddr string `json:"cameraAddr"` PicDate string `json:"picDate"` Content string `json:"content"` - IsAlarm int `json:"isAlarm"` - PicMaxUrl string `json:"picMaxUrl"` - PicSmUrl []string `json:"picSmUrl"` - Sex string `json:"sex"` - AgeDescription string `json:"ageDescription"` - Race string `json:"race"` + IsAlarm bool `json:"isAlarm"` + PicMaxUrl []string `json:"picMaxUrl"` + TargetInfo []TargetInfo `json:"targetInfo"` TaskId string `json:"taskId"` TaskName string `json:"taskName"` BaseInfo []DbPersonVo `json:"baseInfo"` @@ -200,23 +199,37 @@ SdkName string `json:"sdkName"` AlarmRules []AlarmRuleVo `json:"alarmRules"` } + +type TargetInfo struct { + TargetId string `json:"targetId"` + TargetType string `json:"targetType"` + TargetScore float64 `json:"targetScore"` + Feature string `json:"feature"` + PicSmUrl string `json:"picSmUrl"` + TargetLocation TargetLocation `json:"targetLocation"` +} + +type TargetLocation struct { + TopLeft protomsg.Location `json:"topLeft"` + BottomRight protomsg.Location `json:"bottomRight"` +} + type DbPersonVo struct { - BwType string `json:"bwType"` - CompareScore float32 `json:"compareScore"` - IdCard string `json:"idCard"` - MonitorLevel string `json:"monitorLevel"` - PersonId string `json:"personId"` - PersonName string `json:"personName"` - PersonPicUrl string `json:"personPicUrl"` - PhoneNum string `json:"phoneNum"` - Sex string `json:"sex"` TableId string `json:"tableId"` TableName string `json:"tableName"` + BwType string `json:"bwType"` + CompareScore float64 `json:"compareScore"` + TargetId string `json:"targetId"` + TargetName string `json:"targetName"` + TargetPicUrl string `json:"targetPicUrl"` + MonitorLevel string `json:"monitorLevel"` + Labels string `json:"labels"` + Content string `json:"content"` Enable int32 `json:"enable"` } type ScoreIndex struct { - CompareScore float32 + CompareScore float64 Index int } @@ -241,13 +254,13 @@ if v.Tableid == service.CaptureTable { captureM[v.Id] = ScoreIndex{ Index: idx, - CompareScore: v.CompareScore, + CompareScore: util.ParseScore64(float64(v.CompareScore)), } captureIds = append(captureIds,v.Id) } else { dbPersonM[v.Id] = ScoreIndex{ Index: idx, - CompareScore: v.CompareScore, + CompareScore: util.ParseScore64(float64(v.CompareScore)), } personIds = append(personIds,v.Id) } @@ -265,15 +278,14 @@ var dtApi dbapi.DbTableApi for _,p :=range dbpersons { var dbP = DbPersonVo { - PersonId: p.Id, - IdCard: p.IdCard, - CompareScore: util.ParseScore(dbPersonM[p.Id].CompareScore), + TargetId: p.Id, + CompareScore: dbPersonM[p.Id].CompareScore, MonitorLevel: p.MonitorLevel, - PersonName: p.PersonName, - PersonPicUrl: p.PersonPicUrl, - PhoneNum: p.PhoneNum, - Sex: p.Sex, + TargetName: p.PersonName, + TargetPicUrl: p.PersonPicUrl, + Labels: p.PhoneNum+"/"+p.Sex+"/"+p.IdCard, TableId: p.TableId, + Content: p.Reserved, Enable: p.Enable, } dbTableInfos, _ := dtApi.DbtablesById([]string{ p.TableId }) @@ -294,23 +306,20 @@ return nil } logger.Debug("captureIds:",strings.Join(captureIds,",")) - videopersons, _ := esApi.Videopersonsinfosbyid(captureIds, config.EsInfo.EsIndex.VideoPersons.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) - logger.Debug("comp videoPersons.len:",len(videopersons)) - for _,vp :=range videopersons { - isAlarmInt, _ := strconv.Atoi(vp.IsAlarm) - bi := make([]DbPersonVo,0) + aiTargets, _ := esApi.AIOceaninfosbyid(captureIds, config.EsInfo.EsIndex.AiOcean.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) + logger.Debug("comp aiTargets.len:",len(aiTargets)) + for _,vp :=range aiTargets { + var bi []DbPersonVo for _,p :=range vp.BaseInfo { bi = append(bi, DbPersonVo{ - PersonId: p.PersonId, - IdCard: p.IdCard, - CompareScore: util.ParseScore(p.CompareScore), - MonitorLevel: parseMonitorLevel(p.MonitorLevel), - PersonName: p.PersonName, - PersonPicUrl: p.PersonPicUrl, - PhoneNum: p.PhoneNum, - Sex: p.Sex, + TargetId: p.TargetId, + CompareScore: util.ParseScore64(p.CompareScore), + MonitorLevel: p.MonitorLevel, + TargetName: p.TargetName, + TargetPicUrl: p.TargetPicUrl, + Labels: p.Labels, TableId: p.TableId, - BwType: strconv.Itoa(int(p.BwType)), + BwType: p.BwType, TableName: p.TableName, }) } @@ -327,18 +336,41 @@ }) } } + var ti = make([]TargetInfo,0) + if vp.TargetInfo !=nil { + for _,vti :=range vp.TargetInfo { + tl := protomsg.Location{ + X: vti.TargetLocation.TopLeft.X, + Y: vti.TargetLocation.TopLeft.Y, + } + br := protomsg.Location{ + X: vti.TargetLocation.BottomRight.X, + Y: vti.TargetLocation.BottomRight.Y, + } + tInfo := TargetInfo{ + TargetId: vti.TargetId, + TargetType: vti.TargetType, + TargetScore: vti.TargetScore, + Feature: vti.Feature, + PicSmUrl: vti.PicSmUrl, + TargetLocation: TargetLocation{ + TopLeft:tl, + BottomRight:br, + }, + } + ti = append(ti, tInfo) + } + } vpE := CompareResult{ Id: vp.Id, - CompareScore: util.ParseScore(captureM[vp.Id].CompareScore), + CompareScore: captureM[vp.Id].CompareScore, CameraId: vp.CameraId, + CameraName: vp.CameraName, CameraAddr: vp.CameraAddr, PicDate: vp.PicDate, PicMaxUrl: vp.PicMaxUrl, - PicSmUrl: vp.PicSmUrl, - IsAlarm: isAlarmInt, - Sex: vp.Sex, - AgeDescription: vp.AgeDescription, - Race: vp.Race, + TargetInfo: ti, + IsAlarm: vp.IsAlarm, TaskName: vp.TaskName, TaskId: vp.TaskId, VideoUrl: vp.VideoUrl, @@ -442,7 +474,7 @@ return } } else { - searchBase64Fea, err := esApi.GetVideoPersonFaceFeatureById(searchBody.CompTargetId, config.EsInfo.EsIndex.VideoPersons.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) + searchBase64Fea, err := esApi.GetVideoPersonFaceFeatureById(searchBody.CompTargetId, config.EsInfo.EsIndex.AiOcean.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort))) if err !=nil { util.ResponseFormat(c, code.ComError, "鎶撴媿鏁版嵁涓嶅瓨鍦紝璇锋鏌�") return @@ -493,8 +525,9 @@ } else { arg.TableIds = []string{} } + alarmLevelTypes := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(searchBody.AlarmLevel)), "[]"), " ", "\",\"", -1) arg.Source = true // 鏍囪瘑鏉ユ簮鏄痺eb - arg.AlarmLevel = searchBody.AlarmLevel + arg.AlarmLevel = alarmLevelTypes arg.Tasks = searchBody.Tasks arg.TreeNodes = searchBody.TreeNodes arg.Tabs = searchBody.Tabs @@ -579,8 +612,9 @@ } localConf, err := cache.GetServerInfo() if err ==nil && localConf.AlarmIp != "" && localConf.ServerId != "" { + alarmLevelTypes := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(searchBody.AlarmLevel)), "[]"), " ", "\",\"", -1) arg.Source = true // 鏍囪瘑鏉ユ簮鏄痺eb - arg.AlarmLevel = searchBody.AlarmLevel + arg.AlarmLevel = alarmLevelTypes arg.Tasks = searchBody.Tasks arg.TreeNodes = searchBody.TreeNodes arg.Tabs = searchBody.Tabs @@ -588,8 +622,8 @@ arg.InputValue = searchBody.InputValue arg.Collection = searchBody.Collection arg.AnalyServerId = localConf.ServerId - alarmLevelTypes := strings.Replace(strings.Trim(fmt.Sprint(getAlarmLevel(searchBody.AlarmLevel)), "[]"), " ", "\",\"", -1) - captureIds := esApi.GetAllLocalVideopersonsId(arg, config.EsInfo.EsIndex.VideoPersons.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)), alarmLevelTypes) + + captureIds := esApi.GetAllLocalVideopersonsId(arg, config.EsInfo.EsIndex.AiOcean.IndexName, localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)), alarmLevelTypes) logger.Debug("searchPhoto first Result.len:",len(*co.CompareData),"twice len(captureIds):",len(captureIds)) if captureIds !=nil { var aResult protomsg.SdkCompareResult @@ -807,7 +841,7 @@ // @Security ApiKeyAuth // @Summary 鎵归噺娣诲姞搴曞簱浜哄憳 // @Description 渚濇嵁鍥剧墖鎵归噺娣诲姞搴曞簱浜哄憳 -// @Accept mpfd +// @Accept multipart/form-data // @Produce json // @Tags dbperson 搴曞簱浜哄憳 // @Param files formData file[] true "澶氫釜搴曞簱浜哄憳鍥剧墖" @@ -827,10 +861,10 @@ } extNames := make([]string, 0) addResult := make(map[string]interface{}, 0) - var successList []string - var failList []string - var noFaceList []string - var multiFaceList []string + successList := make([]string,0) + failList := make([]string,0) + noFaceList := make([]string,0) + multiFaceList := make([]string,0) tAllStart := time.Now() var wg sync.WaitGroup var lock sync.Mutex @@ -898,7 +932,7 @@ // @Security ApiKeyAuth // @Summary 涓婁紶鍥剧墖 骞跺垏鍥� // @Description 涓婁紶鍥剧墖 骞跺垏鍥� -// @Accept mpfd +// @Accept multipart/form-data // @Produce json // @Tags dbperson 搴曞簱浜哄憳 // @Param file formData file true "搴曞簱浜哄憳鍥剧墖" -- Gitblit v1.8.0