From 7aa0acccfcd2a078c7ca163f4bd8fb4b71600aae Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 27 七月 2020 19:08:38 +0800 Subject: [PATCH] use hik data --- service/carService.go | 106 ++++++++++++++++++++++++----------------------------- 1 files changed, 48 insertions(+), 58 deletions(-) diff --git a/service/carService.go b/service/carService.go index 84f1ecb..3a6788a 100644 --- a/service/carService.go +++ b/service/carService.go @@ -6,7 +6,6 @@ "encoding/json" "fmt" "github.com/astaxie/beego" - "strconv" ) type CarService struct { hikUtil *reqUtil.HikHttpUtil @@ -22,25 +21,29 @@ } } -func (sv *CarService) Statistic() *models.CarStatistic { +func (sv *CarService) Statistic() (*models.CarStatistic, bool) { m := models.CarStatistic{ - Left: 0, + TotalPermPlace: 0, + Left: 0, } parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 fmt.Println("parkList:", parkList) + flag := false if parkList != nil { + flag = true for _,p := range parkList { remainList := sv.getRemainSpaceNum(p.ParkIndexCode) fmt.Println("remainList:", remainList) if remainList != nil { for _,r := range remainList { m.Left += r.LeftPlace + m.TotalPermPlace += r.LeftPermPlace } } } } - return &m + return &m, flag } type ParkInfo struct { @@ -153,62 +156,49 @@ func (sv *CarService) FindSpaceNo() models.PosResult { resultList := make(models.PosResult,0) - for k,_ := range models.SpaceNo2Pos { - st := 0 - i, _ := strconv.Atoi(k) - if i >= 50 && i <=60 { - st = 1 - } - resultList = append(resultList, models.PosInfo { - SpaceNo: k, - PosNo: "", - State: st, - PlateNo: "", - }) - } //鍏堟煡杞﹀簱鍞竴鏍囪瘑 - //parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 - //fmt.Println("parkList:", parkList) - //if parkList != nil { - // url := "/api/pms/v1/parkingSpace/spaceNo" - // for _,p := range parkList { - // reqBody := map[string]interface{} { - // "parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 - // "spaceNos": "", //杞︿綅鍙凤紝澶氫釜鐢ㄩ�楀彿闅斿紑 - // "state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� - // "bindCars": "", //缁戝畾鐨勮溅杈嗚溅鐗屽彿锛屽涓敤閫楀彿闅斿紑 - // "pageNo": 1, - // "pageSize": 1000, - // } - // result := sv.hikUtil.Post(url, reqBody) - // if result.Code == reqUtil.HikResult_Success { - // rb, err := json.Marshal(result.Data) - // if err != nil { - // fmt.Println("hik find spaceNo 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, - // PlateNo: s.PlateNos, - // } - // if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok { - // pi.PosNo = v - // } - // resultList = append(resultList, pi) - // } - // } - // } - //} + parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 + fmt.Println("parkList:", parkList) + if parkList != nil { + url := "/api/pms/v1/parkingSpace/spaceNo" + for _,p := range parkList { + reqBody := map[string]interface{} { + "parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 + "spaceNos": "", //杞︿綅鍙凤紝澶氫釜鐢ㄩ�楀彿闅斿紑 + "state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� + "bindCars": "", //缁戝畾鐨勮溅杈嗚溅鐗屽彿锛屽涓敤閫楀彿闅斿紑 + "pageNo": 1, + "pageSize": 1000, + } + result := sv.hikUtil.Post(url, reqBody) + if result.Code == reqUtil.HikResult_Success { + rb, err := json.Marshal(result.Data) + if err != nil { + fmt.Println("hik find spaceNo 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, + PlateNo: s.PlateNos, + } + if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok { + pi.PosNo = v + } + resultList = append(resultList, pi) + } + } + } + } return resultList } -- Gitblit v1.8.0