| | |
| | | SpaceType string `json:"spaceType"` |
| | | } |
| | | |
| | | func (sv *CarService) FindHikSpaceInfo() []SpaceNo { |
| | | func (sv *CarService) FindHikSpaceInfo(userId string) []SpaceNo { |
| | | url := "/artemis/api/pms/v1/parkingSpace/spaceNo" |
| | | |
| | | reqBody := map[string]interface{} { |
| | |
| | | fmt.Println("unmarshal spaceNos err:", err) |
| | | return nil |
| | | } else { |
| | | curLoginManagerPhone := "" |
| | | personMap := sv.GetHikPersonMap() |
| | | if userId != "" { |
| | | if mm,ok := personMap[userId];ok { |
| | | curLoginManagerPhone = mm.PhoneNo |
| | | } |
| | | } |
| | | isSuper := false |
| | | if curLoginManagerPhone != "" { |
| | | superPhoneArr := strings.Split(beego.AppConfig.String("superManagerPhones"), ",") |
| | | if superPhoneArr != nil { |
| | | for _,sp := range superPhoneArr { |
| | | if sp == curLoginManagerPhone { //是超级管理员 |
| | | isSuper = true |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | vipPlateNoArr := getVipPlateNoArr() |
| | | |
| | | var resultArr []SpaceNo |
| | | for _,si := range spaceList { |
| | | if si.State == 1 { //有车 |
| | | resultArr = append(resultArr, si) |
| | | if isSuper { |
| | | resultArr = append(resultArr, si) |
| | | } else { |
| | | if isSpaceShow(vipPlateNoArr, si.PlateNo) { |
| | | resultArr = append(resultArr, si) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return resultArr |
| | |
| | | return sn1 < sn2 |
| | | } |
| | | |
| | | func (sv *CarService) FindHikSpaceUser() SpaceUserArr { |
| | | func (sv *CarService) FindHikSpaceUser(userId string) SpaceUserArr { |
| | | resultList := make(SpaceUserArr, 0) |
| | | url := "/artemis/api/pms/v1/parkingSpace/spaceNo" |
| | | reqBody := map[string]interface{} { |
| | |
| | | if len(spaceList) > 0 { //当前有停留车 |
| | | personMap := sv.GetHikPersonMap() |
| | | vehicleMap := sv.GetHikVehicleMap() |
| | | curLoginManagerPhone := "" |
| | | if userId != "" { |
| | | if mm,ok := personMap[userId];ok { |
| | | curLoginManagerPhone = mm.PhoneNo |
| | | } |
| | | } |
| | | isSuper := false |
| | | if curLoginManagerPhone != "" { |
| | | superPhoneArr := strings.Split(beego.AppConfig.String("superManagerPhones"), ",") |
| | | if superPhoneArr != nil { |
| | | for _,sp := range superPhoneArr { |
| | | if sp == curLoginManagerPhone { //是超级管理员 |
| | | isSuper = true |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | vipPlateNoArr := getVipPlateNoArr() |
| | | |
| | | for _,sp := range spaceList { |
| | | if sp.State == 1 { |
| | | su := SpaceUser{ |
| | |
| | | } else { |
| | | su.PlateNo = "无车牌" |
| | | } |
| | | resultList = append(resultList, su) |
| | | |
| | | if isSuper { |
| | | resultList = append(resultList, su) |
| | | } else { |
| | | if isSpaceShow(vipPlateNoArr, su.PlateNo) { |
| | | resultList = append(resultList, su) |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | sort.Sort(resultList) |
| | | return resultList |
| | | } |
| | | |
| | | func getVipPlateNoArr() []string { |
| | | var vipPlateNoArr []string |
| | | vipArr := strings.Split(beego.AppConfig.String("nightVipPlateNos"), ",") |
| | | if vipArr != nil && len(vipArr) >0 { |
| | | for _,po := range vipArr { |
| | | if po != "" { |
| | | cnPo := preDealPlateNo(po) |
| | | if cnPo != "" { |
| | | vipPlateNoArr = append(vipPlateNoArr, cnPo) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return vipPlateNoArr |
| | | } |
| | | |
| | | //白天和夜晚管理员都看不到vip车辆 |
| | | func isSpaceShow(vipPlateNoArr []string, spacePto string) bool { |
| | | if vipPlateNoArr != nil && len(vipPlateNoArr) >0 { |
| | | targetPto := preDealPlateNo(spacePto) |
| | | if isVipCar(targetPto, vipPlateNoArr) { //是vip车辆 |
| | | return false |
| | | } |
| | | } |
| | | |
| | | return true |
| | | } |
| | | |
| | | func (sv *CarService) FindSpaceNo(userId string) models.PosResult { |
| | |
| | | fmt.Println("unmarshal spaceNos err:",err) |
| | | return nil |
| | | } |
| | | vipPlateNoArr := getVipPlateNoArr() |
| | | for _,s := range spaceList { |
| | | pi := models.PosInfo { |
| | | SpaceNo: s.SpaceNo, |
| | |
| | | if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok { |
| | | pi.PosNo = v |
| | | } |
| | | resultList = append(resultList, pi) |
| | | if isSpaceShow(vipPlateNoArr, pi.PlateNo) { |
| | | resultList = append(resultList, pi) |
| | | } else { |
| | | pi.State = 0 |
| | | pi.PlateNo = "" |
| | | resultList = append(resultList, pi) |
| | | } |
| | | } |
| | | } |
| | | if len(resultList) == 0 { |