98 lines
2.1 KiB
Go
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
|
||
|
}
|