From ef4003ddd514c88af0684c3702c6e5cfffa5f90b Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 11 八月 2020 17:00:19 +0800
Subject: [PATCH] fix isMime and push by alias add limit 200 by unipush api
---
service/msgPush.go | 89 ++++++++++++++++++++------------------------
service/carService.go | 11 +++--
2 files changed, 47 insertions(+), 53 deletions(-)
diff --git a/service/carService.go b/service/carService.go
index 629b43b..964c706 100644
--- a/service/carService.go
+++ b/service/carService.go
@@ -179,21 +179,22 @@
return nil
}
for _,s := range spaceList {
- isMine := false
- if _,exist := myPlateNosMap[s.PlateNos]; exist {
- isMine = true
- }
+
pi := models.PosInfo {
SpaceNo: s.SpaceNo,
PosNo: "",
State: s.State,
- IsMine: isMine,
}
if s.PlateNo != "" {
pi.PlateNo = s.PlateNo
} else if s.PlateNos != "" {
pi.PlateNo = s.PlateNos
}
+ isMine := false
+ if _,exist := myPlateNosMap[pi.PlateNo]; exist {
+ isMine = true
+ }
+ pi.IsMine = isMine
if v,ok := models.SpaceNo2Pos[s.SpaceNo];ok {
pi.PosNo = v
}
diff --git a/service/msgPush.go b/service/msgPush.go
index 9bb66a1..a74701f 100644
--- a/service/msgPush.go
+++ b/service/msgPush.go
@@ -266,7 +266,8 @@
}
}
}
- if len(aliasArr) == 0 {
+ lenAS := len(aliasArr)
+ if lenAS == 0 {
return true, errors.New("aliasArr is empty")
} else {
fmt.Println("PushByAlias arr:", aliasArr)
@@ -278,6 +279,44 @@
return false, errors.New("鍒涘缓鎺ㄩ�佸墠缃秷鎭け璐�")
}
+ //alias 鍗曟鎺ㄩ�侀暱搴︿笂闄愭槸200
+ pushTime := 1
+ if lenAS > 200 {
+ pushTime = lenAS / 200
+ if lenAS % 200 >0 {
+ pushTime++
+ }
+ }
+
+ isSuccess := false
+ for i:=0;i<pushTime;i++ {
+ var curAliasArr []string
+ start := i*200
+ end := (i+1)*200 -1
+ if i<pushTime-1 {
+ curAliasArr = aliasArr[start:end]
+ } else {
+ //鍙栧墿浣欐墍鏈�
+ curAliasArr = aliasArr[start:]
+ }
+ if len(curAliasArr) >0 {
+ flag, e := doPush(taskId, curAliasArr)
+ if e != nil {
+ fmt.Println("doPush err:", e)
+ }
+ if flag {
+ isSuccess = true
+ }
+ }
+ }
+ if isSuccess {
+ return true, nil
+ }
+
+ return false, errors.New("鎺ㄩ�佸け璐�")
+}
+
+func doPush(taskId string, aliasArr []string) (bool,error) {
appId := beego.AppConfig.String("pushAppId")
baseUrl := beego.AppConfig.String("pushBaseUrl") + appId
retryTimes := 0
@@ -322,7 +361,6 @@
} else {
fmt.Println("鎺ㄩ�佺粨鏋�:", result)
}
-
return false, errors.New("鎺ㄩ�佸け璐�")
}
@@ -370,52 +408,7 @@
return false, errors.New("鍒涘缓鎺ㄩ�佸墠缃秷鎭け璐�")
}
- appId := beego.AppConfig.String("pushAppId")
- baseUrl := beego.AppConfig.String("pushBaseUrl") + appId
- retryTimes := 0
-ReTry:
- token := getCacheToken()
- if token == "" {
- return false, errors.New("token is nil")
- }
- url := baseUrl+"/push/list/alias"
- reqBody := map[string]interface{} {
- "audience":map[string]interface{}{
- "alias": aliasArr,
- },
- "taskid": taskId,
- "is_async": true,
- }
- header := map[string]string {
- "token": token,
- }
- b, err := util.DoPostRequest(url, util.CONTENT_TYPE_UTF8_JSON, reqBody, nil, header)
- if err !=nil {
- fmt.Println("DoPost err:", err)
- return false, err
- }
- var result PushResult
- err = json.Unmarshal(b, &result)
- if err != nil {
- fmt.Println("unmarshal err:", err)
- return false, err
- }
- if result.Code == 0 {
- return true, nil
- } else if result.Code == 10001 { //token杩囨湡
- if retryTimes <=3 {
- newToken, err := RefreshToken()
- if err == nil {
- updateToken(newToken)
- retryTimes++
- goto ReTry
- }
- }
- } else {
- fmt.Println("鎺ㄩ�佺粨鏋�:", result)
- }
-
- return false, errors.New("鎺ㄩ�佸け璐�")
+ return doPush(taskId, aliasArr)
}
func PushAll(title string, msg string) (bool,error) {
--
Gitblit v1.8.0