| | |
| | | import ( |
| | | reqUtil "car-service/extend/util" |
| | | "car-service/models" |
| | | "car-service/vo" |
| | | "encoding/json" |
| | | "fmt" |
| | | "github.com/astaxie/beego" |
| | |
| | | |
| | | func (sv *CarService) GetHikPersonList() []HikPerson { |
| | | url := "/artemis/api/resource/v2/person/personList" |
| | | pageSize := 1000 |
| | | reqBody := map[string]interface{} { |
| | | "pageNo": 1, |
| | | "pageSize": 1000, |
| | | "pageSize": pageSize, |
| | | } |
| | | pageResult := sv.getHikPageResult(url, reqBody) |
| | | if pageResult == nil { |
| | | return nil |
| | | } |
| | | b,err := json.Marshal(pageResult.List) |
| | | if err != nil { |
| | | fmt.Println("marshal pageResult.List err:", err) |
| | | return nil |
| | | } |
| | | var list []HikPerson |
| | | if err = json.Unmarshal(b, &list);err != nil { |
| | | fmt.Println("unmarshal err:", err) |
| | | return nil |
| | | } |
| | | if pageResult.Total > pageSize { |
| | | times := pageResult.Total / pageSize |
| | | if pageResult.Total % pageSize > 0 { |
| | | times++ |
| | | } |
| | | for i:=1;i<times;i++ { |
| | | tpr := sv.getHikPageResult(url, map[string]interface{}{ |
| | | "pageNo": i+1, |
| | | "pageSize": pageSize, |
| | | }) |
| | | if tpr != nil { |
| | | tb,e := json.Marshal(tpr.List) |
| | | if e != nil { |
| | | fmt.Println("marshal tpr.List err:", e) |
| | | continue |
| | | } |
| | | var tprList []HikPerson |
| | | if e = json.Unmarshal(tb, &tprList);e ==nil { |
| | | list = append(list, tprList...) |
| | | } else { |
| | | fmt.Println("unmarshal tprList err:", e) |
| | | } |
| | | } else { |
| | | fmt.Println("total:", pageResult.Total, "tpr is nil") |
| | | } |
| | | } |
| | | } |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (sv *CarService) getHikPageResult(url string, reqBody map[string]interface{}) *vo.HikPageResult { |
| | | fmt.Println(url, reqBody) |
| | | result := sv.hikUtil.Post(url, reqBody) |
| | | if result.Code == reqUtil.HikResult_Success { |
| | | b, err := json.Marshal(result.Data) |
| | | if err == nil { |
| | | var list []HikPerson |
| | | if err = json.Unmarshal(b, &list);err == nil { |
| | | return list |
| | | var pageResult vo.HikPageResult |
| | | if err = json.Unmarshal(b, &pageResult); err == nil { |
| | | return &pageResult |
| | | } else { |
| | | fmt.Println("unmarshal err:", err) |
| | | fmt.Println("unmarshal pageResult err:", err) |
| | | } |
| | | } else { |
| | | fmt.Println("marshal err:", err) |
| | | fmt.Println("marshal result.Data err:", err) |
| | | } |
| | | } else { |
| | | fmt.Println("result.Code:", result.Code) |
| | | } |
| | | return nil |
| | | } |