// 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 sakila import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/debug" "gorm.io/gorm" ) var ( _ core.TweetService = (*tweetSrv)(nil) _ core.TweetManageService = (*tweetManageSrv)(nil) _ core.TweetHelpService = (*tweetHelpSrv)(nil) ) type tweetSrv struct { *sqlxSrv stmtGetTweet *sqlx.Stmt stmtListTweet *sqlx.Stmt stmtListStar *sqlx.Stmt } type tweetManageSrv struct { *sqlxSrv cacheIndex core.CacheIndexService stmtAddTweet *sqlx.Stmt stmtDelTweet *sqlx.Stmt stmtStickTweet *sqlx.Stmt } type tweetHelpSrv struct { *sqlxSrv stmtAddTag *sqlx.Stmt stmtDelTag *sqlx.Stmt stmtListTag *sqlx.Stmt } // MergePosts post数据整合 func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { // TODO debug.NotImplemented() return nil, nil } // RevampPosts post数据整形修复 func (s *tweetHelpSrv) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetHelpSrv) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetHelpSrv) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.User, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) DeletePostCollection(p *core.PostCollection) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) { // TODO return 0, debug.ErrNotImplemented } func (s *tweetManageSrv) CreatePost(post *core.Post) (*core.Post, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) DeletePost(post *core.Post) ([]string, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) LockPost(post *core.Post) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) StickPost(post *core.Post) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) UpdatePost(post *core.Post) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*core.PostStar, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetManageSrv) DeletePostStar(p *core.PostStar) error { // TODO debug.NotImplemented() return nil } func (s *tweetManageSrv) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetManageSrv) DeleteTweet(userId int64, tweetId int64) ([]string, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetManageSrv) LockTweet(userId int64, tweetId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) StickTweet(userId int64, tweetId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) CreateReaction(userId int64, tweetId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) DeleteReaction(userId int64, reactionId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) CreateFavorite(userId int64, tweetId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetManageSrv) DeleteFavorite(userId int64, favoriteId int64) error { // TODO return debug.ErrNotImplemented } func (s *tweetSrv) GetPostByID(id int64) (*core.Post, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetPostCount(conditions *core.ConditionsT) (int64, error) { // TODO debug.NotImplemented() return 0, nil } func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetUserPostStarCount(userID int64) (int64, error) { // TODO debug.NotImplemented() return 0, nil } func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (int64, error) { // TODO debug.NotImplemented() return 0, nil } func (s *tweetSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetUserWalletBillCount(userID int64) (int64, error) { // TODO debug.NotImplemented() return 0, nil } func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetPostContentByID(id int64) (*core.PostContent, error) { // TODO debug.NotImplemented() return nil, nil } func (s *tweetSrv) TweetInfoById(id int64) (*cs.TweetInfo, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) TweetItemById(id int64) (*cs.TweetItem, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) UserTweets(visitorId, userId int64) (cs.TweetList, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { // TODO return nil, debug.ErrNotImplemented } func (s *tweetSrv) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { // TODO return nil, debug.ErrNotImplemented } func newTweetService(db *sqlx.DB) core.TweetService { return &tweetSrv{ sqlxSrv: newSqlxSrv(db), stmtGetTweet: c(`SELECT * FROM @user WHERE username=?`), stmtListTweet: c(`SELECT * FROM @user WHERE username=?`), stmtListStar: c(`SELECT * FROM @user WHERE username=?`), } } func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageService { return &tweetManageSrv{ sqlxSrv: newSqlxSrv(db), cacheIndex: cacheIndex, stmtAddTweet: c(`SELECT * FROM @user WHERE username=?`), stmtDelTweet: c(`SELECT * FROM @user WHERE username=?`), stmtStickTweet: c(`SELECT * FROM @user WHERE username=?`), } } func newTweetHelpService(db *sqlx.DB) core.TweetHelpService { return &tweetHelpSrv{ sqlxSrv: newSqlxSrv(db), stmtAddTag: c(`SELECT * FROM @user WHERE username=?`), stmtDelTag: c(`SELECT * FROM @user WHERE username=?`), stmtListTag: c(`SELECT * FROM @user WHERE username=?`), } }