| | |
| | | } |
| | | |
| | | //对已注册的用户进行消息推送。调用此接口前需调用创建消息接口设置消息内容 |
| | | func PushByAlias(title string, msg string) (bool, error) { |
| | | func PushByAlias(title string, msg string) (bool, error, []string) { |
| | | var aliasArr []string |
| | | |
| | | pushUserM := make(map[string]string) |
| | |
| | | } |
| | | } |
| | | if len(pushUserM) == 0 { |
| | | return true,errors.New("len(pushUserM) == 0") |
| | | return false,errors.New("len(pushUserM) == 0"),aliasArr |
| | | } |
| | | carPersonM := make(map[string]string) //以车牌号为key,value是hik的personId |
| | | csv := NewCarService() |
| | |
| | | carPersonM[cp.PlateNo] = cp.PersonId |
| | | } |
| | | } |
| | | fmt.Println("carPersonM:", carPersonM) |
| | | delPersonIdM := make(map[string]string) |
| | | spaceNos := csv.FindSpaceNo("") |
| | | for _,sn := range spaceNos { |
| | |
| | | if pId,ok := carPersonM[sn.PlateNo];ok { |
| | | delPersonIdM[pId] = pId |
| | | delete(carPersonM, sn.PlateNo) |
| | | fmt.Println("delete personId:", pId, "plateNo:", sn.PlateNo) |
| | | } |
| | | } |
| | | } |
| | | fmt.Println("len(carPersonM):", len(carPersonM), "len(pushUserM):", len(pushUserM),"delPersonIdM:", delPersonIdM) |
| | | var uc models.UserClient |
| | | for _,personId := range carPersonM { |
| | | if phoneNum,ok := pushUserM[personId]; ok { //此人已注册到系统,并且车不在停车库内 |
| | |
| | | } |
| | | lenAS := len(aliasArr) |
| | | if lenAS == 0 { |
| | | return true, errors.New("aliasArr is empty") |
| | | } else { |
| | | fmt.Println("PushByAlias arr:", aliasArr) |
| | | return false, errors.New("aliasArr is empty"),aliasArr |
| | | } |
| | | |
| | | cResult, taskId, ce := createPushMsg(title, msg) |
| | | fmt.Println("createPushMsg taskId:", taskId, "cResult:",cResult, "err:", ce) |
| | | if !cResult { |
| | | return false, errors.New("创建推送前置消息失败") |
| | | return false, errors.New("创建推送前置消息失败"),aliasArr |
| | | } |
| | | |
| | | //alias 单次推送长度上限是200 |
| | |
| | | } |
| | | } |
| | | if isSuccess { |
| | | return true, nil |
| | | return true, nil,aliasArr |
| | | } |
| | | |
| | | return false, errors.New("推送失败") |
| | | return false, errors.New("推送失败"),aliasArr |
| | | } |
| | | |
| | | func doPush(taskId string, aliasArr []string) (bool,error) { |
| | |
| | | return false, errors.New("推送失败") |
| | | } |
| | | |
| | | func NightPush(title string, msg string) (bool, error) { |
| | | func NightPush(title string, msg string) (bool, error, []string) { |
| | | var aliasArr []string |
| | | |
| | | pushUserM := make(map[string]string) |
| | |
| | | } |
| | | } |
| | | if len(pushUserM) == 0 { |
| | | return true,nil |
| | | return true,nil, aliasArr |
| | | } |
| | | carPersonM := make(map[string]string) |
| | | csv := NewCarService() |
| | |
| | | |
| | | if len(aliasArr) == 0 { |
| | | fmt.Println("没有推送目标,aliasArr is empty") |
| | | return true, nil |
| | | return true, nil, aliasArr |
| | | } |
| | | |
| | | cResult, taskId, ce := createPushMsg(title, msg) |
| | | if !cResult { |
| | | fmt.Println("createPushMsg taskId:", taskId, "err:", ce) |
| | | return false, errors.New("创建推送前置消息失败") |
| | | return false, errors.New("创建推送前置消息失败"), aliasArr |
| | | } |
| | | |
| | | return doPush(taskId, aliasArr) |
| | | b,e := doPush(taskId, aliasArr) |
| | | return b,e, aliasArr |
| | | } |
| | | |
| | | func PushAll(title string, msg string) (bool,error) { |