1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package rpc
- import (
- "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlib"
- "app.yhyue.com/moapp/jy_docs/rpc/stdlib/stdlibclient"
- "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlib"
- "app.yhyue.com/moapp/jy_docs/rpc/userlib/userlibclient"
- "context"
- "fmt"
- "github.com/gogf/gf/v2/os/gcfg"
- "github.com/gogf/gf/v2/os/gctx"
- "github.com/tal-tech/go-zero/core/discov"
- "github.com/tal-tech/go-zero/zrpc"
- "log"
- )
- var (
- jyUserDocLib userlibclient.UserLib
- jyStdDocStdlib stdlibclient.Stdlib
- appId string
- )
- func init() {
- jyUserDocLib = userlibclient.NewUserLib(zrpc.MustNewClient(zrpc.RpcClientConf{
- Etcd: discov.EtcdConf{
- Hosts: gcfg.Instance().MustGet(gctx.New(), "etcd.jydocs.userlib.address", nil).Strings(),
- Key: gcfg.Instance().MustGet(gctx.New(), "etcd.jydocs.userlib.key", nil).String(),
- },
- }))
- jyStdDocStdlib = stdlibclient.NewStdlib(zrpc.MustNewClient(zrpc.RpcClientConf{
- Etcd: discov.EtcdConf{
- Hosts: gcfg.Instance().MustGet(gctx.New(), "etcd.jydocs.stdlib.address", nil).Strings(),
- Key: gcfg.Instance().MustGet(gctx.New(), "etcd.jydocs.stdlib.key", nil).String(),
- },
- }))
- appId = gcfg.Instance().MustGet(gctx.New(), "appid", "10000").String()
- }
- func PayDoc(userId, docId string) error {
- resp, err := jyUserDocLib.DocDownload(context.Background(), &userlib.UserCollectRequest{
- AppId: 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
- }
- /*
- 获取文库详情
- param
- userId 用户id
- docId 文库id
- return
- DocInfo 文库详情
- error 异常
- */
- func GetDocDetail(userId, docId string) (*stdlib.DocInfo, bool, bool, error) {
- resp, err := jyStdDocStdlib.DocGetCheck(context.Background(), &stdlib.DocGetCheckReq{
- AppId: appId,
- UserId: userId,
- DocId: docId,
- })
- if err != nil {
- log.Printf("%s GetDocDetail call error %v\n", userId, err)
- return nil, false, false, err
- }
- if resp.Code != 1 {
- log.Printf("%s GetDocDetail fail Message %v\n", userId, resp.Msg)
- return nil, false, false, fmt.Errorf("获取内容失败")
- }
- if resp.DocDeail == nil {
- return nil, false, false, fmt.Errorf("查询文档异常")
- }
- return resp.DocDeail, resp.IsBuy, resp.IsCollect, nil
- }
|