From 467880f0ce1dd1778b5e9bc92631f970b6b3aa98 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期一, 07 九月 2020 10:49:51 +0800
Subject: [PATCH] add testNightPush

---
 service/msgPush.go |   63 +++++++++++++++++++++++++++++++
 routers/router.go  |    1 
 controllers/car.go |   24 ++++++++++++
 3 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/controllers/car.go b/controllers/car.go
index 22aeaa6..9f50298 100644
--- a/controllers/car.go
+++ b/controllers/car.go
@@ -243,6 +243,30 @@
 	c.ServeJSON()
 }
 
+// @router /testNightPush [get]
+func (c *CarController) TestNightPush() {
+	carOwnNames := service.GetLeftCarOwners()
+
+	//灏嗗叿浣撶殑杞︿富淇℃伅鎺ㄩ�佺粰绠$悊鍛�
+	if carOwnNames != nil && len(carOwnNames) >0 {
+		//鑾峰彇杞︿富濮撳悕
+		managerMsg := fmt.Sprintf("%s 鏈┒绂昏溅涓�: %s", time.Now().Format("2006-01-02 15:04:05"), strings.Join(carOwnNames, " "))
+		mb,me, managerArr := service.Push2Manager("鑲茶嫳涓鍋滆溅", managerMsg)
+		mLogE := models.Log{
+			Id: uuid.NewV4().String(),
+			CreateTime: time.Now().Format("2006-01-02 15:04:05"),
+			Result: mb,
+			Phones: strings.Join(managerArr, ","),
+		}
+		if me != nil {
+			mLogE.Content = me.Error()
+		} else {
+			mLogE.Content = managerMsg
+		}
+		mLogE.Insert()
+		fmt.Println("mb:", mb, "me:", me, "message:", managerMsg)
+	}
+}
 // @router /spaceInfo [get]
 func (c *CarController) SpaceInfo() {
 	sv := service.NewCarService()
diff --git a/routers/router.go b/routers/router.go
index e1f14f9..7606e6f 100644
--- a/routers/router.go
+++ b/routers/router.go
@@ -61,6 +61,7 @@
 	beego.Router(preApi+"/car/crossRecord", &controllers.CarController{}, "*:CrossRecord")
 	beego.Router(preApi+"/car/testPush", &controllers.CarController{}, "*:TestPush")
 
+	beego.Router(preApi+"/testNightPush", &controllers.CarController{}, "*:TestNightPush")
 	beego.Router(preApi+"/car/pushLog", &controllers.CarController{}, "*:PushLog")
 	beego.Router(preApi+"/car/spaceInfo", &controllers.CarController{}, "*:SpaceInfo")
 	beego.Router(preApi+"/car/spaceUser", &controllers.CarController{}, "*:SpaceUser")
diff --git a/service/msgPush.go b/service/msgPush.go
index 4b2d58d..41b2c2e 100644
--- a/service/msgPush.go
+++ b/service/msgPush.go
@@ -507,6 +507,69 @@
 	return b,e, aliasArr, carOwners
 }
 
+
+//姝ゆ柟娉曞仛娴嬭瘯浣跨敤
+//鑾峰彇鍋滅暀鍦ㄨ溅搴撳唴杞︿富鐨勫鍚嶏紝鎵句笉鍒板鍚嶈繑鍥炶繖鐗�
+func GetLeftCarOwners() []string {
+	var carOwners []string
+	pushUserM := make(map[string]string)
+	var userE models.User
+	allUsers, _ := userE.GetAllUsers()
+	if allUsers != nil {
+		for _,u := range allUsers {
+			pushUserM[u.Id] = u.PhoneNum
+		}
+	}
+
+	carPersonM := make(map[string]string)
+	csv := NewCarService()
+	carPersons := csv.GetVehicleListByPerson("")
+	if carPersons != nil {
+		for _, cp := range carPersons {
+			cnPlateNo := preDealPlateNo(cp.PlateNo)
+			if cnPlateNo != "" {
+				carPersonM[cnPlateNo] = cp.PersonId
+			}
+		}
+	}
+	//澶滈棿鏌愪簺棰嗗鐨勮溅鍙互鍋滃湪杞﹀簱鍐�
+	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)
+				}
+			}
+		}
+	}
+
+	hikPersonMap := csv.GetHikPersonMap()
+
+	spaceNos := csv.FindSpaceNo("")
+	for _,sn := range spaceNos {
+		if sn.State == 1 { //杞﹀皻鍦ㄥ仠杞﹀満鐨勮溅鐗�
+			inCnPlateNo := preDealPlateNo(sn.PlateNo)
+			if inCnPlateNo != "" {
+				if !isVipCar(inCnPlateNo, vipPlateNoArr) {
+					if personId,ok := carPersonM[inCnPlateNo];ok {
+
+						if v,ex := hikPersonMap[personId]; ex {
+							carOwners = append(carOwners, v.PersonName)
+						}
+					} else { //鎵句笉鍒拌溅涓伙紝鍗宠涓轰复鏃惰溅锛屽皢杞︾墝浣滀负杞︿富濮撳悕鎺ㄩ��
+						carOwners = append(carOwners, sn.PlateNo)
+					}
+				}
+			}
+		}
+	}
+
+	return carOwners
+}
+
 //vip杞︿富锛屼笉鎺ユ敹璇风寮�鐨勯�氱煡锛屼篃涓嶉�氱煡绠$悊鍛樿繖涓溅杩樺湪杞﹀簱鍐�
 func isVipCar(targetPlateNo string, vipPlateNoArr []string) bool {
 	b := false

--
Gitblit v1.8.0