123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package rpc
- import (
- "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlib"
- "context"
- "fmt"
- "github.com/zeromicro/go-zero/core/discov"
- "github.com/zeromicro/go-zero/zrpc"
- "jy-docs/config"
- "jy-docs/public"
- "log"
- )
- // 用户库RPC接口
- var jyUserDocLib userlib.UserLib
- func init() {
- jyUserDocLib = userlib.NewUserLib(zrpc.MustNewClient(zrpc.RpcClientConf{
- Etcd: discov.EtcdConf{
- Key: config.JyDocsAppConfig.RpcServers.UserDoc.Key,
- Hosts: config.JyDocsAppConfig.RpcServers.UserDoc.Address,
- },
- Timeout: config.JyDocsAppConfig.RpcServers.StdDoc.Timeout,
- }))
- }
- /*
- 查询用户文库列表
- param
- userId 用户id
- pageNum 页码
- pageSize 每页大小
- colloctType 0兑换的 1收藏的 2回收站的
- return
- 文库列表,文库数量,异常
- */
- func GetUserDocs(userId string, pageNum, pageSize, colloctType int64) (interface{}, int64, error) {
- resp, err := jyUserDocLib.UserDocs(context.Background(), &userlib.UserDocsRequest{
- AppId: config.JyDocsAppConfig.AppId,
- UserId: userId,
- Page: pageNum,
- PageSize: pageSize,
- UserDocCategory: colloctType,
- })
- if err != nil {
- log.Printf("%s GetUserDocs call error %v\n", userId, err)
- return nil, -1, err
- }
- if resp.Code != 1 {
- log.Printf("%s GetUserDocs fail Message %v\n", userId, resp.Message)
- return nil, -1, fmt.Errorf("获取文库列表失败")
- }
- return resp.Data, resp.Count, nil
- }
- /*
- 收藏文库
- param
- userId 用户id
- docId 文库id
- return
- 异常
- */
- func SetUserCollect(userId, docId string) error {
- resp, err := jyUserDocLib.DocCollect(context.Background(), &userlib.UserCollectRequest{
- AppId: config.JyDocsAppConfig.AppId,
- UserId: userId,
- DocId: docId,
- Cost: 0,
- })
- if err != nil {
- log.Printf("%s SetUserCollect call error %v\n", userId, err)
- return err
- }
- if resp.Code != 1 {
- log.Printf("%s SetUserCollect fail Message %v\n", userId, resp.Message)
- return fmt.Errorf("添加收藏失败")
- }
- //log.Printf("用户id:%s appid:%d 返回值:%+v\n", userId, config.JyDocsAppConfig.AppId, resp)
- return nil
- }
- /*
- 取消收藏
- param
- userId 用户id
- docId 文库id
- return
- 异常
- */
- func DelUserCollect(userId, docId string) error {
- resp, err := jyUserDocLib.DocCancelCollect(context.Background(), &userlib.UserCancelRequest{
- AppId: config.JyDocsAppConfig.AppId,
- UserId: userId,
- DocId: docId,
- })
- if err != nil {
- log.Printf("%s DelUserCollect call error %v\n", userId, err)
- return err
- }
- if resp.Code != 1 {
- log.Printf("%s DelUserCollect fail Message %v\n", userId, resp.Message)
- return fmt.Errorf("删除收藏失败")
- }
- return nil
- }
- /*
- 文库转存
- param
- userId 用户id
- docId 文库id
- return
- 异常
- */
- func PayDoc(userId, docId string) error {
- resp, err := jyUserDocLib.DocDownload(context.Background(), &userlib.UserCollectRequest{
- AppId: config.JyDocsAppConfig.AppId,
- UserId: userId,
- DocId: docId,
- })
- if err != nil {
- log.Printf("%s SetUserCollect call error %v\n", userId, err)
- return err
- }
- if resp.Code != 1 {
- log.Printf("%s PayDoc fail Message %v\n", userId, resp.Message)
- return fmt.Errorf("下载文库失败")
- }
- return nil
- }
- func TodayCount(userId string) (int64, int64, error) {
- resp, err := jyUserDocLib.UserTodayCount(context.Background(), &userlib.UserTodayCountReq{
- AppId: config.JyDocsAppConfig.AppId,
- UserId: userId,
- ProductType: public.ProductTypeMemberFree,
- })
- if err != nil {
- log.Printf("%s UserTodayCount call error %v\n", userId, err)
- return 0, 0, err
- }
- if resp.Code != 1 {
- log.Printf("%s UserTodayCount fail Message %v\n", userId, resp.Message)
- return 0, 0, fmt.Errorf("获取用户下载次数失败")
- }
- return resp.Count, resp.TotalCount, nil
- }
|