account.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package account
  2. import (
  3. "context"
  4. "net/url"
  5. "strconv"
  6. "go-common/app/interface/main/app-wall/conf"
  7. account "go-common/app/service/main/account/model"
  8. accrpc "go-common/app/service/main/account/rpc/client"
  9. "go-common/library/ecode"
  10. "go-common/library/log"
  11. httpx "go-common/library/net/http/blademaster"
  12. )
  13. const (
  14. _addVIPURL = "/x/internal/big/useBatchInfo"
  15. )
  16. // Dao account dao
  17. type Dao struct {
  18. client *httpx.Client
  19. // account rpc
  20. accRPC *accrpc.Service3
  21. // url
  22. addVIPURL string
  23. }
  24. // New account dao.
  25. func New(c *conf.Config) (d *Dao) {
  26. d = &Dao{
  27. client: httpx.NewClient(c.HTTPClient),
  28. // account rpc
  29. accRPC: accrpc.New3(c.AccountRPC),
  30. // url
  31. addVIPURL: c.Host.APICo + _addVIPURL,
  32. }
  33. return
  34. }
  35. // AddVIP add user vip
  36. func (d *Dao) AddVIP(c context.Context, mid, orderNo int64, batchID int, remark string) (msg string, err error) {
  37. params := url.Values{}
  38. params.Set("orderNo", strconv.FormatInt(orderNo, 10))
  39. params.Set("mid", strconv.FormatInt(mid, 10))
  40. params.Set("remark", remark)
  41. params.Set("batchId", strconv.Itoa(batchID))
  42. var res struct {
  43. Code int `json:"code"`
  44. Msg string `json:"message"`
  45. }
  46. if err = d.client.Post(c, d.addVIPURL, "", params, &res); err != nil {
  47. log.Error("account add vip url(%v) error(%v)", d.addVIPURL+"?"+params.Encode(), err)
  48. return
  49. }
  50. msg = res.Msg
  51. if res.Code != 0 {
  52. err = ecode.Int(res.Code)
  53. log.Error("account add vip url(%v) res code(%d)", d.addVIPURL+"?"+params.Encode(), res.Code)
  54. return
  55. }
  56. return
  57. }
  58. // Info user info
  59. func (d *Dao) Info(ctx context.Context, mid int64) (res *account.Info, err error) {
  60. arg := &account.ArgMid{
  61. Mid: mid,
  62. }
  63. if res, err = d.accRPC.Info3(ctx, arg); err != nil {
  64. log.Error("d.accRPC.Info3(%v) error(%v)", arg, err)
  65. return
  66. }
  67. return
  68. }