diff --git a/internal/dao/slonik/metrics.go b/internal/dao/slonik/metrics.go new file mode 100644 index 00000000..79366f5f --- /dev/null +++ b/internal/dao/slonik/metrics.go @@ -0,0 +1,36 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package slonik + +import ( + "github.com/jackc/pgx/v5" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" +) + +type tweetMetricSrvA struct { + *pgxSrv +} + +func (s *tweetMetricSrvA) UpdateRankScore(metric *cs.TweetMetric) error { + // TODO + return cs.ErrNotImplemented +} + +func (s *tweetMetricSrvA) AddTweetMetric(postId int64) (err error) { + // TODO + return cs.ErrNotImplemented +} + +func (s *tweetMetricSrvA) DeleteTweetMetric(postId int64) (err error) { + // TODO + return cs.ErrNotImplemented +} + +func NewTweetMetricServentA(db *pgx.Conn) core.TweetMetricServantA { + return &tweetMetricSrvA{ + pgxSrv: newPgxSrv(db), + } +} diff --git a/internal/dao/slonik/slonik.go b/internal/dao/slonik/slonik.go index 7349a48a..a1f61a17 100644 --- a/internal/dao/slonik/slonik.go +++ b/internal/dao/slonik/slonik.go @@ -6,7 +6,6 @@ package slonik import ( "github.com/Masterminds/semver/v3" - "github.com/alimy/tryst/cfg" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/dao/cache" "github.com/rocboss/paopao-ce/internal/dao/security" @@ -22,7 +21,6 @@ var ( ) type dataSrv struct { - core.IndexPostsService core.WalletService core.MessageService core.TopicService @@ -36,6 +34,7 @@ type dataSrv struct { core.FollowingManageService core.SecurityService core.AttachmentCheckService + core.TweetMetricServantA } type webDataSrvA struct { @@ -46,38 +45,12 @@ type webDataSrvA struct { } func NewDataService() (core.DataService, core.VersionInfo) { - var ( - v core.VersionInfo - cis core.CacheIndexService - ) db := pgxDB() pvs := security.NewPhoneVerifyService() - ams := NewAuthorizationManageService() - ths := newTweetHelpService(db) - ips := newShipIndexService(db, ams, ths) - - // initialize core.CacheIndexService - cfg.On(cfg.Actions{ - "SimpleCacheIndex": func() { - // simpleCache use special post index service - ips = newSimpleIndexPostsService(db, ths) - cis, v = cache.NewSimpleCacheIndexService(ips) - }, - "BigCacheIndex": func() { - // TODO: make cache index post in different scence like friendship/followship/lightship - cis, v = cache.NewBigCacheIndexService(ips, ams) - }, - "RedisCacheIndex": func() { - cis, v = cache.NewRedisCacheIndexService(ips, ams) - }, - }, func() { - // defualt no cache - cis, v = cache.NewNoneCacheIndexService(ips) - }) - logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) - + tms := NewTweetMetricServentA(db) + cis := cache.NewEventCacheIndexSrv(tms) ds := &dataSrv{ - IndexPostsService: cis, + TweetMetricServantA: tms, WalletService: newWalletService(db), MessageService: newMessageService(db), TopicService: newTopicService(db), @@ -92,7 +65,7 @@ func NewDataService() (core.DataService, core.VersionInfo) { SecurityService: newSecurityService(db, pvs), AttachmentCheckService: security.NewAttachmentCheckService(), } - return ds, ds + return cache.NewCacheDataService(ds), ds } func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) { diff --git a/internal/dao/slonik/tweets.go b/internal/dao/slonik/tweets.go index 0f5055d7..d6f2deda 100644 --- a/internal/dao/slonik/tweets.go +++ b/internal/dao/slonik/tweets.go @@ -121,10 +121,9 @@ func (s *tweetManageSrv) HighlightPost(userId, postId int64) (res int, err error return } -func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT) error { +func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility cs.TweetVisibleType) error { // TODO - debug.NotImplemented() - return nil + return cs.ErrNotImplemented } func (s *tweetManageSrv) UpdatePost(post *ms.Post) error { @@ -334,6 +333,31 @@ func (s *tweetSrv) ListUserCommentTweets(user *cs.VistUser, limit int, offset in return nil, 0, debug.ErrNotImplemented } +func (s *tweetSrv) ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, cs.ErrNotImplemented +} + +func (s *tweetSrv) ListFollowingTweets(userId int64, limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, cs.ErrNotImplemented +} + +func (s *tweetSrv) ListIndexNewestTweets(limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, cs.ErrNotImplemented +} + +func (s *tweetSrv) ListIndexHotsTweets(limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, cs.ErrNotImplemented +} + +func (s *tweetSrv) ListSyncSearchTweets(limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, cs.ErrNotImplemented +} + func newTweetService(db *pgx.Conn) core.TweetService { return &tweetSrv{ pgxSrv: newPgxSrv(db),