diff --git a/internal/core/cs/tweets.go b/internal/core/cs/tweets.go index 5c0e3603..34060030 100644 --- a/internal/core/cs/tweets.go +++ b/internal/core/cs/tweets.go @@ -88,8 +88,8 @@ type TweetInfo struct { type TweetItem struct { ID int64 `json:"id"` UserID int64 `json:"user_id"` - User *UserInfo `json:"user"` - Contents []*TweetBlock `json:"contents"` + User *UserInfo `db:"user" json:"user"` + Contents []*TweetBlock `db:"-" json:"contents"` CommentCount int64 `json:"comment_count"` CollectionCount int64 `json:"collection_count"` UpvoteCount int64 `json:"upvote_count"` diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 4ea9126d..15ec3a9f 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -38,7 +38,7 @@ type TweetManageService interface { CreatePostCollection(postID, userID int64) (*ms.PostCollection, error) DeletePostCollection(p *ms.PostCollection) error CreatePostContent(content *ms.PostContent) (*ms.PostContent, error) - CreateAttachment(obj *cs.Attachment) (int64, error) + CreateAttachment(obj *ms.Attachment) (int64, error) } // TweetHelpService 推文辅助服务 diff --git a/internal/dao/jinzhu/dbr/post_collection.go b/internal/dao/jinzhu/dbr/post_collection.go index 8ac6c113..23604ff1 100644 --- a/internal/dao/jinzhu/dbr/post_collection.go +++ b/internal/dao/jinzhu/dbr/post_collection.go @@ -14,8 +14,8 @@ import ( type PostCollection struct { *Model Post *Post `json:"-"` - PostID int64 `json:"post_id"` - UserID int64 `json:"user_id"` + PostID int64 `db:"post_id" json:"post_id"` + UserID int64 `db:"user_id" json:"user_id"` } func (p *PostCollection) Get(db *gorm.DB) (*PostCollection, error) { diff --git a/internal/dao/jinzhu/dbr/post_content.go b/internal/dao/jinzhu/dbr/post_content.go index 672cc57e..5f257630 100644 --- a/internal/dao/jinzhu/dbr/post_content.go +++ b/internal/dao/jinzhu/dbr/post_content.go @@ -44,7 +44,7 @@ type PostContent struct { } type PostContentFormated struct { - ID int64 `json:"id"` + ID int64 `db:"id" json:"id"` PostID int64 `json:"post_id"` Content string `json:"content"` Type PostContentT `json:"type"` diff --git a/internal/dao/jinzhu/dbr/user.go b/internal/dao/jinzhu/dbr/user.go index a6ef63ef..7297e39f 100644 --- a/internal/dao/jinzhu/dbr/user.go +++ b/internal/dao/jinzhu/dbr/user.go @@ -28,7 +28,7 @@ type User struct { } type UserFormated struct { - ID int64 `json:"id"` + ID int64 `db:"id" json:"id"` Nickname string `json:"nickname"` Username string `json:"username"` Status int `json:"status"` diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index a9dc2a27..49cc2d56 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -197,9 +197,9 @@ func (s *tweetManageSrv) CreatePostContent(content *ms.PostContent) (*ms.PostCon return content.Create(s.db) } -func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) { - // TODO - return 0, debug.ErrNotImplemented +func (s *tweetManageSrv) CreateAttachment(obj *ms.Attachment) (int64, error) { + attachment, err := obj.Create(s.db) + return attachment.ID, err } func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) { diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go index f37dc872..5c1d6883 100644 --- a/internal/dao/sakila/contacts.go +++ b/internal/dao/sakila/contacts.go @@ -22,32 +22,27 @@ type contactManageSrv struct { } func (s *contactManageSrv) RequestingFriend(userId int64, friendId int64, greetings string) (err error) { - // TODO - debug.NotImplemented() - return nil + _, err = s.q.RejectFriend.Query(userId, friendId, greetings) + return } func (s *contactManageSrv) AddFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil + _, err = s.q.AddFriend.Exec(userId, friendId) + return } func (s *contactManageSrv) RejectFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil + _, err = s.q.RejectFriend.Exec(userId, friendId) + return } func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil + _, err = s.q.DelFriend.Exec(userId, friendId) + return } func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*ms.ContactList, error) { // TODO - debug.NotImplemented() return nil, nil } diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go index e9272026..b2db0c76 100644 --- a/internal/dao/sakila/tweets.go +++ b/internal/dao/sakila/tweets.go @@ -58,57 +58,140 @@ type tweetHelpSrvA struct { // MergePosts post数据整合 func (s *tweetHelpSrv) MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil + postIds := make([]int64, 0, len(posts)) + userIds := make([]int64, 0, len(posts)) + for _, post := range posts { + postIds = append(postIds, post.ID) + userIds = append(userIds, post.UserID) + } + postContents, err := s.getPostContentsByIDs(postIds) + if err != nil { + return nil, err + } + users, err := s.getUsersByIDs(userIds) + if err != nil { + return nil, err + } + userMap := make(map[int64]*dbr.UserFormated, len(users)) + for _, user := range users { + userMap[user.ID] = user + } + contentMap := make(map[int64][]*dbr.PostContentFormated, len(postContents)) + for _, content := range postContents { + contentMap[content.PostID] = append(contentMap[content.PostID], content) + } + // 数据整合 + postsFormated := make([]*dbr.PostFormated, 0, len(posts)) + for _, post := range posts { + postFormated := post.Format() + postFormated.User = userMap[post.UserID] + postFormated.Contents = contentMap[post.ID] + postsFormated = append(postsFormated, postFormated) + } + return postsFormated, nil } // RevampPosts post数据整形修复 func (s *tweetHelpSrv) RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil + postIds := make([]int64, 0, len(posts)) + userIds := make([]int64, 0, len(posts)) + for _, post := range posts { + postIds = append(postIds, post.ID) + userIds = append(userIds, post.UserID) + } + postContents, err := s.getPostContentsByIDs(postIds) + if err != nil { + return nil, err + } + users, err := s.getUsersByIDs(userIds) + if err != nil { + return nil, err + } + userMap := make(map[int64]*dbr.UserFormated, len(users)) + for _, user := range users { + userMap[user.ID] = user + } + contentMap := make(map[int64][]*dbr.PostContentFormated, len(postContents)) + for _, content := range postContents { + contentMap[content.PostID] = append(contentMap[content.PostID], content) + } + // 数据整合 + for _, post := range posts { + post.User = userMap[post.UserID] + post.Contents = contentMap[post.ID] + } + return posts, nil } -func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContentFormated, error) { + res := []*dbr.PostContentFormated{} + err := s.inSelect(s.db, &res, s.q.GetPostContentByIds, ids) + return res, err } -func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.User, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.UserFormated, error) { + res := []*dbr.UserFormated{} + err := s.inSelect(s.db, &res, s.q.GetUsersByIds, ids) + return res, err } func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*ms.PostCollection, error) { - // TODO - debug.NotImplemented() - return nil, nil + res, err := s.q.AddPostCollection.Exec(postID, userID) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + return &ms.PostCollection{ + Model: &dbr.Model{ + ID: id, + }, + PostID: postID, + UserID: userID, + }, nil } -func (s *tweetManageSrv) DeletePostCollection(p *ms.PostCollection) error { - // TODO - debug.NotImplemented() - return nil +func (s *tweetManageSrv) DeletePostCollection(r *ms.PostCollection) error { + _, err := s.q.DelPostCollection.Exec(r.ID) + return err } -func (s *tweetManageSrv) CreatePostContent(content *ms.PostContent) (*ms.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *tweetManageSrv) CreatePostContent(r *ms.PostContent) (*ms.PostContent, error) { + res, err := s.q.AddPostContent.Exec(r.PostID, r.UserID, r.Content, r.Type, r.Sort) + if err != nil { + return nil, err + } + r.Model = &dbr.Model{} + r.ID, err = res.LastInsertId() + if err != nil { + return nil, err + } + return r, nil } -func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) { - // TODO - return 0, debug.ErrNotImplemented +func (s *tweetManageSrv) CreateAttachment(r *ms.Attachment) (int64, error) { + res, err := s.q.AddAttachment.Exec(r.UserID, r.FileSize, r.ImgWidth, r.ImgHeight, r.Type, r.Content) + if err != nil { + return 0, err + } + return res.LastInsertId() } -func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *tweetManageSrv) CreatePost(r *ms.Post) (*ms.Post, error) { + res, err := s.q.AddPost.Exec(r.UserID, r.Visibility, r.Tags, r.AttachmentPrice, r.IP, r.IPLoc) + if err != nil { + return nil, err + } + if id, err := res.LastInsertId(); err == nil { + r.Model = &dbr.Model{ + ID: id, + } + } else { + return nil, err + } + return r, nil } func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) { @@ -117,164 +200,193 @@ func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) { return nil, nil } -func (s *tweetManageSrv) LockPost(post *ms.Post) error { - // TODO - debug.NotImplemented() - return nil +func (s *tweetManageSrv) LockPost(r *ms.Post) error { + _, err := s.q.LockPost.Exec(r.ID) + return err } -func (s *tweetManageSrv) StickPost(post *ms.Post) error { - // TODO - debug.NotImplemented() - return nil +func (s *tweetManageSrv) StickPost(r *ms.Post) error { + _, err := s.q.StickPost.Exec(r.ID) + return err } -func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT) error { - // TODO - debug.NotImplemented() - return nil +func (s *tweetManageSrv) VisiblePost(r *ms.Post, visibility core.PostVisibleT) error { + _, err := s.q.VisiblePost.Exec(r.ID, visibility) + return err } -func (s *tweetManageSrv) UpdatePost(post *ms.Post) error { - // TODO - debug.NotImplemented() +func (s *tweetManageSrv) UpdatePost(r *ms.Post) error { + if _, err := s.q.UpdatePost.Exec(r.CommentCount, r.UpvoteCount, r.ID); err != nil { + return err + } + s.cis.SendAction(core.IdxActUpdatePost, r) return nil } func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*ms.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil + res, err := s.q.AddPostStar.Exec(postID, userID) + if err != nil { + return nil, err + } + id, err := res.LastInsertId() + if err != nil { + return nil, err + } + return &ms.PostStar{ + Model: &dbr.Model{ + ID: id, + }, + PostID: postID, + UserID: userID, + }, nil } -func (s *tweetManageSrv) DeletePostStar(p *ms.PostStar) error { - // TODO - debug.NotImplemented() - return nil +func (s *tweetManageSrv) DeletePostStar(r *ms.PostStar) error { + _, err := s.q.DelPostStar.Exec(r.ID) + return err } func (s *tweetSrv) GetPostByID(id int64) (*ms.Post, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.Post{} + err := s.q.GetPostById.Get(res, id) + return res, err } func (s *tweetSrv) GetPosts(conditions *ms.ConditionsT, offset, limit int) ([]*ms.Post, error) { - // TODO + // TODO 需要精细化接口 debug.NotImplemented() return nil, nil } func (s *tweetSrv) GetPostCount(conditions *ms.ConditionsT) (int64, error) { - // TODO + // TODO 需要精细化接口 debug.NotImplemented() return 0, nil } func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*ms.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.PostStar{} + err := s.q.GetUserPostStar.Get(res, postID, userID) + return res, err } func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*ms.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.PostStar{} + err := s.q.GetUserPostStar.Select(&res, userID, limit, offset) + return res, err } -func (s *tweetSrv) GetUserPostStarCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *tweetSrv) GetUserPostStarCount(userID int64) (res int64, err error) { + err = s.q.GetUserPostStarCount.Get(&res, userID) + return } func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*ms.PostCollection, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.PostCollection{} + err := s.q.GetUserPostCollection.Get(res, postID, userID) + return res, err } func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*ms.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) ([]*ms.WalletStatement, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.PostCollection{} + err := s.q.GetUserPostCollections.Select(&res, userID, limit, offset) + return res, err } -func (s *tweetSrv) GetUserWalletBillCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil +func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (res int64, err error) { + err = s.q.GetUserPostCollectionCount.Get(&res) + return } func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*ms.PostAttachmentBill, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.PostAttachmentBill{} + err := s.q.GetPostAttachmentBill.Get(res, postID, userID) + return res, err } func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*ms.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.PostContent{} + err := s.inSelect(s.db, &res, s.q.GetPostContetnsByIds, ids) + return res, err } func (s *tweetSrv) GetPostContentByID(id int64) (*ms.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.PostContent{} + err := s.q.GetPostContentById.Get(res, id) + return res, err } func (s *tweetSrvA) TweetInfoById(id int64) (*cs.TweetInfo, error) { - // TODO - return nil, debug.ErrNotImplemented + res := &cs.TweetInfo{} + err := s.q.TweetInfoById.Get(res, id) + return res, err } func (s *tweetSrvA) TweetItemById(id int64) (*cs.TweetItem, error) { - // TODO - return nil, debug.ErrNotImplemented + res := &cs.TweetItem{} + err := s.q.TweetItemById.Get(res, id) + if err != nil { + return nil, err + } + // TODO need add contents info to res + return res, nil +} + +func (s *tweetSrvA) UserTweets(visitorId, userId int64) (res cs.TweetList, err error) { + res = cs.TweetList{} + switch s.checkRelationBy(visitorId, userId) { + case 0: // admin + err = s.q.UserTweetsByAdmin.Select(&res, userId) + case 1: // self + err = s.q.UserTweetsBySelf.Select(&res, userId) + case 2: // friend + err = s.q.UserTweetsByFriend.Select(&res, userId) + case 3: // follower + fallthrough + default: // guest + err = s.q.UserTweetsByGuest.Select(&res, userId) + } + if err != nil { + return nil, err + } + // TODO need add contents info to res + return res, nil } -func (s *tweetSrvA) UserTweets(visitorId, userId int64) (cs.TweetList, error) { +// checkRelationBy check the relation of visitor with user +func (s *tweetSrvA) checkRelationBy(visitorId, userId int64) uint { // TODO - return nil, debug.ErrNotImplemented + return 0 } func (s *tweetSrvA) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { - // TODO - return nil, debug.ErrNotImplemented + res := &cs.ReactionItem{} + err := s.q.ReactionByTweetId.Get(res, userId, tweetId) + return res, err } func (s *tweetSrvA) UserReactions(userId int64, limit int, offset int) (cs.ReactionList, error) { - // TODO - return nil, debug.ErrNotImplemented + res := cs.ReactionList{} + err := s.q.UserReactions.Select(&res, userId) + return res, err } func (s *tweetSrvA) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { - // TODO - return nil, debug.ErrNotImplemented + res := &cs.FavoriteItem{} + err := s.q.FavoriteByTweetId.Get(res, userId, tweetId) + return res, err } func (s *tweetSrvA) UserFavorites(userId int64, limit int, offset int) (cs.FavoriteList, error) { - // TODO - return nil, debug.ErrNotImplemented + res := cs.FavoriteList{} + err := s.q.UserFavorites.Select(&res, userId) + return res, err } func (s *tweetSrvA) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { - // TODO - return nil, debug.ErrNotImplemented + res := &cs.AttachmentBill{} + err := s.q.AttachmentByTweetId.Get(res, userId, tweetId) + return res, err } func (s *tweetManageSrvA) CreateAttachment(obj *cs.Attachment) (int64, error) { diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go index 9611b498..c877f475 100644 --- a/internal/dao/sakila/user.go +++ b/internal/dao/sakila/user.go @@ -8,8 +8,8 @@ import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc" - "github.com/rocboss/paopao-ce/pkg/debug" ) var ( @@ -22,45 +22,48 @@ type userManageSrv struct { } func (s *userManageSrv) GetUserByID(id int64) (*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.User{} + err := s.q.GetUserById.Get(res, id) + return res, err } func (s *userManageSrv) GetUserByUsername(username string) (*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.User{} + err := s.q.GetUserByUsername.Get(res, username) + return res, err } func (s *userManageSrv) GetUserByPhone(phone string) (*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := &ms.User{} + err := s.q.GetUserByPhone.Get(res, phone) + return res, err } func (s *userManageSrv) GetUsersByIDs(ids []int64) ([]*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.User{} + err := s.inSelect(s.db, &res, s.q.GetUsersByIds, ids) + return res, err } func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil + res := []*ms.User{} + err := s.q.GetUsersByKeyword.Select(&res, keyword) + return res, err } -func (s *userManageSrv) CreateUser(user *ms.User) (*ms.User, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *userManageSrv) CreateUser(r *ms.User) (*ms.User, error) { + res, err := s.q.AddUser.Exec(r.Username, r.Nickname, r.Password, r.Salt, r.Avatar) + if err != nil { + return nil, err + } + r.Model = &dbr.Model{} + r.ID, err = res.LastInsertId() + return r, err } -func (s *userManageSrv) UpdateUser(user *ms.User) error { - // TODO - debug.NotImplemented() - return nil +func (s *userManageSrv) UpdateUser(r *ms.User) error { + _, err := s.q.UpdateUser.Exec(r.Nickname, r.Password, r.Salt, r.Phone, r.Status) + return err } func newUserManageService(db *sqlx.DB) core.UserManageService { diff --git a/internal/dao/sakila/yesql/cc/yesql.go b/internal/dao/sakila/yesql/cc/yesql.go index 0483dbb3..78351e25 100644 --- a/internal/dao/sakila/yesql/cc/yesql.go +++ b/internal/dao/sakila/yesql/cc/yesql.go @@ -12,38 +12,83 @@ import ( ) const ( - _UserInfo_AuthorizationManage = `SELECT * FROM @user WHERE username=?` - _UserInfo_CommentManage = `SELECT * FROM @user WHERE username=?` - _UserInfo_Comment = `SELECT * FROM @user WHERE username=?` - _UserInfo_ContactManager = `SELECT * FROM @user WHERE username=?` - _UserInfo_FollowIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_FollowIndex = `SELECT * FROM @user WHERE username=?` - _UserInfo_FriendIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?` - _UserInfo_LightIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?` - _UserInfo_Message = `SELECT * FROM @user WHERE username=?` - _UserInfo_Security = `SELECT * FROM @user WHERE username=?` - _UserInfo_SimpleIndexA = `SELECT * FROM @user WHERE username=?` - _UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?` - _DecrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)` - _HotTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?` - _IncrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)` - _InsertTag_TopicA = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)` - _NewestTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?` - _TagsByIdA_TopicA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0` - _TagsByIdB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)` - _TagsByKeywordA_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6` - _TagsByKeywordB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6` - _TagsForIncr_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` - _UserInfo_TweetA = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetHelpA = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetHelp = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetManageA = `SELECT * FROM @user WHERE username=?` - _UserInfo_TweetManage = `SELECT * FROM @user WHERE username=?` - _UserInfo_Tweet = `SELECT * FROM @user WHERE username=?` - _UserInfo_UserManage = `SELECT * FROM @user WHERE username=?` - _UserInfo_Wallet = `SELECT * FROM @user WHERE username=?` + _UserInfo_AuthorizationManage = `SELECT * FROM @user WHERE username=?` + _UserInfo_CommentManage = `SELECT * FROM @user WHERE username=?` + _UserInfo_Comment = `SELECT * FROM @user WHERE username=?` + _AddFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _DelFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _GetContacts_ContactManager = `SELECT * FROM @user WHERE username=?` + _IsFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _RejectFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _RequestingFriend_ContactManager = `SELECT * FROM @user WHERE username=?` + _UserInfo_FollowIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_FollowIndex = `SELECT * FROM @user WHERE username=?` + _UserInfo_FriendIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?` + _UserInfo_LightIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?` + _UserInfo_Message = `SELECT * FROM @user WHERE username=?` + _UserInfo_Security = `SELECT * FROM @user WHERE username=?` + _UserInfo_SimpleIndexA = `SELECT * FROM @user WHERE username=?` + _UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?` + _DecrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)` + _HotTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?` + _IncrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)` + _InsertTag_TopicA = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)` + _NewestTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?` + _TagsByIdA_TopicA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0` + _TagsByIdB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)` + _TagsByKeywordA_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6` + _TagsByKeywordB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6` + _TagsForIncr_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` + _AttachmentByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _FavoriteByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _ReactionByTweetId_TweetA = `SELECT * FROM @user WHERE username=?` + _TweetInfoById_TweetA = `SELECT * FROM @user WHERE username=?` + _TweetItemById_TweetA = `SELECT * FROM @user WHERE username=?` + _UserFavorites_TweetA = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetA = `SELECT * FROM @user WHERE username=?` + _UserReactions_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByAdmin_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByFriend_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsByGuest_TweetA = `SELECT * FROM @user WHERE username=?` + _UserTweetsBySelf_TweetA = `SELECT * FROM @user WHERE username=?` + _GetPostAttachmentBill_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostById_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostContentById_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPostContetnsByIds_Tweet = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)` + _GetPostCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetPosts_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollection_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollectionCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostCollections_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStar_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStarCount_Tweet = `SELECT * FROM @user WHERE username=?` + _GetUserPostStars_Tweet = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetHelpA = `SELECT * FROM @user WHERE username=?` + _GetPostContentByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` + _GetUsersByIds_TweetHelp = `SELECT * FROM @user WHERE username=?` + _UserInfo_TweetManageA = `SELECT * FROM @user WHERE username=?` + _AddAttachment_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostContent_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPostCollection_TweetManage = `SELECT * FROM @user WHERE username=?` + _DelPostStar_TweetManage = `SELECT * FROM @user WHERE username=?` + _LockPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _StickPost_TweetManage = `SELECT * FROM @user WHERE username=?` + _UpdatePost_TweetManage = `SELECT * FROM @user WHERE username=?` + _VisiblePost_TweetManage = `SELECT * FROM @user WHERE username=?` + _AddUser_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserById_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserByPhone_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUserByUsername_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUsersByIds_UserManage = `SELECT * FROM @user WHERE username=?` + _GetUsersByKeyword_UserManage = `SELECT * FROM @user WHERE username=?` + _UpdateUser_UserManage = `SELECT * FROM @user WHERE username=?` + _UserInfo_Wallet = `SELECT * FROM @user WHERE username=?` ) type AuthorizationManage struct { @@ -62,8 +107,13 @@ type CommentManage struct { } type ContactManager struct { - yesql.Namespace `yesql:"contact_manager"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"contact_manager"` + AddFriend *sqlx.Stmt `yesql:"add_friend"` + DelFriend *sqlx.Stmt `yesql:"del_friend"` + GetContacts *sqlx.Stmt `yesql:"get_contacts"` + IsFriend *sqlx.Stmt `yesql:"is_friend"` + RejectFriend *sqlx.Stmt `yesql:"reject_friend"` + RequestingFriend *sqlx.Stmt `yesql:"requesting_friend"` } type FollowIndex struct { @@ -131,18 +181,41 @@ type TopicA struct { } type Tweet struct { - yesql.Namespace `yesql:"tweet"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"tweet"` + GetPostContetnsByIds string `yesql:"get_post_contetns_by_ids"` + GetPostAttachmentBill *sqlx.Stmt `yesql:"get_post_attachment_bill"` + GetPostById *sqlx.Stmt `yesql:"get_post_by_id"` + GetPostContentById *sqlx.Stmt `yesql:"get_post_content_by_id"` + GetPostCount *sqlx.Stmt `yesql:"get_post_count"` + GetPosts *sqlx.Stmt `yesql:"get_posts"` + GetUserPostCollection *sqlx.Stmt `yesql:"get_user_post_collection"` + GetUserPostCollectionCount *sqlx.Stmt `yesql:"get_user_post_collection_count"` + GetUserPostCollections *sqlx.Stmt `yesql:"get_user_post_collections"` + GetUserPostStar *sqlx.Stmt `yesql:"get_user_post_star"` + GetUserPostStarCount *sqlx.Stmt `yesql:"get_user_post_star_count"` + GetUserPostStars *sqlx.Stmt `yesql:"get_user_post_stars"` } type TweetA struct { - yesql.Namespace `yesql:"tweet_a"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"tweet_a"` + AttachmentByTweetId *sqlx.Stmt `yesql:"attachment_by_tweet_id"` + FavoriteByTweetId *sqlx.Stmt `yesql:"favorite_by_tweet_id"` + ReactionByTweetId *sqlx.Stmt `yesql:"reaction_by_tweet_id"` + TweetInfoById *sqlx.Stmt `yesql:"tweet_info_by_id"` + TweetItemById *sqlx.Stmt `yesql:"tweet_item_by_id"` + UserFavorites *sqlx.Stmt `yesql:"user_favorites"` + UserInfo *sqlx.Stmt `yesql:"user_info"` + UserReactions *sqlx.Stmt `yesql:"user_reactions"` + UserTweetsByAdmin *sqlx.Stmt `yesql:"user_tweets_by_admin"` + UserTweetsByFriend *sqlx.Stmt `yesql:"user_tweets_by_friend"` + UserTweetsByGuest *sqlx.Stmt `yesql:"user_tweets_by_guest"` + UserTweetsBySelf *sqlx.Stmt `yesql:"user_tweets_by_self"` } type TweetHelp struct { - yesql.Namespace `yesql:"tweet_help"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"tweet_help"` + GetPostContentByIds string `yesql:"get_post_content_by_ids"` + GetUsersByIds string `yesql:"get_users_by_ids"` } type TweetHelpA struct { @@ -151,8 +224,19 @@ type TweetHelpA struct { } type TweetManage struct { - yesql.Namespace `yesql:"tweet_manage"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"tweet_manage"` + AddAttachment *sqlx.Stmt `yesql:"add_attachment"` + AddPost *sqlx.Stmt `yesql:"add_post"` + AddPostCollection *sqlx.Stmt `yesql:"add_post_collection"` + AddPostContent *sqlx.Stmt `yesql:"add_post_content"` + AddPostStar *sqlx.Stmt `yesql:"add_post_star"` + DelPost *sqlx.Stmt `yesql:"del_post"` + DelPostCollection *sqlx.Stmt `yesql:"del_post_collection"` + DelPostStar *sqlx.Stmt `yesql:"del_post_star"` + LockPost *sqlx.Stmt `yesql:"lock_post"` + StickPost *sqlx.Stmt `yesql:"stick_post"` + UpdatePost *sqlx.Stmt `yesql:"update_post"` + VisiblePost *sqlx.Stmt `yesql:"visible_post"` } type TweetManageA struct { @@ -161,8 +245,14 @@ type TweetManageA struct { } type UserManage struct { - yesql.Namespace `yesql:"user_manage"` - UserInfo *sqlx.Stmt `yesql:"user_info"` + yesql.Namespace `yesql:"user_manage"` + GetUsersByIds string `yesql:"get_users_by_ids"` + AddUser *sqlx.Stmt `yesql:"add_user"` + GetUserById *sqlx.Stmt `yesql:"get_user_by_id"` + GetUserByPhone *sqlx.Stmt `yesql:"get_user_by_phone"` + GetUserByUsername *sqlx.Stmt `yesql:"get_user_by_username"` + GetUsersByKeyword *sqlx.Stmt `yesql:"get_users_by_keyword"` + UpdateUser *sqlx.Stmt `yesql:"update_user"` } type Wallet struct { @@ -220,7 +310,22 @@ func BuildContactManager(p yesql.PreparexBuilder, ctx ...context.Context) (obj * c = context.Background() } obj = &ContactManager{} - if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_ContactManager))); err != nil { + if obj.AddFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddFriend_ContactManager))); err != nil { + return + } + if obj.DelFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelFriend_ContactManager))); err != nil { + return + } + if obj.GetContacts, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetContacts_ContactManager))); err != nil { + return + } + if obj.IsFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_IsFriend_ContactManager))); err != nil { + return + } + if obj.RejectFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RejectFriend_ContactManager))); err != nil { + return + } + if obj.RequestingFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_RequestingFriend_ContactManager))); err != nil { return } return @@ -405,8 +510,40 @@ func BuildTweet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet, er } else { c = context.Background() } - obj = &Tweet{} - if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_Tweet))); err != nil { + obj = &Tweet{ + GetPostContetnsByIds: p.QueryHook(_GetPostContetnsByIds_Tweet), + } + if obj.GetPostAttachmentBill, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostAttachmentBill_Tweet))); err != nil { + return + } + if obj.GetPostById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostById_Tweet))); err != nil { + return + } + if obj.GetPostContentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostContentById_Tweet))); err != nil { + return + } + if obj.GetPostCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPostCount_Tweet))); err != nil { + return + } + if obj.GetPosts, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetPosts_Tweet))); err != nil { + return + } + if obj.GetUserPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollection_Tweet))); err != nil { + return + } + if obj.GetUserPostCollectionCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollectionCount_Tweet))); err != nil { + return + } + if obj.GetUserPostCollections, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostCollections_Tweet))); err != nil { + return + } + if obj.GetUserPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStar_Tweet))); err != nil { + return + } + if obj.GetUserPostStarCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStarCount_Tweet))); err != nil { + return + } + if obj.GetUserPostStars, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserPostStars_Tweet))); err != nil { return } return @@ -420,9 +557,42 @@ func BuildTweetA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetA, c = context.Background() } obj = &TweetA{} + if obj.AttachmentByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AttachmentByTweetId_TweetA))); err != nil { + return + } + if obj.FavoriteByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FavoriteByTweetId_TweetA))); err != nil { + return + } + if obj.ReactionByTweetId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ReactionByTweetId_TweetA))); err != nil { + return + } + if obj.TweetInfoById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetInfoById_TweetA))); err != nil { + return + } + if obj.TweetItemById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetItemById_TweetA))); err != nil { + return + } + if obj.UserFavorites, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserFavorites_TweetA))); err != nil { + return + } if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetA))); err != nil { return } + if obj.UserReactions, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserReactions_TweetA))); err != nil { + return + } + if obj.UserTweetsByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByAdmin_TweetA))); err != nil { + return + } + if obj.UserTweetsByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByFriend_TweetA))); err != nil { + return + } + if obj.UserTweetsByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsByGuest_TweetA))); err != nil { + return + } + if obj.UserTweetsBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserTweetsBySelf_TweetA))); err != nil { + return + } return } @@ -433,9 +603,9 @@ func BuildTweetHelp(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet } else { c = context.Background() } - obj = &TweetHelp{} - if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetHelp))); err != nil { - return + obj = &TweetHelp{ + GetPostContentByIds: p.QueryHook(_GetPostContentByIds_TweetHelp), + GetUsersByIds: p.QueryHook(_GetUsersByIds_TweetHelp), } return } @@ -462,7 +632,40 @@ func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Twe c = context.Background() } obj = &TweetManage{} - if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetManage))); err != nil { + if obj.AddAttachment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddAttachment_TweetManage))); err != nil { + return + } + if obj.AddPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPost_TweetManage))); err != nil { + return + } + if obj.AddPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostCollection_TweetManage))); err != nil { + return + } + if obj.AddPostContent, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostContent_TweetManage))); err != nil { + return + } + if obj.AddPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddPostStar_TweetManage))); err != nil { + return + } + if obj.DelPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPost_TweetManage))); err != nil { + return + } + if obj.DelPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPostCollection_TweetManage))); err != nil { + return + } + if obj.DelPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_DelPostStar_TweetManage))); err != nil { + return + } + if obj.LockPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_LockPost_TweetManage))); err != nil { + return + } + if obj.StickPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_StickPost_TweetManage))); err != nil { + return + } + if obj.UpdatePost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdatePost_TweetManage))); err != nil { + return + } + if obj.VisiblePost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_VisiblePost_TweetManage))); err != nil { return } return @@ -489,8 +692,25 @@ func BuildUserManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *User } else { c = context.Background() } - obj = &UserManage{} - if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_UserManage))); err != nil { + obj = &UserManage{ + GetUsersByIds: p.QueryHook(_GetUsersByIds_UserManage), + } + if obj.AddUser, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AddUser_UserManage))); err != nil { + return + } + if obj.GetUserById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserById_UserManage))); err != nil { + return + } + if obj.GetUserByPhone, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserByPhone_UserManage))); err != nil { + return + } + if obj.GetUserByUsername, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUserByUsername_UserManage))); err != nil { + return + } + if obj.GetUsersByKeyword, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_GetUsersByKeyword_UserManage))); err != nil { + return + } + if obj.UpdateUser, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdateUser_UserManage))); err != nil { return } return diff --git a/internal/dao/sakila/yesql/yesql.sql b/internal/dao/sakila/yesql/yesql.sql index ae78b357..559a6b03 100644 --- a/internal/dao/sakila/yesql/yesql.sql +++ b/internal/dao/sakila/yesql/yesql.sql @@ -26,7 +26,27 @@ SELECT * FROM @user WHERE username=? -- contact_manager sql dml -------------------------------------------------------------------------------- --- name: user_info@contact_manager +-- name: requesting_friend@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_friend@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: reject_friend@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: del_friend@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_contacts@contact_manager +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: is_friend@contact_manager -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -114,7 +134,52 @@ SELECT * FROM @user WHERE username=? -- tweet sql dml -------------------------------------------------------------------------------- --- name: user_info@tweet +-- name: get_post_by_id@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_posts@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_post_count@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_star@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_stars@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_star_count@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_collection@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_collections@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_post_collection_count@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_post_attachment_bill@tweet +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_post_contetns_by_ids@tweet +-- prepare: raw +-- clause: in +SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?); + +-- name: get_post_content_by_id@tweet -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -122,7 +187,51 @@ SELECT * FROM @user WHERE username=? -- tweet_manage sql dml -------------------------------------------------------------------------------- --- name: user_info@tweet_manage +-- name: add_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: del_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: lock_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: stick_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: visible_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: update_post@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_post_star@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: del_post_star@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_post_collection@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: del_post_collection@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_post_content@tweet_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_attachment@tweet_manage -- prepare: stmt SELECT * FROM @user WHERE username=? @@ -130,8 +239,14 @@ SELECT * FROM @user WHERE username=? -- tweet_help sql dml -------------------------------------------------------------------------------- --- name: user_info@tweet_help --- prepare: stmt +-- name: get_post_content_by_ids@tweet_help +-- prepare: raw +-- clause: in +SELECT * FROM @user WHERE username=? + +-- name: get_users_by_ids@tweet_help +-- prepare: raw +-- clause: in SELECT * FROM @user WHERE username=? -------------------------------------------------------------------------------- @@ -142,6 +257,50 @@ SELECT * FROM @user WHERE username=? -- prepare: stmt SELECT * FROM @user WHERE username=? +-- name: tweet_info_by_id@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: tweet_item_by_id@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_tweets_by_admin@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_tweets_by_self@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_tweets_by_friend@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_tweets_by_guest@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: reaction_by_tweet_id@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_reactions@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: favorite_by_tweet_id@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: user_favorites@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: attachment_by_tweet_id@tweet_a +-- prepare: stmt +SELECT * FROM @user WHERE username=? + -------------------------------------------------------------------------------- -- tweet_manage_a sql dml -------------------------------------------------------------------------------- @@ -221,7 +380,32 @@ UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?); -- user_manage sql dml -------------------------------------------------------------------------------- --- name: user_info@user_manage +-- name: get_user_by_id@user_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_by_username@user_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_user_by_phone@user_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: get_users_by_ids@user_manage +-- prepare: raw +-- clause: in +SELECT * FROM @user WHERE username=? + +-- name: get_users_by_keyword@user_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: add_user@user_manage +-- prepare: stmt +SELECT * FROM @user WHERE username=? + +-- name: update_user@user_manage -- prepare: stmt SELECT * FROM @user WHERE username=? diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index b11c7bfb..c35c4617 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -12,7 +12,6 @@ import ( "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/pkg/convert" @@ -144,7 +143,7 @@ type UploadAttachmentResp struct { FileSize int64 `json:"file_size"` ImgWidth int `json:"img_width"` ImgHeight int `json:"img_height"` - Type cs.AttachmentType `json:"type"` + Type ms.AttachmentType `json:"type"` Content string `json:"content"` } diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index ee5c38d1..e4e04a20 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -29,7 +29,13 @@ import ( var ( _ api.Priv = (*privSrv)(nil) - _uploadAttachmentTypeMap = map[string]cs.AttachmentType{ + _uploadAttachmentTypeMap = map[string]ms.AttachmentType{ + "public/image": ms.AttachmentTypeImage, + "public/avatar": ms.AttachmentTypeImage, + "public/video": ms.AttachmentTypeVideo, + "attachment": ms.AttachmentTypeOther, + } + _uploadAttachmentTypes = map[string]cs.AttachmentType{ "public/image": cs.AttachmentTypeImage, "public/avatar": cs.AttachmentTypeImage, "public/video": cs.AttachmentTypeVideo, @@ -120,20 +126,20 @@ func (s *privSrv) UploadAttachment(req *web.UploadAttachmentReq) (*web.UploadAtt } // 构造附件Model - attachment := &cs.Attachment{ + attachment := &ms.Attachment{ UserID: req.Uid, FileSize: req.FileSize, Content: objectUrl, Type: _uploadAttachmentTypeMap[req.UploadType], } - if attachment.Type == cs.AttachmentTypeImage { + if attachment.Type == ms.AttachmentTypeImage { var src image.Image src, err = imaging.Decode(req.File) if err == nil { attachment.ImgWidth, attachment.ImgHeight = getImageSize(src.Bounds()) } } - attachment.ID, err = s.Dsa.CreateAttachment(attachment) + attachment.ID, err = s.Ds.CreateAttachment(attachment) if err != nil { logrus.Errorf("Ds.CreateAttachment err: %s", err) return nil, web.ErrFileUploadFailed