chenshijun
2020-08-10 183f937f469c0f81885bb2e8a44a2cf7eaad9518
service/carService.go
@@ -28,22 +28,17 @@
      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
            }
         }
      }
   }
   return &m, flag
   remainList := sv.getRemainSpaceNum("")
   if remainList != nil {
      for _,r:=range remainList {
         m.TotalPermPlace += r.TotalPermPlace
         m.Left += r.LeftPlace
      }
      return &m, true
   } else {
      return &m, false
   }
}
type ParkInfo struct {
@@ -142,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"`
}
@@ -156,53 +152,52 @@
         //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 {
         isMine := false
         if _,exist := myPlateNosMap[s.PlateNos]; exist {
            isMine = true
         }
         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)
            }
         pi := models.PosInfo {
            SpaceNo: s.SpaceNo,
            PosNo: "",
            State: s.State,
            IsMine: isMine,
         }
      //}
   //}
         if s.PlateNo != "" {
            pi.PlateNo = s.PlateNo
         } else if s.PlateNos != "" {
            pi.PlateNo = s.PlateNos
         }
         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 {