userDocRpc.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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/zeromicro/go-zero/core/discov"
  8. "github.com/zeromicro/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. 查询用户文库列表
  24. param
  25. userId 用户id
  26. pageNum 页码
  27. pageSize 每页大小
  28. colloctType 0兑换的 1收藏的 2回收站的
  29. return
  30. 文库列表,文库数量,异常
  31. */
  32. func GetUserDocs(userId string, pageNum, pageSize, colloctType int64) (interface{}, int64, error) {
  33. resp, err := jyUserDocLib.UserDocs(context.Background(), &userlibclient.UserDocsRequest{
  34. AppId: config.JyDocsAppConfig.AppId,
  35. UserId: userId,
  36. Page: pageNum,
  37. PageSize: pageSize,
  38. UserDocCategory: colloctType,
  39. })
  40. if err != nil {
  41. log.Printf("%s GetUserDocs call error %v\n", userId, err)
  42. return nil, -1, err
  43. }
  44. if resp.Code != 1 {
  45. log.Printf("%s GetUserDocs fail Message %v\n", userId, resp.Message)
  46. return nil, -1, fmt.Errorf("获取文库列表失败")
  47. }
  48. return resp.Data, resp.Count, nil
  49. }
  50. /*
  51. 收藏文库
  52. param
  53. userId 用户id
  54. docId 文库id
  55. return
  56. 异常
  57. */
  58. func SetUserCollect(userId, docId string) error {
  59. resp, err := jyUserDocLib.DocCollect(context.Background(), &userlib.UserCollectRequest{
  60. AppId: config.JyDocsAppConfig.AppId,
  61. UserId: userId,
  62. DocId: docId,
  63. Cost: 0,
  64. })
  65. if err != nil {
  66. log.Printf("%s SetUserCollect call error %v\n", userId, err)
  67. return err
  68. }
  69. if resp.Code != 1 {
  70. log.Printf("%s SetUserCollect fail Message %v\n", userId, resp.Message)
  71. return fmt.Errorf("添加收藏失败")
  72. }
  73. //log.Printf("用户id:%s appid:%d 返回值:%+v\n", userId, config.JyDocsAppConfig.AppId, resp)
  74. return nil
  75. }
  76. /*
  77. 取消收藏
  78. param
  79. userId 用户id
  80. docId 文库id
  81. return
  82. 异常
  83. */
  84. func DelUserCollect(userId, docId string) error {
  85. resp, err := jyUserDocLib.DocCancelCollect(context.Background(), &userlib.UserCancelRequest{
  86. AppId: config.JyDocsAppConfig.AppId,
  87. UserId: userId,
  88. DocId: docId,
  89. })
  90. if err != nil {
  91. log.Printf("%s DelUserCollect call error %v\n", userId, err)
  92. return err
  93. }
  94. if resp.Code != 1 {
  95. log.Printf("%s DelUserCollect fail Message %v\n", userId, resp.Message)
  96. return fmt.Errorf("删除收藏失败")
  97. }
  98. return nil
  99. }
  100. /*
  101. 文库转存
  102. param
  103. userId 用户id
  104. docId 文库id
  105. return
  106. 异常
  107. */
  108. func PayDoc(userId, docId string) error {
  109. resp, err := jyUserDocLib.DocDownload(context.Background(), &userlib.UserCollectRequest{
  110. AppId: config.JyDocsAppConfig.AppId,
  111. UserId: userId,
  112. DocId: docId,
  113. })
  114. if err != nil {
  115. log.Printf("%s SetUserCollect call error %v\n", userId, err)
  116. return err
  117. }
  118. if resp.Code != 1 {
  119. log.Printf("%s PayDoc fail Message %v\n", userId, resp.Message)
  120. return fmt.Errorf("下载文库失败")
  121. }
  122. return nil
  123. }