-
Notifications
You must be signed in to change notification settings - Fork 0
/
card.go
91 lines (80 loc) · 2.07 KB
/
card.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package card
import (
"context"
"go-common/app/interface/main/account/conf"
v1 "go-common/app/service/main/card/api/grpc/v1"
)
// Service .
type Service struct {
// conf
c *conf.Config
// card service
cardRPC v1.CardClient
}
// New create service instance and return.
func New(c *conf.Config) (s *Service) {
s = &Service{
c: c,
}
cardRPC, err := v1.NewClient(c.CardClient)
if err != nil {
panic(err)
}
s.cardRPC = cardRPC
return
}
// UserCard user card info.
func (s *Service) UserCard(c context.Context, mid int64) (res *v1.ModelUserCard, err error) {
var reply *v1.UserCardReply
if reply, err = s.cardRPC.UserCard(c, &v1.UserCardReq{Mid: mid}); err != nil {
return
}
res = reply.Res
return
}
// Card get card info by id.
func (s *Service) Card(c context.Context, id int64) (res *v1.ModelCard, err error) {
var reply *v1.CardReply
if reply, err = s.cardRPC.Card(c, &v1.CardReq{Id: id}); err != nil {
return
}
res = reply.Data_0
return
}
// CardHots get all hots cards.
func (s *Service) CardHots(c context.Context) (res []*v1.ModelCard, err error) {
var reply *v1.CardHotsReply
if reply, err = s.cardRPC.CardHots(c, &v1.CardHotsReq{}); err != nil {
return
}
res = reply.Data_0
return
}
// AllGroup all group.
func (s *Service) AllGroup(c context.Context, mid int64) (res *v1.ModelAllGroupResp, err error) {
var reply *v1.AllGroupReply
if reply, err = s.cardRPC.AllGroup(c, &v1.AllGroupReq{Mid: mid}); err != nil {
return
}
res = reply.Res
return
}
// CardsByGid get cards by gid.
func (s *Service) CardsByGid(c context.Context, id int64) (res []*v1.ModelCard, err error) {
var reply *v1.CardsByGidReply
if reply, err = s.cardRPC.CardsByGid(c, &v1.CardsByGidReq{Gid: id}); err != nil {
return
}
res = reply.Data_0
return
}
// Equip card equip.
func (s *Service) Equip(c context.Context, arg *v1.ModelArgEquip) (err error) {
_, err = s.cardRPC.Equip(c, &v1.EquipReq{Arg: arg})
return
}
// Demount card demount.
func (s *Service) Demount(c context.Context, mid int64) (err error) {
_, err = s.cardRPC.DemountEquip(c, &v1.DemountEquipReq{Mid: mid})
return
}