From f58d6c7e121dc6a16f6b1e12e5beba1e6ce1b992 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 08 九月 2020 15:11:05 +0800
Subject: [PATCH] Push2Manager add isTest

---
 service/msgPush.go |  129 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 119 insertions(+), 10 deletions(-)

diff --git a/service/msgPush.go b/service/msgPush.go
index 2bba79f..da1455a 100644
--- a/service/msgPush.go
+++ b/service/msgPush.go
@@ -186,6 +186,7 @@
 			"notification": {
 				"title": title,
 				"body": msg,
+				"big_text": msg,
 				"click_type": "intent",
 				"intent": intent,
 			},
@@ -193,7 +194,7 @@
 	}
 	iosPush := map[string]interface{}{
 		"type":"notify",
-		"payload":"鑲茶嫳涓鍋滆溅",
+		"payload": "鑲茶嫳涓鍋滆溅",
 		"aps":map[string]interface{}{
 			"alert":map[string]string{
 				"title": title,
@@ -450,6 +451,20 @@
 			}
 		}
 	}
+	//澶滈棿鏌愪簺棰嗗鐨勮溅鍙互鍋滃湪杞﹀簱鍐�
+	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("")
@@ -458,15 +473,23 @@
 		if sn.State == 1 { //杞﹀皻鍦ㄥ仠杞﹀満鐨勮溅鐗�
 			inCnPlateNo := preDealPlateNo(sn.PlateNo)
 			if inCnPlateNo != "" {
-				if personId,ok := carPersonM[inCnPlateNo];ok {
-					if phoneNum,ok := pushUserM[personId]; ok {
-						if uc.Exist(phoneNum) {
-							aliasArr = append(aliasArr, phoneNum)
+				if !isVipCar(inCnPlateNo, vipPlateNoArr) {
+					if personId,ok := carPersonM[inCnPlateNo];ok {
+						if phoneNum,ok := pushUserM[personId]; ok {
+							if uc.Exist(phoneNum) {
+								aliasArr = append(aliasArr, phoneNum)
+							}
 						}
-					}
 
-					if v,ex := hikPersonMap[personId]; ex {
-						carOwners = append(carOwners, v.PersonName)
+						if v,ex := hikPersonMap[personId]; ex {
+							carOwners = append(carOwners, sn.PlateNo+"("+v.PersonName+")")
+						}
+					} else { //鎵句笉鍒拌溅涓伙紝鍗宠涓轰复鏃惰溅锛屽皢杞︾墝浣滀负杞︿富濮撳悕鎺ㄩ��
+						if sn.PlateNo == "鏃犺溅鐗�" {
+							carOwners = append(carOwners, sn.PlateNo)
+						} else {
+							carOwners = append(carOwners, sn.PlateNo+"()")
+						}
 					}
 				}
 			}
@@ -488,15 +511,101 @@
 	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, sn.PlateNo+"("+v.PersonName+")")
+						}
+					} else { //鎵句笉鍒拌溅涓伙紝鍗宠涓轰复鏃惰溅锛屽皢杞︾墝浣滀负杞︿富濮撳悕鎺ㄩ��
+						if sn.PlateNo == "鏃犺溅鐗�" {
+							carOwners = append(carOwners, sn.PlateNo)
+						} else {
+							carOwners = append(carOwners, sn.PlateNo+"()")
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return carOwners
+}
+
+//vip杞︿富锛屼笉鎺ユ敹璇风寮�鐨勯�氱煡锛屼篃涓嶉�氱煡绠$悊鍛樿繖涓溅杩樺湪杞﹀簱鍐�
+func isVipCar(targetPlateNo string, vipPlateNoArr []string) bool {
+	b := false
+	if vipPlateNoArr != nil {
+		for _,v := range vipPlateNoArr {
+			if targetPlateNo == v {
+				b = true
+				break
+			}
+		}
+	}
+	return b
+}
+
 //濡傛灉澶滈棿鏈夌粰杞﹀簱鍐呯殑杞︿富鎺ㄩ�佲�滆灏藉揩椹剁鈥濈殑娑堟伅锛屽垯鍛婄煡绠$悊鍛� 鏈夊摢浜涜溅灏氬仠鍦ㄨ溅搴撳唴
-func Push2Manager(title string, msg string) (bool, error, []string) {
+func Push2Manager(title string, msg string, isTest bool) (bool, error, []string) {
 	if len(msg) > 256 {
 		fmt.Println("澶滈棿鍋滅暀杞﹀お澶氾紝message:", msg)
 
 		r := []rune(msg)
 		msg = string(r[:125])+"..."
 	}
-	managers := beego.AppConfig.String("nightManagerPhones")
+	managers := ""
+	if isTest {
+		managers = beego.AppConfig.String("testPushPhones")
+	} else {
+		managers = beego.AppConfig.String("nightManagerPhones")
+	}
 	if managers == "" {
 		return false, errors.New("澶滈棿鎺ㄩ�佺鐞嗗憳鎵嬫満鍙锋湭閰嶇疆"), []string{}
 	}

--
Gitblit v1.8.0