package dao import ( "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/model" "github.com/sirupsen/logrus" ) func (d *dataServant) IndexPosts(userId int64, offset int, limit int) ([]*model.PostFormated, error) { if d.useCacheIndex { if posts, err := d.cacheIndex.IndexPosts(userId, offset, limit); err == nil { logrus.Debugf("get index posts from cached by userId: %d", userId) return posts, nil } } logrus.Debugf("get index posts from database but useCacheIndex: %t", d.useCacheIndex) return d.getIndexPosts(userId, offset, limit) } // getIndexPosts _userId保留未来使用 // TODO: 未来可能根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; func (d *dataServant) getIndexPosts(_userId int64, offset int, limit int) ([]*model.PostFormated, error) { posts, err := (&model.Post{}).List(d.engine, &model.ConditionsT{ "visibility IN ?": []model.PostVisibleT{model.PostVisitPublic, model.PostVisitFriend}, "ORDER": "is_top DESC, latest_replied_on DESC", }, offset, limit) if err != nil { logrus.Debugf("getIndexPosts err: %v", err) return nil, err } return d.MergePosts(posts) } func (d *dataServant) indexActive(act core.IndexActionT) { if d.useCacheIndex { d.cacheIndex.SendAction(act) } }