From 9452d41eff2bfc243c65bd9abfd9261a3efc1f03 Mon Sep 17 00:00:00 2001 From: lwl0608 Date: Thu, 28 Nov 2024 16:22:44 +0800 Subject: [PATCH] SendBroadcastMsg --- api/adapter/firenzeapi/api.go | 36 ++++++++++++++++++++++++++++++++++ api/proto/firenze/websocket.go | 6 ++++++ 2 files changed, 42 insertions(+) diff --git a/api/adapter/firenzeapi/api.go b/api/adapter/firenzeapi/api.go index 74c67ba9..a6e16b2b 100644 --- a/api/adapter/firenzeapi/api.go +++ b/api/adapter/firenzeapi/api.go @@ -49,3 +49,39 @@ func SendBizMsg(param *firenzeproto.SendBizMsgParam) (*base.BaseResponse, error) } return res, nil } + +func SendBroadcastMsg(param *firenzeproto.SendBroadcastMsgParam) (*base.BaseResponse, error) { + defer logger.Recover() + + ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*2000) + defer cancel() + + jsonStr, err := json.Marshal(param) + if err != nil { + logger.Error("build data error: %v", err) + return nil, err + } + + req, err := http.NewRequestWithContext(ctx, "POST", sendBizMsgUrl, bytes.NewBuffer(jsonStr)) + if err != nil { + logger.Error("NewRequest error %v", err) + return nil, err + } + req.Header.Set("Content-Type", "application/json") + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + logger.Error("failed to add case, err : %v", err) + return nil, err + } + defer resp.Body.Close() + + res := new(base.BaseResponse) + bs, _ := ioutil.ReadAll(resp.Body) + err = json.Unmarshal(bs, &res) + if err != nil { + return nil, err + } + return res, nil +} diff --git a/api/proto/firenze/websocket.go b/api/proto/firenze/websocket.go index 0545b180..dd2032c1 100644 --- a/api/proto/firenze/websocket.go +++ b/api/proto/firenze/websocket.go @@ -2,8 +2,14 @@ package firenze import "encoding/json" +// 单条消息 type SendBizMsgParam struct { Sid string `json:"sid"` Mid int64 `json:"mid"` Msg json.RawMessage `json:"msg"` } + +// 广播 +type SendBroadcastMsgParam struct { + Msg json.RawMessage `json:"msg"` +}