userDocRpc.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package rpc
  2. import (
  3. "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlib"
  4. "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlibclient"
  5. "context"
  6. "fmt"
  7. "github.com/tal-tech/go-zero/core/discov"
  8. "github.com/tal-tech/go-zero/zrpc"
  9. "jy-docs/config"
  10. "log"
  11. )
  12. //用户库RPC接口
  13. var jyUserDocLib userlibclient.UserLib
  14. func init() {
  15. jyUserDocLib = userlibclient.NewUserLib(zrpc.MustNewClient(zrpc.RpcClientConf{
  16. Etcd: discov.EtcdConf{
  17. Key: config.JyDocsAppConfig.RpcServers.UserDoc.Key,
  18. Hosts: config.JyDocsAppConfig.RpcServers.UserDoc.Address,
  19. },
  20. }))
  21. }
  22. /*查询用户文库列表
  23. param
  24. userId 用户id
  25. pageNum 页码
  26. pageSize 每页大小
  27. colloctType 0兑换的 1收藏的 2回收站的
  28. return
  29. 文库列表,文库数量,异常
  30. */
  31. func GetUserDocs(userId string, pageNum, pageSize, colloctType int64) (interface{}, int64, error) {
  32. resp, err := jyUserDocLib.UserDocs(context.Background(), &userlibclient.UserDocsRequest{
  33. AppId: config.JyDocsAppConfig.AppId,
  34. UserId: userId,
  35. Page: pageNum,
  36. PageSize: pageSize,
  37. UserDocCategory: colloctType,
  38. })
  39. if err != nil {
  40. log.Printf("%s GetUserDocs call error %v\n", userId, err)
  41. return nil, -1, err
  42. }
  43. if resp.Code != 1 {
  44. log.Printf("%s GetUserDocs fail Message %v\n", userId, resp.Message)
  45. return nil, -1, fmt.Errorf("获取文库列表失败")
  46. }
  47. return resp.Data, resp.Count, nil
  48. }
  49. /*收藏文库
  50. param
  51. userId 用户id
  52. docId 文库id
  53. return
  54. 异常
  55. */
  56. func SetUserCollect(userId, docId string) error {
  57. resp, err := jyUserDocLib.DocCollect(context.Background(), &userlib.UserCollectRequest{
  58. AppId: config.JyDocsAppConfig.AppId,
  59. UserId: userId,
  60. DocId: docId,
  61. Cost: 0,
  62. })
  63. if err != nil {
  64. log.Printf("%s SetUserCollect call error %v\n", userId, err)
  65. return err
  66. }
  67. if resp.Code != 1 {
  68. log.Printf("%s SetUserCollect fail Message %v\n", userId, resp.Message)
  69. return fmt.Errorf("添加收藏失败")
  70. }
  71. //log.Printf("用户id:%s appid:%d 返回值:%+v\n", userId, config.JyDocsAppConfig.AppId, resp)
  72. return nil
  73. }
  74. /*
  75. 取消收藏
  76. param
  77. userId 用户id
  78. docId 文库id
  79. return
  80. 异常
  81. */
  82. func DelUserCollect(userId, docId string) error {
  83. resp, err := jyUserDocLib.DocCancelCollect(context.Background(), &userlib.UserCancelRequest{
  84. AppId: config.JyDocsAppConfig.AppId,
  85. UserId: userId,
  86. DocId: docId,
  87. })
  88. if err != nil {
  89. log.Printf("%s DelUserCollect call error %v\n", userId, err)
  90. return err
  91. }
  92. if resp.Code != 1 {
  93. log.Printf("%s DelUserCollect fail Message %v\n", userId, resp.Message)
  94. return fmt.Errorf("删除收藏失败")
  95. }
  96. return nil
  97. }
  98. /*
  99. 文库转存
  100. param
  101. userId 用户id
  102. docId 文库id
  103. return
  104. 异常
  105. */
  106. func PayDoc(userId, docId string) error {
  107. resp, err := jyUserDocLib.DocDownload(context.Background(), &userlib.UserCollectRequest{
  108. AppId: config.JyDocsAppConfig.AppId,
  109. UserId: userId,
  110. DocId: docId,
  111. })
  112. if err != nil {
  113. log.Printf("%s SetUserCollect call error %v\n", userId, err)
  114. return err
  115. }
  116. if resp.Code != 1 {
  117. log.Printf("%s PayDoc fail Message %v\n", userId, resp.Message)
  118. return fmt.Errorf("下载文库失败")
  119. }
  120. return nil
  121. }