From d36e0b699b56d5b6fb0abf30508b94c98b4b28ca Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期一, 07 九月 2020 10:34:19 +0800
Subject: [PATCH] push2Manager at 22:30,android msg use big_text

---
 service/msgPush.go |   70 +++++++++++++++++++++++++++++------
 1 files changed, 58 insertions(+), 12 deletions(-)

diff --git a/service/msgPush.go b/service/msgPush.go
index 2da943d..4b2d58d 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,
 			},
@@ -424,8 +425,9 @@
 	return false, errors.New("鎺ㄩ�佸け璐�")
 }
 
-func NightPush(title string, msg string) (bool, error, []string) {
+func NightPush(title string, msg string) (bool, error, []string, []string) {
 	var aliasArr []string
+	var carOwners []string
 
 	pushUserM := make(map[string]string)
 	var userE models.User
@@ -436,24 +438,54 @@
 		}
 	}
 	if len(pushUserM) == 0 {
-		return false, errors.New("len(pushUserM) == 0"), aliasArr
+		return false, errors.New("len(pushUserM) == 0"), aliasArr, carOwners
 	}
 	carPersonM := make(map[string]string)
 	csv := NewCarService()
 	carPersons := csv.GetVehicleListByPerson("")
 	if carPersons != nil {
 		for _, cp := range carPersons {
-			carPersonM[cp.PlateNo] = cp.PersonId
+			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("")
 	var uc models.UserClient
 	for _,sn := range spaceNos {
-		if sn.State == 1 && sn.PlateNo != "" { //宸茬粡鎶婅溅鍋滃埌鍋滆溅鍦虹殑杞︿富锛屼笉鍐嶆帹閫佹秷鎭�
-			if personId,ok := carPersonM[sn.PlateNo];ok {
-				if phoneNum,ok := pushUserM[personId]; ok { //姝や汉宸叉敞鍐屽埌绯荤粺,骞朵笖杞︿笉鍦ㄥ仠杞﹀簱鍐�
-					if uc.Exist(phoneNum) {
-						aliasArr = append(aliasArr, phoneNum)
+		if sn.State == 1 { //杞﹀皻鍦ㄥ仠杞﹀満鐨勮溅鐗�
+			inCnPlateNo := preDealPlateNo(sn.PlateNo)
+			if inCnPlateNo != "" {
+				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)
+						}
+					} else { //鎵句笉鍒拌溅涓伙紝鍗宠涓轰复鏃惰溅锛屽皢杞︾墝浣滀负杞︿富濮撳悕鎺ㄩ��
+						carOwners = append(carOwners, sn.PlateNo)
 					}
 				}
 			}
@@ -462,17 +494,31 @@
 
 	if len(aliasArr) == 0 {
 		fmt.Println("娌℃湁鎺ㄩ�佺洰鏍�,aliasArr is empty")
-		return false, errors.New("娌℃湁鎺ㄩ�佺洰鏍�,aliasArr is empty"), aliasArr
+		return false, errors.New("娌℃湁鎺ㄩ�佺洰鏍�,aliasArr is empty"), aliasArr, carOwners
 	}
 
 	cResult, taskId, ce := createPushMsg(title, msg)
 	if !cResult {
 		fmt.Println("createPushMsg taskId:", taskId, "err:", ce)
-		return false, errors.New("鍒涘缓鎺ㄩ�佸墠缃秷鎭け璐�"), aliasArr
+		return false, errors.New("鍒涘缓鎺ㄩ�佸墠缃秷鎭け璐�"), aliasArr, carOwners
 	}
 
 	b,e := doPush(taskId, aliasArr)
-	return b,e, aliasArr
+	return b,e, aliasArr, 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
 }
 
 //濡傛灉澶滈棿鏈夌粰杞﹀簱鍐呯殑杞︿富鎺ㄩ�佲�滆灏藉揩椹剁鈥濈殑娑堟伅锛屽垯鍛婄煡绠$悊鍛� 鏈夊摢浜涜溅灏氬仠鍦ㄨ溅搴撳唴
@@ -487,7 +533,7 @@
 	if managers == "" {
 		return false, errors.New("澶滈棿鎺ㄩ�佺鐞嗗憳鎵嬫満鍙锋湭閰嶇疆"), []string{}
 	}
-	managerArr := strings.Split(managers, "")
+	managerArr := strings.Split(managers, ",")
 	if len(managerArr) == 0 {
 		fmt.Println("娌℃湁鎺ㄩ�佺洰鏍�,managerArr is empty")
 		return false, errors.New("绠$悊鍛樻墜鏈哄彿鏈厤缃�"), managerArr

--
Gitblit v1.8.0