package relation import ( "context" "go-common/app/interface/main/app-view/conf" relation "go-common/app/service/main/relation/model" relrpc "go-common/app/service/main/relation/rpc/client" "github.com/pkg/errors" ) type Dao struct { relationRPC *relrpc.Service } func New(c *conf.Config) (d *Dao) { d = &Dao{ relationRPC: relrpc.New(c.RelationRPC), } return } // Prompt prompt func (d *Dao) Prompt(c context.Context, mid, vmid int64, btype int8) (prompt bool, err error) { arg := &relation.ArgPrompt{Mid: mid, Fid: vmid, Btype: btype} if prompt, err = d.relationRPC.Prompt(c, arg); err != nil { err = errors.Wrapf(err, "%v", arg) } return } // Stat stat func (d *Dao) Stat(c context.Context, mid int64) (stat *relation.Stat, err error) { if stat, err = d.relationRPC.Stat(c, &relation.ArgMid{Mid: mid}); err != nil { err = errors.Wrapf(err, "%v", mid) } return } // Stats fids stats func (d *Dao) Stats(ctx context.Context, mids []int64) (res map[int64]*relation.Stat, err error) { arg := &relation.ArgMids{Mids: mids} if res, err = d.relationRPC.Stats(ctx, arg); err != nil { err = errors.Wrapf(err, "%v", arg) } return }