From 62f5b98dc2c8084bcab1cf91edf7923d84b56c1c Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 17 八月 2020 19:57:45 +0800 Subject: [PATCH] fix ret --- service/carService.go | 70 +++++++++++++++++++++++++++++----- 1 files changed, 59 insertions(+), 11 deletions(-) diff --git a/service/carService.go b/service/carService.go index c59f8ab..3e8e228 100644 --- a/service/carService.go +++ b/service/carService.go @@ -142,6 +142,38 @@ SpaceType string `json:"spaceType"` } +func (sv *CarService) FindHikSpaceInfo() []SpaceNo { + url := "/artemis/api/pms/v1/parkingSpace/spaceNo" + + reqBody := map[string]interface{} { + "pageNo": 1, + "pageSize": 1000, + } + pageResult := sv.getHikPageResult(url, reqBody) + 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 + } else { + var resultArr []SpaceNo + for _,si := range spaceList { + if si.State == 1 { //鏈夎溅 + resultArr = append(resultArr, si) + } + } + return resultArr + } + } + return nil +} + func (sv *CarService) FindSpaceNo(userId string) models.PosResult { resultList := make(models.PosResult,0) var myPlateNosMap = make(map[string]string) @@ -179,21 +211,22 @@ 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, - IsMine: isMine, } 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 } @@ -302,20 +335,32 @@ return list } -func SyncHikPerson() { +func SyncHikPerson() int { + syncCount := 0 sv := NewCarService() hikPersons := sv.GetHikPersonList() - if hikPersons != nil { + if hikPersons != nil && len(hikPersons) >0 { var u models.User - uMap := u.GetAllMapByPhone() + idMap := u.GetAllMap() + hikPM := make(map[string]string) for _,hp := range hikPersons { - if sp,ok := uMap[hp.PhoneNo];ok { - if sp.Id != hp.PersonId { - u.SyncHikPersonId(hp.PhoneNo, hp.PersonId) + 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 { @@ -372,6 +417,7 @@ } pageResult := sv.getHikPageResult(url, reqBody) if pageResult ==nil { + fmt.Println("GetVehicleListByPerson pageResult is nil") return nil } @@ -380,6 +426,8 @@ var list []HikVehicle if err = json.Unmarshal(b, &list);err == nil { return list + } else { + fmt.Println("unmarshal err:", err) } } -- Gitblit v1.8.0