12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package block
- import (
- "context"
- "fmt"
- "net/url"
- "strings"
- "go-common/library/ecode"
- "github.com/pkg/errors"
- )
- // SendSysMsg send sys msg.
- func (d *Dao) SendSysMsg(c context.Context, code string, mids []int64, title string, content string, remoteIP string) (err error) {
- params := url.Values{}
- params.Set("mc", code)
- params.Set("title", title)
- params.Set("data_type", "4")
- params.Set("context", content)
- params.Set("mid_list", midsToParam(mids))
- var res struct {
- Code int `json:"code"`
- Data *struct {
- Status int8 `json:"status"`
- Remark string `json:"remark"`
- } `json:"data"`
- }
- if err = d.client.Post(c, d.c.BlockProperty.MSGURL, remoteIP, params, &res); err != nil {
- err = errors.WithStack(err)
- return
- }
- if res.Code != 0 {
- err = errors.WithStack(ecode.Int(res.Code))
- return
- }
- return
- }
- func midsToParam(mids []int64) (str string) {
- strs := make([]string, 0, len(mids))
- for _, mid := range mids {
- strs = append(strs, fmt.Sprintf("%d", mid))
- }
- return strings.Join(strs, ",")
- }
|