From e279aff99e1003e87a1ff8d942f67804d90fbefa Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期四, 03 九月 2020 11:50:15 +0800 Subject: [PATCH] fix Push2Manager,split managers --- service/msgPush.go | 66 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 13 deletions(-) diff --git a/service/msgPush.go b/service/msgPush.go index 76cd324..2bba79f 100644 --- a/service/msgPush.go +++ b/service/msgPush.go @@ -201,7 +201,6 @@ }, "content-available":0, }, - "auto_badge":"+1", } reqBody := map[string]interface{} { "request_id": time.Now().Format("20060102150405") + util.GenValidateCode(6), @@ -311,7 +310,7 @@ } lenAS := len(aliasArr) if lenAS == 0 { - return false, errors.New("aliasArr is empty"),aliasArr + return false, errors.New("娌℃湁鎺ㄩ�佺洰鏍囷紝aliasArr is empty"),aliasArr } if isTest { //鍙粰鍐呴儴鎵嬫満鍙锋帹 @@ -425,8 +424,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 @@ -437,24 +437,36 @@ } } if len(pushUserM) == 0 { - return true,nil, 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 + } } } + 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 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) } } } @@ -463,17 +475,45 @@ if len(aliasArr) == 0 { fmt.Println("娌℃湁鎺ㄩ�佺洰鏍�,aliasArr is empty") - return true, nil, 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 +} + +//濡傛灉澶滈棿鏈夌粰杞﹀簱鍐呯殑杞︿富鎺ㄩ�佲�滆灏藉揩椹剁鈥濈殑娑堟伅锛屽垯鍛婄煡绠$悊鍛� 鏈夊摢浜涜溅灏氬仠鍦ㄨ溅搴撳唴 +func Push2Manager(title string, msg string) (bool, error, []string) { + if len(msg) > 256 { + fmt.Println("澶滈棿鍋滅暀杞﹀お澶氾紝message:", msg) + + r := []rune(msg) + msg = string(r[:125])+"..." + } + managers := beego.AppConfig.String("nightManagerPhones") + if managers == "" { + return false, errors.New("澶滈棿鎺ㄩ�佺鐞嗗憳鎵嬫満鍙锋湭閰嶇疆"), []string{} + } + managerArr := strings.Split(managers, ",") + if len(managerArr) == 0 { + fmt.Println("娌℃湁鎺ㄩ�佺洰鏍�,managerArr is empty") + return false, errors.New("绠$悊鍛樻墜鏈哄彿鏈厤缃�"), managerArr + } + + cResult, taskId, ce := createPushMsg(title, msg) + if !cResult { + fmt.Println("createPushMsg taskId:", taskId, "err:", ce) + return false, errors.New("鍒涘缓鎺ㄩ�佸墠缃秷鎭け璐�"), managerArr + } + + b,e := doPush(taskId, managerArr) + return b,e, managerArr } /* -- Gitblit v1.8.0