From e90c68f3394cf4a3d7fec25821ad24aff4edd03e Mon Sep 17 00:00:00 2001 From: jiangyong27 Date: Mon, 4 Mar 2024 10:57:37 +0800 Subject: [PATCH] taskId --- push/getui.go | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/push/getui.go b/push/getui.go index 985d948..af2c6f1 100644 --- a/push/getui.go +++ b/push/getui.go @@ -42,6 +42,11 @@ type GetuiMessage struct { Intent string } +type GetuiPushRsp struct { + TaskId string + Status string +} + type Getui struct { config *GetuiConfig token string @@ -103,7 +108,7 @@ func (g *Getui) Token() string { return g.token } -func (g *Getui) Push(req *GetuiMessage) error { +func (g *Getui) Push(req *GetuiMessage) (*GetuiPushRsp, error) { reqUrl := fmt.Sprintf("https://restapi.getui.com/v2/%s/push/single/cid", g.config.AppId) params := make(map[string]interface{}) @@ -138,13 +143,26 @@ func (g *Getui) Push(req *GetuiMessage) error { }, } reqBody, _ := json.Marshal(params) - _, err := util.HttpPostJson(reqUrl, map[string]string{"token": g.Token()}, reqBody) + rspBody, err := util.HttpPostJson(reqUrl, map[string]string{"token": g.Token()}, reqBody) if err != nil { log.Errorf("goutil http post error :%s", err.Error()) - return err + return nil, err + } + data, err := g.getResult(rspBody) + if err != nil { + log.Errorf("get result[%s] error :%s", rspBody, err.Error()) + return nil, err } - return nil + rsp := new(GetuiPushRsp) + for taskId, task := range data { + rsp.TaskId = taskId + cidStatus := cast.ToStringMap(task) + for _, v := range cidStatus { + rsp.Status = cast.ToString(v) + } + } + return rsp, nil } func (g *Getui) GetUserStatus(cid string) (*GetuiStatus, error) {