From 9f13dc7cb079f2a82c888df2f90717aa02f3fa68 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期二, 28 七月 2020 15:55:30 +0800 Subject: [PATCH] fix photo to photoNum --- service/carService.go | 147 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 143 insertions(+), 4 deletions(-) diff --git a/service/carService.go b/service/carService.go index a5ecfb6..5246d29 100644 --- a/service/carService.go +++ b/service/carService.go @@ -3,6 +3,7 @@ import ( reqUtil "car-service/extend/util" "car-service/models" + "car-service/vo" "encoding/json" "fmt" "github.com/astaxie/beego" @@ -159,9 +160,7 @@ for _,p := range parkList { reqBody := map[string]interface{} { "parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 - "spaceNos": "", //杞︿綅鍙凤紝澶氫釜鐢ㄩ�楀彿闅斿紑 - "state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� - "bindCars": "", //缁戝畾鐨勮溅杈嗚溅鐗屽彿锛屽涓敤閫楀彿闅斿紑 + //"state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� "pageNo": 1, "pageSize": 1000, } @@ -199,7 +198,7 @@ } func (sv *CarService) BindCarSpace() bool { - url := "/api/pms/v1/parking_space/car_bind/add" + url := "/artemis/api/pms/v1/parking_space/car_bind/add" reqBody := map[string]interface{} { "spaceNos": "", //缁戝畾鐨勮溅浣嶉泦 "floorSyscode": "",//妤煎眰鍞竴鏍囪瘑鐮� @@ -207,4 +206,144 @@ } fmt.Println(url, reqBody) return true +} + +type HikPerson struct { + PersonId string `json:"personId"` + PersonName string `json:"personName"` + Gender int `json:"gender"` + PhoneNo string `json:"phoneNo"` + JobNo string `json:"jobNo"` + OrgIndexCode string `json:"orgIndexCode"` + CertificateType string `json:"certificateCode"` + CertificateNo string `json:"certificateNo"` + CreateTime string `json:"createTime"` + UpdateTime string `json:"updateTime"` + OrgPath string `json:"orgPath"` + OrgPathName string `json:"orgPathName"` + PersonPhone []HikPersonPhoto `json:"personPhoto"` +} + +type HikPersonPhoto struct { + PersonPhotoIndexCode string `json:"personPhotoIndexCode"` + PicUri string `json:"picUri"` + ServerIndexCode string `json:"serverIndexCode"` + PersonId string `json:"personId"` +} + +func (sv *CarService) GetHikPersonList() []HikPerson { + url := "/artemis/api/resource/v2/person/personList" + pageSize := 1000 + reqBody := map[string]interface{} { + "pageNo": 1, + "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 list +} + +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 pageResult vo.HikPageResult + if err = json.Unmarshal(b, &pageResult); err == nil { + return &pageResult + } else { + fmt.Println("unmarshal pageResult err:", err) + } + } else { + fmt.Println("marshal result.Data err:", err) + } + } else { + fmt.Println("result.Code:", result.Code) + } + return nil +} + +type HikVehicle struct { + VehicleId string `json:"vehicleId"` + PlateNo string `json:"plateNo"` + PersonId string `json:"personId"` + RegionIndexCode string `json:"regionIndexCode"` + PlateType int `json:"plateType"` + PlateColor int `json:"plateColor"` + VehicleType int `json:"vehicleType"` + VehicleColor int `json:"vehicleColor"` + Description string `json:"description"` + CreateTime string `json:"createTime"` + UpdateTime string `json:"updateTime"` + RegionName string `json:"regionName"` + RegionPath string `json:"regionPath"` + RegionPathName string `json:"regionPathName"` + IsBandPerson int `json:"isBandPerson"` + PersonName string `json:"personName"` + OrgPath string `json:"orgPath"` + OrgPathName string `json:"orgPathName"` +} + +//鑾峰彇鎸囧畾浜哄憳鐨勮溅杈嗚溅鐗屼俊鎭� +func (sv *CarService) GetVehicleListByPerson(personId string) []HikVehicle { + url := "/artemis/api/resource/v2/vehicle/advance/vehicleList" + reqBody := map[string]interface{} { + "pageNo": 1, + "pageSize": 100, + "personIds": personId, + } + fmt.Println(url, reqBody) + result := sv.hikUtil.Post(url, reqBody) + fmt.Println("getVehicleList result:", result) + if result.Code == reqUtil.HikResult_Success { + b, err := json.Marshal(result.Data) + if err == nil { + var list []HikVehicle + if err = json.Unmarshal(b, &list);err == nil { + return list + } + } + } + return nil } \ No newline at end of file -- Gitblit v1.8.0