From c68413f680d64ad9343ec7a2c0a7fec8fc4531a6 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期三, 12 八月 2020 14:48:47 +0800 Subject: [PATCH] add unbind alias --- service/msgPush.go | 98 +++++++++++++++++++++++++++++------------------- 1 files changed, 59 insertions(+), 39 deletions(-) diff --git a/service/msgPush.go b/service/msgPush.go index 03e036e..6718dbb 100644 --- a/service/msgPush.go +++ b/service/msgPush.go @@ -46,45 +46,65 @@ }() } -//瑙g粦鎵�鏈変笌璇ュ埆鍚嶇粦瀹氱殑cid -//func UnbindAlias(alias string) (bool, error) { -// 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 + "/user/alias/"+alias -// header := map[string]string { -// "token": token, -// } -// b,err := util.DoDeleteRequest(url, util.CONTENT_TYPE_UTF8_JSON, nil, header) -// if err !=nil { -// fmt.Println("DoDelete 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 { //瑙g粦鎴愬姛 -// return true, nil -// } else if result.Code == 10001 { //token杩囨湡 -// if retryTimes <=3 { -// newToken, err := RefreshToken() -// if err == nil { -// updateToken(newToken) -// retryTimes++ -// goto ReTry -// } -// } -// } -// return false, errors.New(result.Msg) -//} +//鎵归噺瑙g粦鍒悕 +func UnbindAlias(cid string) (bool, error) { + var uc models.UserClient + ucList := uc.GetByCid(cid) + if ucList ==nil { + return true,errors.New("ucList is nil") + } + var aliasArr []string + for _,als := range ucList { + aliasArr = append(aliasArr, als.PhoneNum) + } + 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 + "/user/alias" + header := map[string]string { + "token": token, + } + caArr := make([]map[string]string, 0) + for _,as := range aliasArr { + caArr = append(caArr, map[string]string{ + "cid": cid, + "alias": as, + }) + } + + reqBody := map[string]interface{}{ + "data_list": caArr, + } + b,err := util.DoDeleteRequest(url, util.CONTENT_TYPE_UTF8_JSON, reqBody, header) + if err !=nil { + fmt.Println("DoDelete 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 { //瑙g粦鎴愬姛 + return true, nil + } else if result.Code == 10001 { //token杩囨湡 + if retryTimes <=3 { + newToken, err := RefreshToken() + if err == nil { + updateToken(newToken) + retryTimes++ + goto ReTry + } + } + } + return false, errors.New(result.Msg) +} //涓�涓埆鍚嶆渶澶氬厑璁哥粦瀹�10涓猚id func BindAlias(cid, alias string) (bool, error) { -- Gitblit v1.8.0