123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package vip
- import (
- "context"
- "net/url"
- "go-common/app/interface/main/reply/conf"
- "go-common/app/interface/main/reply/model/vip"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- )
- const (
- _emojiURL = "/internal/v1/emoji/list"
- )
- type result struct {
- Code int `json:"code"`
- Data []*struct {
- ID int64 `json:"id"`
- Name string `json:"name"`
- URL string `json:"path"`
- State int8 `json:"deleted"`
- Emojis []*struct {
- ID int64 `json:"id"`
- Name string `json:"name"`
- URL string `json:"path"`
- State int8 `json:"deleted"`
- Remark string `json:"remark"`
- } `json:"emojiList"`
- } `json:"data"`
- }
- // Dao dao.
- type Dao struct {
- emojiURL string
- httpClient *bm.Client
- }
- // New new a dao and return.
- func New(c *conf.Config) *Dao {
- d := &Dao{
- httpClient: bm.NewClient(c.HTTPClient),
- emojiURL: c.Reply.VipURL + _emojiURL,
- }
- return d
- }
- // Emoji return emojis to cache
- func (dao *Dao) Emoji(c context.Context) (emjs []*vip.Emoji, emjM map[string]int64, err error) {
- var res result
- params := url.Values{}
- if err = dao.httpClient.Get(c, dao.emojiURL, "", params, &res); err != nil {
- log.Error("vip url(%s) error(%v)", dao.emojiURL+"?"+params.Encode(), err)
- return
- }
- if res.Code != 0 {
- log.Error("vip url(%s) error(%v)", dao.emojiURL+"?"+params.Encode(), res.Code)
- return
- }
- emjs = make([]*vip.Emoji, 0, len(res.Data))
- emjM = make(map[string]int64)
- for _, d := range res.Data {
- var tmp = &vip.Emoji{
- Pid: d.ID,
- Pname: d.Name,
- Purl: d.URL,
- Pstate: d.State,
- }
- emoTmps := make([]*vip.Face, 0, len(d.Emojis))
- for _, e := range d.Emojis {
- var emoTmp = &vip.Face{
- ID: e.ID,
- Name: e.Name,
- URL: e.URL,
- State: e.State,
- }
- emoTmps = append(emoTmps, emoTmp)
- if d.State == 0 && e.State == 0 {
- emjM[e.Name] = e.ID
- }
- }
- tmp.Emojis = emoTmps
- emjs = append(emjs, tmp)
- }
- return
- }
|