1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package service
- import (
- "context"
- "go-common/app/interface/main/space/model"
- artmdl "go-common/app/interface/openplatform/article/model"
- "go-common/library/log"
- "go-common/library/net/metadata"
- )
- var _emptyArticle = make([]*artmdl.Meta, 0)
- // Article get articles by upMid.
- func (s *Service) Article(c context.Context, mid int64, pn, ps, sort int) (res *artmdl.UpArtMetas, err error) {
- ip := metadata.String(c, metadata.RemoteIP)
- if res, err = s.art.UpArtMetas(c, &artmdl.ArgUpArts{Mid: mid, Pn: pn, Ps: ps, Sort: sort, RealIP: ip}); err != nil {
- log.Error("s.art.UpArtMetas(%d,%d,%d) error(%v)", mid, pn, ps, err)
- return
- }
- if res != nil && len(res.Articles) == 0 {
- res.Articles = _emptyArticle
- }
- return
- }
- // UpArtStat get up all article stat.
- func (s *Service) UpArtStat(c context.Context, mid int64) (data *model.UpArtStat, err error) {
- addCache := true
- if data, err = s.dao.UpArtCache(c, mid); err != nil {
- addCache = false
- } else if data != nil {
- return
- }
- if data, err = s.dao.UpArtStat(c, mid); data != nil && addCache {
- s.cache.Do(c, func(c context.Context) {
- s.dao.SetUpArtCache(c, mid, data)
- })
- }
- return
- }
|