package article import ( "context" "go-common/app/interface/main/app-channel/conf" article "go-common/app/interface/openplatform/article/model" artrpc "go-common/app/interface/openplatform/article/rpc/client" "go-common/library/net/metadata" "github.com/pkg/errors" ) // Dao is archive dao. type Dao struct { // rpc artRPC *artrpc.Service } // New new a archive dao. func New(c *conf.Config) (d *Dao) { d = &Dao{ // rpc artRPC: artrpc.New(c.ArticleRPC), } return } func (d *Dao) Articles(c context.Context, aids []int64) (ms map[int64]*article.Meta, err error) { ip := metadata.String(c, metadata.RemoteIP) arg := &article.ArgAids{Aids: aids, RealIP: ip} if ms, err = d.artRPC.ArticleMetas(c, arg); err != nil { err = errors.Wrapf(err, "%v", aids) } return }