package rpc import ( "app.yhyue.com/moapp/jyPoints/rpc/integralclient" "context" "fmt" "github.com/zeromicro/go-zero/core/discov" "github.com/zeromicro/go-zero/zrpc" "jy-docs/config" "log" ) // 剑鱼积分RPC接口 var jyIntegralLib integralclient.Integral func init() { jyIntegralLib = integralclient.NewIntegral(zrpc.MustNewClient(zrpc.RpcClientConf{ Etcd: discov.EtcdConf{ Key: config.JyDocsAppConfig.RpcServers.Points.Key, Hosts: config.JyDocsAppConfig.RpcServers.Points.Address, }, })) } /* 积分查询 param userId 用户id return int64 剩余积分 error 异常 */ func GetUserPointValue(userId string) (int64, error) { resp, err := jyIntegralLib.IntegralBalanceCheck(context.Background(), &integralclient.Req{ AppId: config.JyDocsAppConfig.AppId, UserId: userId, }) if err != nil { log.Printf("%s getUserPointValue call error %v\n", userId, err) return -1, err } if resp.Code != 1 { log.Printf("%s getUserPointValue fail Message %v\n", userId, resp.Message) return -1, fmt.Errorf("查询积分异常") } return resp.Data, nil } /* 积分消费 param userId 用户id docId 文库id abstract 文库简介(积分流水列表展示) return error 异常 */ func SpendUserPoint(userId, docId, abstract string, value int64) (string, error) { resp, err := jyIntegralLib.IntegralConsume(context.Background(), &integralclient.Req{ AppId: config.JyDocsAppConfig.AppId, UserId: userId, PointType: 2003, //文库下载编号 Point: value, SourceId: docId, SourceType: "积分消耗", Abstract: abstract, }) if err != nil { log.Printf("%s SpendUserPoint call error %v\n", userId, err) return "", err } if resp.Code != 1 { log.Printf("%s SpendUserPoint fail Message %v\n", userId, resp.Message) return "", fmt.Errorf("积分扣除异常") } return resp.SerialNumber, nil }