From 9358e5ec2d2b65fec4ef9a1be7d1a1e1e2cf9d2d Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期一, 10 八月 2020 16:31:34 +0800
Subject: [PATCH] new push schedule

---
 service/carService.go |  154 ++++++++++++++++++++++++---------------------------
 1 files changed, 73 insertions(+), 81 deletions(-)

diff --git a/service/carService.go b/service/carService.go
index b813db6..318e706 100644
--- a/service/carService.go
+++ b/service/carService.go
@@ -16,8 +16,8 @@
 func NewCarService() *CarService {
 	return &CarService{
 		hikUtil: &reqUtil.HikHttpUtil{
-			AppKey: hikAppKey,
-			AppSecret: hikAppSecret,
+			AppKey: beego.AppConfig.String("hikAppKey"),
+			AppSecret: beego.AppConfig.String("hikAppSecret"),
 			ReqHost: beego.AppConfig.String("hikUrl"),
 		},
 	}
@@ -25,25 +25,20 @@
 
 func (sv *CarService) Statistic() (*models.CarStatistic, bool) {
 	m := models.CarStatistic{
-		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
-				}
-			}
-		}
+		TotalPlace: 0,
+		Left:       0,
 	}
 
-	return &m, flag
+	remainList := sv.getRemainSpaceNum("")
+	if remainList != nil {
+		for _,r:=range remainList {
+			m.TotalPlace += r.TotalPlace
+			m.Left += r.LeftPlace
+		}
+		return &m, true
+	} else {
+		return &m, false
+	}
 }
 
 type ParkInfo struct {
@@ -53,11 +48,6 @@
 	CreateTime 				string 			`json:"createTime"`
 	UpdateTime 				string 			`json:"updateTime"`
 }
-
-var (
-	hikAppKey = "27107808"
-	hikAppSecret = "BEQiCoBTYcJX2d4KzbVK"
-)
 
 
 //鑾峰彇娴峰悍鍋滆溅搴撳垪琛�
@@ -94,12 +84,12 @@
 	ParkSysCode 			string 			`json:"parkSyscode"`        //鍋滆溅搴撳敮涓�鏍囪瘑鐮�
 	ParkName 				string 			`json:"parkName"`           //鍋滆溅搴撳悕绉�
 	ParentParkSyscode 		string 			`json:"parentParkSyscode"`  //鐖跺仠杞﹀簱鍞竴鏍囪瘑
-	TotalPlace 				int 			`json:"totalPlace"`        //鍋滆溅搴撹溅浣嶆�绘暟
-	TotalPermPlace 			int 			`json:"totalPermPlace"`    //鍋滆溅搴撳浐瀹氳溅浣嶆�绘暟
-	TotalReservePlace 		int 			`json:"totalReservePlace"` //鍋滆溅浣嶉绾﹁溅浣嶆�绘暟
-	LeftPlace 				int 			`json:"leftPlace"`     //鍋滆溅搴撹溅浣嶅墿浣欐暟
-	LeftPermPlace 			int 			`json:"leftPermPlace"` //鍋滆溅搴撳浐瀹氳溅浣嶅墿浣欐暟
-	LeftReservePlace 		int 			`json:"leftReservePlace"` //鍋滆溅搴撻绾﹁溅浣嶅墿浣欐暟
+	TotalPlace 				int 			`json:"totalPlace"`         //鍋滆溅搴撹溅浣嶆�绘暟
+	TotalPermPlace 			int 			`json:"totalPermPlace"`     //鍋滆溅搴撳浐瀹氳溅浣嶆�绘暟
+	TotalReservePlace 		int 			`json:"totalReservePlace"`  //鍋滆溅浣嶉绾﹁溅浣嶆�绘暟
+	LeftPlace 				int 			`json:"leftPlace"`     	    //鍋滆溅搴撹溅浣嶅墿浣欐暟
+	LeftPermPlace 			int 			`json:"leftPermPlace"`      //鍋滆溅搴撳浐瀹氳溅浣嶅墿浣欐暟
+	LeftReservePlace 		int 			`json:"leftReservePlace"`   //鍋滆溅搴撻绾﹁溅浣嶅墿浣欐暟
 }
 
 func (sv *CarService) getRemainSpaceNum(parkIndexCode string) []RemainSpaceResult {
@@ -147,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"`
 }
@@ -154,60 +145,61 @@
 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)
+	if userId !="" {
+		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 {
-		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 {
@@ -357,7 +349,7 @@
 	url := "/artemis/api/resource/v2/vehicle/advance/vehicleList"
 	reqBody := map[string]interface{} {
 		"pageNo": 1,
-		"pageSize": 100,
+		"pageSize": 1000,
 		"personIds": personId,
 	}
 	pageResult := sv.getHikPageResult(url, reqBody)

--
Gitblit v1.8.0