From bae4af47f77a195a12a0437584d667465e826e12 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 17 八月 2020 16:09:28 +0800 Subject: [PATCH] add log --- service/carService.go | 190 +++++++++++++++++++++++++++-------------------- 1 files changed, 108 insertions(+), 82 deletions(-) diff --git a/service/carService.go b/service/carService.go index b813db6..3fdff76 100644 --- a/service/carService.go +++ b/service/carService.go @@ -16,8 +16,8 @@ func NewCarService() *CarService { return &CarService{ hikUtil: &reqUtil.HikHttpUtil{ - AppKey: hikAppKey, - AppSecret: hikAppSecret, + AppKey: beego.AppConfig.String("hikAppKey"), + AppSecret: beego.AppConfig.String("hikAppSecret"), ReqHost: beego.AppConfig.String("hikUrl"), }, } @@ -25,25 +25,20 @@ func (sv *CarService) Statistic() (*models.CarStatistic, bool) { m := models.CarStatistic{ - TotalPermPlace: 0, - Left: 0, - } - parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 - flag := false - if parkList != nil { - flag = true - for _,p := range parkList { - remainList := sv.getRemainSpaceNum(p.ParkIndexCode) - if remainList != nil { - for _,r := range remainList { - m.Left += r.LeftPlace - m.TotalPermPlace += r.LeftPermPlace - } - } - } + TotalPlace: 0, + Left: 0, } - return &m, flag + remainList := sv.getRemainSpaceNum("") + if remainList != nil { + for _,r:=range remainList { + m.TotalPlace += r.TotalPlace + m.Left += r.LeftPlace + } + return &m, true + } else { + return &m, false + } } type ParkInfo struct { @@ -53,11 +48,6 @@ CreateTime string `json:"createTime"` UpdateTime string `json:"updateTime"` } - -var ( - hikAppKey = "27107808" - hikAppSecret = "BEQiCoBTYcJX2d4KzbVK" -) //鑾峰彇娴峰悍鍋滆溅搴撳垪琛� @@ -94,12 +84,12 @@ ParkSysCode string `json:"parkSyscode"` //鍋滆溅搴撳敮涓�鏍囪瘑鐮� ParkName string `json:"parkName"` //鍋滆溅搴撳悕绉� ParentParkSyscode string `json:"parentParkSyscode"` //鐖跺仠杞﹀簱鍞竴鏍囪瘑 - TotalPlace int `json:"totalPlace"` //鍋滆溅搴撹溅浣嶆�绘暟 - TotalPermPlace int `json:"totalPermPlace"` //鍋滆溅搴撳浐瀹氳溅浣嶆�绘暟 - TotalReservePlace int `json:"totalReservePlace"` //鍋滆溅浣嶉绾﹁溅浣嶆�绘暟 - LeftPlace int `json:"leftPlace"` //鍋滆溅搴撹溅浣嶅墿浣欐暟 - LeftPermPlace int `json:"leftPermPlace"` //鍋滆溅搴撳浐瀹氳溅浣嶅墿浣欐暟 - LeftReservePlace int `json:"leftReservePlace"` //鍋滆溅搴撻绾﹁溅浣嶅墿浣欐暟 + TotalPlace int `json:"totalPlace"` //鍋滆溅搴撹溅浣嶆�绘暟 + TotalPermPlace int `json:"totalPermPlace"` //鍋滆溅搴撳浐瀹氳溅浣嶆�绘暟 + TotalReservePlace int `json:"totalReservePlace"` //鍋滆溅浣嶉绾﹁溅浣嶆�绘暟 + LeftPlace int `json:"leftPlace"` //鍋滆溅搴撹溅浣嶅墿浣欐暟 + LeftPermPlace int `json:"leftPermPlace"` //鍋滆溅搴撳浐瀹氳溅浣嶅墿浣欐暟 + LeftReservePlace int `json:"leftReservePlace"` //鍋滆溅搴撻绾﹁溅浣嶅墿浣欐暟 } func (sv *CarService) getRemainSpaceNum(parkIndexCode string) []RemainSpaceResult { @@ -147,6 +137,7 @@ PlateNoPicUri string `json:"plateNoPicUri"` AswSyscode string `json:"aswSyscode"` PlateNos string `json:"plateNos"` + PlateNo string `json:"plateNo"` AlarmPlateNos string `json:"alarmPlateNos"` SpaceType string `json:"spaceType"` } @@ -154,60 +145,62 @@ func (sv *CarService) FindSpaceNo(userId string) models.PosResult { resultList := make(models.PosResult,0) var myPlateNosMap = make(map[string]string) - vehicles := sv.GetVehicleListByPerson(userId) - if vehicles != nil { - for _,veh := range vehicles { - myPlateNosMap[veh.PlateNo] = veh.PlateNo - //myPlateNos = append(myPlateNos, veh.PlateNo) + if userId !="" { + vehicles := sv.GetVehicleListByPerson(userId) + if vehicles != nil { + for _,veh := range vehicles { + myPlateNosMap[veh.PlateNo] = veh.PlateNo + //myPlateNos = append(myPlateNos, veh.PlateNo) + } } } - //bindCars := strings.Join(myPlateNos, ",") - //鍏堟煡杞﹀簱鍞竴鏍囪瘑 - //parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 - //if parkList != nil { - url := "/artemis/api/pms/v1/parkingSpace/spaceNo" - //for _,p := range parkList { - reqBody := map[string]interface{} { - //"parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 - //"state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� - //"bindCars": bindCars, - "pageNo": 1, - "pageSize": 1000, + + url := "/artemis/api/pms/v1/parkingSpace/spaceNo" + + reqBody := map[string]interface{} { + //"parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 + //"state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� + //"bindCars": bindCars, + "pageNo": 1, + "pageSize": 1000, + } + pageResult := sv.getHikPageResult(url, reqBody) + //fmt.Println("findSpaceNo pageResult:", pageResult) + if pageResult != nil { + rb, err := json.Marshal(pageResult.List) + if err != nil { + fmt.Println("marshal pageResult.List err:",err) + return nil + } + var spaceList []SpaceNo + err = json.Unmarshal(rb, &spaceList) + if err != nil { + fmt.Println("unmarshal spaceNos err:",err) + return nil + } + for _,s := range spaceList { + + pi := models.PosInfo { + SpaceNo: s.SpaceNo, + PosNo: "", + State: s.State, } - pageResult := sv.getHikPageResult(url, reqBody) - fmt.Println("findSpaceNo pageResult:", pageResult) - if pageResult != nil { - rb, err := json.Marshal(pageResult.List) - if err != nil { - fmt.Println("marshal pageResult.List err:",err) - return nil - } - var spaceList []SpaceNo - err = json.Unmarshal(rb, &spaceList) - if err != nil { - fmt.Println("unmarshal spaceNos err:",err) - return nil - } - for _,s := range spaceList { - isMine := false - if _,exist := myPlateNosMap[s.PlateNos]; exist { - isMine = true - } - pi := models.PosInfo { - SpaceNo: s.SpaceNo, - PosNo: "", - State: s.State, - PlateNo: s.PlateNos, - IsMine: isMine, - } - if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok { - pi.PosNo = v - } - resultList = append(resultList, pi) - } + if s.PlateNo != "" { + pi.PlateNo = s.PlateNo + } else if s.PlateNos != "" { + pi.PlateNo = s.PlateNos } - //} - //} + isMine := false + if _,exist := myPlateNosMap[pi.PlateNo]; exist { + isMine = true + } + pi.IsMine = isMine + if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok { + pi.PosNo = v + } + resultList = append(resultList, pi) + } + } if len(resultList) == 0 { for i:=1;i<91;i++ { pi := models.PosInfo { @@ -310,6 +303,34 @@ return list } +func SyncHikPerson() int { + syncCount := 0 + sv := NewCarService() + hikPersons := sv.GetHikPersonList() + if hikPersons != nil && len(hikPersons) >0 { + var u models.User + idMap := u.GetAllMap() + hikPM := make(map[string]string) + for _,hp := range hikPersons { + hikPM[hp.PersonId] = hp.PhoneNo + if sp,ok := idMap[hp.PersonId];ok { + if sp.PhoneNum != hp.PhoneNo { + u.UpdatePhoneNum(hp.PhoneNo, hp.PersonId) + syncCount++ + } + } + } + for k,_ := range idMap { + if _,in := hikPM[k];!in { + u.Delete(k) + syncCount++ + } + } + + } + return syncCount +} + func (sv *CarService) getHikPageResult(url string, reqBody map[string]interface{}) *vo.HikPageResult { fmt.Println(url, reqBody) result := sv.hikUtil.Post(url, reqBody) @@ -357,11 +378,14 @@ url := "/artemis/api/resource/v2/vehicle/advance/vehicleList" reqBody := map[string]interface{} { "pageNo": 1, - "pageSize": 100, - "personIds": personId, + "pageSize": 1000, + } + if personId != "" { + reqBody["personIds"] = personId } pageResult := sv.getHikPageResult(url, reqBody) if pageResult ==nil { + fmt.Println("GetVehicleListByPerson pageResult is nil") return nil } @@ -370,6 +394,8 @@ var list []HikVehicle if err = json.Unmarshal(b, &list);err == nil { return list + } else { + fmt.Println("unmarshal err:", err) } } -- Gitblit v1.8.0