用户接口远程调用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
1.8 KiB

  1. package userrpc
  2. import (
  3. "encoding/json"
  4. "errors"
  5. )
  6. /**
  7. * 获取用户积分
  8. */
  9. func GetUserScore(dbname, userId string, url ...string) (string, error) {
  10. if dbname == "" || userId == "" {
  11. return "", errors.New("参数错误")
  12. }
  13. conn, err := rpc_server_conn(url...)
  14. if err != nil {
  15. return "", err
  16. }
  17. defer conn.Close()
  18. data := GetUserReq{}
  19. data.Dbname = dbname
  20. data.UserId = userId
  21. req, err := SetReqData(data)
  22. if err != nil {
  23. return "", err
  24. }
  25. res := &Response{}
  26. err = conn.GetUserScore(req, res)
  27. if err != nil {
  28. return "", err
  29. }
  30. res_data_de, err := GetResData(res)
  31. if err != nil {
  32. return "", err
  33. }
  34. if res_data_de == "" {
  35. return "", nil
  36. }
  37. var score string
  38. err = json.Unmarshal([]byte(res_data_de), &score)
  39. if err != nil {
  40. return "", err
  41. }
  42. return score, nil
  43. }
  44. /**
  45. * 获取用户红包
  46. */
  47. func GetUserRedEnvelope(dbname, userId string, url ...string) (string, error) {
  48. if dbname == "" || userId == "" {
  49. return "", errors.New("参数错误")
  50. }
  51. conn, err := rpc_server_conn(url...)
  52. if err != nil {
  53. return "", err
  54. }
  55. defer conn.Close()
  56. data := GetUserReq{}
  57. data.Dbname = dbname
  58. data.UserId = userId
  59. req, err := SetReqData(data)
  60. if err != nil {
  61. return "", err
  62. }
  63. res := &Response{}
  64. err = conn.GetUserRedEnvelope(req, res)
  65. if err != nil {
  66. return "", err
  67. }
  68. res_data_de, err := GetResData(res)
  69. if err != nil {
  70. return "", err
  71. }
  72. if res_data_de == "" {
  73. return "", nil
  74. }
  75. var redEnvelope string
  76. err = json.Unmarshal([]byte(res_data_de), &redEnvelope)
  77. if err != nil {
  78. return "", err
  79. }
  80. return redEnvelope, nil
  81. }