dao.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package thumbup
  2. import (
  3. "context"
  4. "fmt"
  5. "go-common/app/interface/main/app-view/conf"
  6. thumbup "go-common/app/service/main/thumbup/api"
  7. "go-common/library/net/metadata"
  8. "github.com/pkg/errors"
  9. )
  10. // Dao is tag dao
  11. type Dao struct {
  12. thumbupGRPC thumbup.ThumbupClient
  13. }
  14. // New initial tag dao
  15. func New(c *conf.Config) (d *Dao) {
  16. d = &Dao{}
  17. var err error
  18. d.thumbupGRPC, err = thumbup.NewClient(c.ThumbupClient)
  19. if err != nil {
  20. panic(fmt.Sprintf("thumbup NewClient error(%v)", err))
  21. }
  22. return
  23. }
  24. // Like is like view.
  25. func (d *Dao) Like(c context.Context, mid, upMid int64, business string, messageID int64, typ int8) (res *thumbup.LikeReply, err error) {
  26. ip := metadata.String(c, metadata.RemoteIP)
  27. arg := &thumbup.LikeReq{Mid: mid, UpMid: upMid, Business: business, MessageID: messageID, Action: thumbup.Action(typ), IP: ip}
  28. if res, err = d.thumbupGRPC.Like(c, arg); err != nil {
  29. err = errors.Wrapf(err, "%v", arg)
  30. }
  31. return
  32. }
  33. // HasLike user has like
  34. func (d *Dao) HasLike(c context.Context, mid int64, business string, messageIDs []int64) (res *thumbup.HasLikeReply, err error) {
  35. ip := metadata.String(c, metadata.RemoteIP)
  36. arg := &thumbup.HasLikeReq{Mid: mid, Business: business, MessageIds: messageIDs, IP: ip}
  37. if res, err = d.thumbupGRPC.HasLike(c, arg); err != nil {
  38. err = errors.Wrapf(err, "%v", arg)
  39. }
  40. return
  41. }