From dbc843d0b37f786fb816131bcc7ebca86dbe72e9 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期四, 06 八月 2020 09:58:46 +0800 Subject: [PATCH] add crossRecord --- service/carService.go | 84 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81 insertions(+), 3 deletions(-) diff --git a/service/carService.go b/service/carService.go index 99f5e93..b813db6 100644 --- a/service/carService.go +++ b/service/carService.go @@ -7,6 +7,7 @@ "encoding/json" "fmt" "github.com/astaxie/beego" + "strconv" ) type CarService struct { hikUtil *reqUtil.HikHttpUtil @@ -150,9 +151,17 @@ SpaceType string `json:"spaceType"` } -func (sv *CarService) FindSpaceNo() models.PosResult { +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) + } + } + //bindCars := strings.Join(myPlateNos, ",") //鍏堟煡杞﹀簱鍞竴鏍囪瘑 //parkList := sv.getHikParkList() //鍏堟煡鏈夊嚑涓仠杞﹀満 //if parkList != nil { @@ -161,6 +170,7 @@ reqBody := map[string]interface{} { //"parkSyscode": p.ParkIndexCode,//鍋滆溅搴撳敮涓�鏍囪瘑 //"state": 1, //杞︿綅鐘舵�侊紝0锛氱┖闂诧紝1锛氬仠杞� + //"bindCars": bindCars, "pageNo": 1, "pageSize": 1000, } @@ -179,11 +189,16 @@ 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 @@ -193,6 +208,18 @@ } //} //} + if len(resultList) == 0 { + for i:=1;i<91;i++ { + pi := models.PosInfo { + SpaceNo: strconv.Itoa(i), + PosNo: "", + State: 1, + PlateNo: "", + IsMine: false, + } + resultList = append(resultList, pi) + } + } return resultList } @@ -299,7 +326,7 @@ fmt.Println("marshal result.Data err:", err) } } else { - fmt.Println("result.Code:", result.Code) + fmt.Println("result:", result) } return nil } @@ -347,4 +374,55 @@ } return nil +} + +//杩囪溅璁板綍 +type CrossRecord struct { + CrossRecordSyscode string `json:"crossRecordSyscode"` + parkSyscode string `json:"parkSyscode"` + ParkName string `json:"parkName"` + EntranceSyscode string `json:"entranceSyscode"` + EntranceName string `json:"entranceName"` + RoadwaySyscode string `json:"roadwaySyscode"` + RoadwayName string `json:"roadwayName"` + VehicleOut int `json:"vehicleOut"` + ReleaseMode int `json:"releaseMode"` + ReleaseResult int `json:"releaseResult"` + ReleaseWay int `json:"releaseWay"` + ReleaseReason int `json:"releaseReason"` + PlateNo string `json:"plateNo"` + CardNo string `json:"cardNo"` + //VehicleColor int `json:"vehicleColor"` + //VehicleType int `json:"vehicleType"` + //PlateColor int `json:"plateColor"` + //PlateType int `json:"plateType"` + //CarCategory string `json:"carCategory"` + //CarCategoryName string `json:"carCategoryName"` + VehiclePicUri string `json:"vehiclePicUri"` + PlateNoPicUri string `json:"plateNoPicUri"` + FacePicUri string `json:"facePicUri"` + AswSyscode string `json:"aswSyscode"` + CrossTime string `json:"crossTime"` + CreateTime string `json:"createTime"` +} + +func (sv *CarService) CrossRecords() []CrossRecord { + url := "/artemis/api/pms/v1/crossRecords/page" + reqBody := map[string]interface{} { + "pageNo": 1, + "pageSize": 100, + } + pageResult := sv.getHikPageResult(url, reqBody) + if pageResult ==nil { + return nil + } + b, err := json.Marshal(pageResult.List) + if err == nil { + var list []CrossRecord + if err = json.Unmarshal(b, &list);err == nil { + return list + } + } + + return nil } \ No newline at end of file -- Gitblit v1.8.0