2019-04-22 02:59:20 +00:00

98 lines
2.1 KiB
Go

package grpc
import (
"context"
"go-common/app/service/main/member/api"
"go-common/app/service/main/member/model"
)
// Exp get member exp info
func (s *MemberServer) Exp(ctx context.Context, req *api.MidReq) (*api.LevelInfoReply, error) {
res, err := s.svr.Exp(ctx, req.Mid)
if err != nil {
return nil, err
}
var levelInfoReply = &api.LevelInfoReply{
Cur: res.Cur,
Min: res.Min,
NowExp: res.NowExp,
NextExp: res.NextExp,
}
return levelInfoReply, nil
}
// Level get member lebel info
func (s *MemberServer) Level(ctx context.Context, req *api.MidReq) (*api.LevelInfoReply, error) {
res, err := s.svr.Level(ctx, req.Mid)
if err != nil {
return nil, err
}
var levelInfoReply = &api.LevelInfoReply{
Cur: res.Cur,
Min: res.Min,
NowExp: res.NowExp,
NextExp: res.NextExp,
}
return levelInfoReply, nil
}
// UpdateExp update member exp value
func (s *MemberServer) UpdateExp(ctx context.Context, req *api.AddExpReq) (*api.EmptyStruct, error) {
err := s.svr.UpdateExp(ctx, &model.ArgAddExp{
Mid: req.Mid,
Count: req.Count,
Reason: req.Reason,
Operate: req.Operate,
IP: req.Ip,
})
if err != nil {
return nil, err
}
return &api.EmptyStruct{}, nil
}
// ExpLog get member exp logs
func (s *MemberServer) ExpLog(ctx context.Context, req *api.MidReq) (*api.UserLogsReply, error) {
res, err := s.svr.ExpLog(ctx, req.Mid, req.RealIP)
if err != nil {
return nil, err
}
userLogs := make([]*api.UserLogReply, 0, len(res))
for _, v := range res {
var userLog = &api.UserLogReply{
Mid: v.Mid,
Ip: v.IP,
Ts: v.TS,
LogId: v.LogID,
Content: v.Content,
}
userLogs = append(userLogs, userLog)
}
userLogsReply := &api.UserLogsReply{
UserLogs: userLogs,
}
return userLogsReply, nil
}
// ExpStat get exp status
func (s *MemberServer) ExpStat(ctx context.Context, req *api.MidReq) (*api.ExpStatReply, error) {
res, err := s.svr.Stat(ctx, req.Mid)
if err != nil {
return nil, err
}
expStatReply := &api.ExpStatReply{
Login: res.Login,
Watch: res.Watch,
Coin: res.Coin,
Share: res.Share,
}
return expStatReply, nil
}