| | |
| | | "time" |
| | | ) |
| | | |
| | | |
| | | func Parsesources(sources []map[string]interface{}) (multiInfos []*protomsg.MultiFeaCache) { |
| | | var ok bool |
| | | for _, source := range sources { |
| | |
| | | return |
| | | } |
| | | |
| | | //解析抓拍库人员结构 |
| | | // 解析抓拍库人员结构 |
| | | func AIOceanAnalysis(sources []map[string]interface{}) (tmpinfos []protomsg.AIOcean) { |
| | | var ok bool |
| | | for _, source := range sources { |
| | |
| | | return tmpinfos |
| | | } |
| | | |
| | | //解析底库人员结构 |
| | | // 解析底库人员结构 |
| | | func Dbpersonbyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbperson) { |
| | | var ok bool |
| | | |
| | |
| | | return tmpinfos |
| | | } |
| | | |
| | | //解析底库结构 |
| | | // 解析底库结构 |
| | | func Dbtablebyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbtable) { |
| | | var ok bool |
| | | |
| | |
| | | return allSource, nil |
| | | } |
| | | |
| | | func SourceDeduplication(buf [] byte) ([]map[string]interface{}, error) { |
| | | func SourceDeduplication(buf []byte) ([]map[string]interface{}, error) { |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | |
| | | return faceId, nil |
| | | } |
| | | |
| | | //解析聚合计数结构 |
| | | func SourceStatistics(buf [] byte) ([]map[string]interface{}, error) { |
| | | // 解析聚合计数结构 |
| | | func SourceStatistics(buf []byte) ([]map[string]interface{}, error) { |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | |
| | | return resultData, nil |
| | | } |
| | | |
| | | func SourceAggregations(buf [] byte, thresholdTime float64, queryUseTime float64) (sources map[string]interface{}, err error) { |
| | | func SourceAggregations(buf []byte, thresholdTime float64, queryUseTime float64) (sources map[string]interface{}, err error) { |
| | | s := make(map[string]interface{}) |
| | | loc, err := time.LoadLocation("Asia/Shanghai") |
| | | if err != nil { |
| | |
| | | return s, nil |
| | | } |
| | | |
| | | func SourceAggregationsReturnByGrouped(buf [] byte, thresholdTime float64) (sources []map[string]interface{}, err error) { |
| | | func SourceAggregationsReturnByGrouped(buf []byte, thresholdTime float64) (sources []map[string]interface{}, err error) { |
| | | loc, err := time.LoadLocation("Asia/Shanghai") |
| | | if err != nil { |
| | | return nil, errors.New("时区设置错误") |
| | |
| | | return sources, nil |
| | | } |
| | | |
| | | //解析抓拍库人员结构 |
| | | // 解析抓拍库人员结构 |
| | | func PerSonAnalysis(preData []map[string]interface{}) (sources []map[string]interface{}, err error) { |
| | | loc, err := time.LoadLocation("Asia/Shanghai") |
| | | if err != nil { |
| | |
| | | return -1, errors.New("first total change error!") |
| | | } |
| | | |
| | | tmp,b := middle["total"].(map[string]interface{}) |
| | | tmp, b := middle["total"].(map[string]interface{}) |
| | | if b != true { |
| | | v := middle["total"].(float64) |
| | | t := int(v) |
| | | return t,nil |
| | | return t, nil |
| | | } |
| | | value := tmp["value"].(float64) |
| | | total = int(value) |
| | | return total, nil |
| | | } |
| | | |
| | | func SourceAggregationList(buf []byte) (sources []map[string]interface{}, err error) { |
| | | var info interface{} |
| | | json.Unmarshal(buf, &info) |
| | | out, ok := info.(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("http response interface can not change map[string]interface{}") |
| | | } |
| | | |
| | | middle, ok := out["aggregations"].(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("first hits change error!") |
| | | } |
| | | |
| | | documentAggregations := middle["group_by_documentnumber"].(map[string]interface{}) |
| | | buckets := documentAggregations["buckets"].([]interface{}) |
| | | if len(buckets) == 0 { |
| | | return nil, nil |
| | | } |
| | | for _, in := range buckets { |
| | | tmpbuf, ok := in.(map[string]interface{}) |
| | | if !ok { |
| | | return nil, errors.New("") |
| | | } |
| | | sources = append(sources, tmpbuf) |
| | | } |
| | | return sources, nil |
| | | } |
| | | |
| | | func EsReq(method string, url string, parama []byte) (buf []byte, err error) { |
| | |
| | | } |
| | | request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) |
| | | request.Header.Set("Content-type", "application/json") |
| | | request.Header.Set("Authorization",Token) |
| | | request.Header.Set("Authorization", Token) |
| | | |
| | | if err != nil { |
| | | fmt.Println("build request fail !") |
| | |
| | | // 赋值时检测是否能够赋值 |
| | | //func //Isnil(key string, ok bool){ |
| | | // if !ok { |
| | | // fmt.Println(key, "is nil can not asign") |
| | | // fmt.Println(key, "is nil can not asign") |
| | | // } |
| | | //} |
| | | |
| | | type account struct { |
| | | Username string `mapstructure: "username"` |
| | | Username string `mapstructure: "username"` |
| | | Userpassword string `mapstructure: "userpassword"` |
| | | } |
| | | |
| | | |
| | | var Account = &account{} |
| | | |
| | |
| | | v.AddConfigPath("/opt/vasystem/config/") |
| | | err := v.ReadInConfig() |
| | | if err != nil { |
| | | log.Fatal("err on parsing configuration file!",err) |
| | | log.Fatal("err on parsing configuration file!", err) |
| | | } |
| | | v.UnmarshalKey("es.account",Account) |
| | | v.UnmarshalKey("es.account", Account) |
| | | |
| | | Token = "Basic "+base64.StdEncoding.EncodeToString([]byte(Account.Username+":"+Account.Userpassword)) |
| | | Token = "Basic " + base64.StdEncoding.EncodeToString([]byte(Account.Username+":"+Account.Userpassword)) |
| | | } |