liuxiaolong
2020-09-07 d36e0b699b56d5b6fb0abf30508b94c98b4b28ca
service/msgPush.go
@@ -186,6 +186,7 @@
         "notification": {
            "title": title,
            "body": msg,
            "big_text": msg,
            "click_type": "intent",
            "intent": intent,
         },
@@ -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,19 @@
      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, v.PersonName)
                  }
               } else { //找不到车主,即视为临时车,将车牌作为车主姓名推送
                  carOwners = append(carOwners, sn.PlateNo)
               }
            }
         }
@@ -488,6 +507,20 @@
   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
}
//如果夜间有给车库内的车主推送“请尽快驶离”的消息,则告知管理员 有哪些车尚停在车库内
func Push2Manager(title string, msg string) (bool, error, []string) {
   if len(msg) > 256 {